@charset "UTF-8";
/* START: VENDOR */
/**
 * Foundation for Sites by ZURB
 * Version 6.3.1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
@import url("https://052de2.claudeassets.com/20240125002332cs_/https://shaunaheron.com/wp-content/themes/porto2/theme-files/public/fonts/fontello/css/flo-icons.css");
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

/* Sections
       ========================================================================== */
/**
     * Remove the margin in all browsers (opinionated).
     */
body {
  margin: 0; }

/**
     * Add the correct display in IE 9-.
     */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

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

/* Grouping content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
figcaption,
figure {
  display: block; }

/**
     * Add the correct margin in IE 8.
     */
figure {
  margin: 1em 40px; }

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

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

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

/* Links
       ========================================================================== */
/**
     * 1. Remove the gray background on active links in IE 10.
     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
     */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
  outline-width: 0; }

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

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

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

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

/**
     * Add the correct background and color in IE 9-.
     */
mark {
  background-color: #ff0;
  color: #000; }

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

/**
     * Show the overflow in IE.
     */
button {
  overflow: visible; }

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

/**
     * 1. Prevent a 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 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

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

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

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */ }
  [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

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

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

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

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

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

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

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

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
canvas {
  display: inline-block; }

/**
     * Add the correct display in IE.
     */
template {
  display: none; }

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

.foundation-mq {
  font-family: "small=0em&medium=48em&large=64.0625em&xlarge=75em&xxlarge=90em"; }

html {
  box-sizing: border-box;
  font-size: 100%; }

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.row {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .row::before, .row::after {
    display: table;
    content: ' '; }
  .row::after {
    clear: both; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 48em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64.0625em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.gutter-small > .column, .row.gutter-small > .columns {
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
  .row.gutter-medium > .column, .row.gutter-medium > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }

.column, .columns {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 48em) {
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
  .column.end:last-child:last-child, .end.columns:last-child:last-child {
    float: left; }

.column.row.row, .row.row.columns {
  float: none; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  width: 8.33333%; }

.small-push-1 {
  position: relative;
  left: 8.33333%; }

.small-pull-1 {
  position: relative;
  left: -8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  width: 16.66667%; }

.small-push-2 {
  position: relative;
  left: 16.66667%; }

.small-pull-2 {
  position: relative;
  left: -16.66667%; }

.small-offset-1 {
  margin-left: 8.33333%; }

.small-3 {
  width: 25%; }

.small-push-3 {
  position: relative;
  left: 25%; }

.small-pull-3 {
  position: relative;
  left: -25%; }

.small-offset-2 {
  margin-left: 16.66667%; }

.small-4 {
  width: 33.33333%; }

.small-push-4 {
  position: relative;
  left: 33.33333%; }

.small-pull-4 {
  position: relative;
  left: -33.33333%; }

.small-offset-3 {
  margin-left: 25%; }

.small-5 {
  width: 41.66667%; }

.small-push-5 {
  position: relative;
  left: 41.66667%; }

.small-pull-5 {
  position: relative;
  left: -41.66667%; }

.small-offset-4 {
  margin-left: 33.33333%; }

.small-6 {
  width: 50%; }

.small-push-6 {
  position: relative;
  left: 50%; }

.small-pull-6 {
  position: relative;
  left: -50%; }

.small-offset-5 {
  margin-left: 41.66667%; }

.small-7 {
  width: 58.33333%; }

.small-push-7 {
  position: relative;
  left: 58.33333%; }

.small-pull-7 {
  position: relative;
  left: -58.33333%; }

.small-offset-6 {
  margin-left: 50%; }

.small-8 {
  width: 66.66667%; }

.small-push-8 {
  position: relative;
  left: 66.66667%; }

.small-pull-8 {
  position: relative;
  left: -66.66667%; }

.small-offset-7 {
  margin-left: 58.33333%; }

.small-9 {
  width: 75%; }

.small-push-9 {
  position: relative;
  left: 75%; }

.small-pull-9 {
  position: relative;
  left: -75%; }

.small-offset-8 {
  margin-left: 66.66667%; }

.small-10 {
  width: 83.33333%; }

.small-push-10 {
  position: relative;
  left: 83.33333%; }

.small-pull-10 {
  position: relative;
  left: -83.33333%; }

.small-offset-9 {
  margin-left: 75%; }

.small-11 {
  width: 91.66667%; }

.small-push-11 {
  position: relative;
  left: 91.66667%; }

.small-pull-11 {
  position: relative;
  left: -91.66667%; }

.small-offset-10 {
  margin-left: 83.33333%; }

.small-12 {
  width: 100%; }

.small-offset-11 {
  margin-left: 91.66667%; }

.small-up-1 > .column, .small-up-1 > .columns {
  float: left;
  width: 100%; }
  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
    float: left; }

.small-up-2 > .column, .small-up-2 > .columns {
  float: left;
  width: 50%; }
  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
    float: left; }

.small-up-3 > .column, .small-up-3 > .columns {
  float: left;
  width: 33.33333%; }
  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
    float: left; }

.small-up-4 > .column, .small-up-4 > .columns {
  float: left;
  width: 25%; }
  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
    float: left; }

.small-up-5 > .column, .small-up-5 > .columns {
  float: left;
  width: 20%; }
  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
    float: left; }

.small-up-6 > .column, .small-up-6 > .columns {
  float: left;
  width: 16.66667%; }
  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
    float: left; }

.small-up-7 > .column, .small-up-7 > .columns {
  float: left;
  width: 14.28571%; }
  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
    float: left; }

.small-up-8 > .column, .small-up-8 > .columns {
  float: left;
  width: 12.5%; }
  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
    float: left; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-collapse .row {
  margin-right: 0;
  margin-left: 0; }

.expanded.row .small-collapse.row {
  margin-right: 0;
  margin-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }

.small-centered {
  margin-right: auto;
  margin-left: auto; }
  .small-centered, .small-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }

.small-uncentered,
.small-push-0,
.small-pull-0 {
  position: static;
  float: left;
  margin-right: 0;
  margin-left: 0; }

@media print, screen and (min-width: 48em) {
  .medium-1 {
    width: 8.33333%; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%; }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%; }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    width: 25%; }
  .medium-push-3 {
    position: relative;
    left: 25%; }
  .medium-pull-3 {
    position: relative;
    left: -25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%; }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%; }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    width: 50%; }
  .medium-push-6 {
    position: relative;
    left: 50%; }
  .medium-pull-6 {
    position: relative;
    left: -50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%; }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%; }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    width: 75%; }
  .medium-push-9 {
    position: relative;
    left: 75%; }
  .medium-pull-9 {
    position: relative;
    left: -75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%; }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%; }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    float: left;
    width: 100%; }
    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
      float: left; }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    float: left;
    width: 50%; }
    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
      float: left; }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
      float: left; }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    float: left;
    width: 25%; }
    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
      float: left; }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    float: left;
    width: 20%; }
    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
      float: left; }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
      float: left; }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
      float: left; }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
      float: left; }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .medium-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .medium-centered {
    margin-right: auto;
    margin-left: auto; }
    .medium-centered, .medium-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .medium-uncentered,
  .medium-push-0,
  .medium-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

@media print, screen and (min-width: 64.0625em) {
  .large-1 {
    width: 8.33333%; }
  .large-push-1 {
    position: relative;
    left: 8.33333%; }
  .large-pull-1 {
    position: relative;
    left: -8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    width: 16.66667%; }
  .large-push-2 {
    position: relative;
    left: 16.66667%; }
  .large-pull-2 {
    position: relative;
    left: -16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    width: 25%; }
  .large-push-3 {
    position: relative;
    left: 25%; }
  .large-pull-3 {
    position: relative;
    left: -25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    width: 33.33333%; }
  .large-push-4 {
    position: relative;
    left: 33.33333%; }
  .large-pull-4 {
    position: relative;
    left: -33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    width: 41.66667%; }
  .large-push-5 {
    position: relative;
    left: 41.66667%; }
  .large-pull-5 {
    position: relative;
    left: -41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    width: 50%; }
  .large-push-6 {
    position: relative;
    left: 50%; }
  .large-pull-6 {
    position: relative;
    left: -50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    width: 58.33333%; }
  .large-push-7 {
    position: relative;
    left: 58.33333%; }
  .large-pull-7 {
    position: relative;
    left: -58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    width: 66.66667%; }
  .large-push-8 {
    position: relative;
    left: 66.66667%; }
  .large-pull-8 {
    position: relative;
    left: -66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    width: 75%; }
  .large-push-9 {
    position: relative;
    left: 75%; }
  .large-pull-9 {
    position: relative;
    left: -75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    width: 83.33333%; }
  .large-push-10 {
    position: relative;
    left: 83.33333%; }
  .large-pull-10 {
    position: relative;
    left: -83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    width: 91.66667%; }
  .large-push-11 {
    position: relative;
    left: 91.66667%; }
  .large-pull-11 {
    position: relative;
    left: -91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 > .column, .large-up-1 > .columns {
    float: left;
    width: 100%; }
    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
      float: left; }
  .large-up-2 > .column, .large-up-2 > .columns {
    float: left;
    width: 50%; }
    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
      float: left; }
  .large-up-3 > .column, .large-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
      float: left; }
  .large-up-4 > .column, .large-up-4 > .columns {
    float: left;
    width: 25%; }
    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
      float: left; }
  .large-up-5 > .column, .large-up-5 > .columns {
    float: left;
    width: 20%; }
    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
      float: left; }
  .large-up-6 > .column, .large-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
      float: left; }
  .large-up-7 > .column, .large-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
      float: left; }
  .large-up-8 > .column, .large-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
      float: left; }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .large-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .large-centered {
    margin-right: auto;
    margin-left: auto; }
    .large-centered, .large-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .large-uncentered,
  .large-push-0,
  .large-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

.column-block {
  margin-bottom: 1.25rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 48em) {
    .column-block {
      margin-bottom: 1.875rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    line-height: 0;
    color: #cacaca; }

h1 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3 {
  font-size: 1.1875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 48em) {
  h1 {
    font-size: 3rem; }
  h2 {
    font-size: 2.5rem; }
  h3 {
    font-size: 1.9375rem; }
  h4 {
    font-size: 1.5625rem; }
  h5 {
    font-size: 1.25rem; }
  h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #1779ba;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1468a0; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 75rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0; }

ul,
ol,
dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6; }

li {
  font-size: inherit; }

ul {
  margin-left: 1.25rem;
  list-style-type: disc; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: "— "; }

abbr {
  border-bottom: 1px dotted #0a0a0a;
  color: #0a0a0a;
  cursor: help; }

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #0a0a0a; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #8a8a8a; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

.no-bullet {
  margin-left: 0;
  list-style: none; }

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

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

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

.text-justify {
  text-align: justify; }

@media print, screen and (min-width: 48em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 64.0625em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  color: #0a0a0a;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #cacaca; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #cacaca; }

input::placeholder,
textarea::placeholder {
  color: #cacaca; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0; }

input[type='search'] {
  box-sizing: border-box; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a; }

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap;
  display: table-cell;
  vertical-align: middle; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  width: 1%;
  height: 100%; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  height: 2.5rem; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  width: 1%;
  height: 100%; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: 2.5rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

.input-group .input-group-button {
  display: table-cell; }

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

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #cacaca; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem;
    background: #fefefe; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  line-height: normal;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='https://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #f9ecea; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

.is-invalid-label {
  color: #cc4b37; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #1779ba;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #14679e;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #1779ba;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #126195;
      color: #fefefe; }
  .button.secondary {
    background-color: #767676;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button.warning {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button.alert {
    background-color: #cc4b37;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.hollow {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #0c3d5d;
      color: #0c3d5d; }
    .button.hollow.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #1779ba;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #1779ba;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #767676;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #0a0a0a; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #0a0a0a; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #fefefe; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

.accordion {
  margin-left: 0;
  background: #fefefe;
  list-style-type: none; }

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #1779ba; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  background-color: #fefefe;
  color: #0a0a0a; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

.is-accordion-submenu-parent > a {
  position: relative; }
  .is-accordion-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

.is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  transform: rotate(180deg);
  transform-origin: 50% 50%; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #1779ba;
  color: #fefefe; }
  .badge.primary {
    background: #1779ba;
    color: #fefefe; }
  .badge.secondary {
    background: #767676;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' '; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #0a0a0a;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      top: 1px;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #cacaca; }
  .breadcrumbs a {
    color: #1779ba; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  font-size: 0; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' '; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded {
    margin-right: -1px; }
    .button-group.expanded::before, .button-group.expanded::after {
      display: none; }
    .button-group.expanded .button:first-child:last-child {
      width: 100%; }
    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
      display: inline-block;
      width: calc(50% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
      display: inline-block;
      width: calc(33.33333% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
      display: inline-block;
      width: calc(25% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
      display: inline-block;
      width: calc(20% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
      display: inline-block;
      width: calc(16.66667% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
        margin-right: -6px; }
  .button-group.primary .button {
    background-color: #1779ba;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #126195;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
    width: 100%; }
    .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
      margin-bottom: 0; }
  @media print, screen and (min-width: 48em) {
    .button-group.stacked-for-small .button {
      width: auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64.0625em) {
    .button-group.stacked-for-medium .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 47.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #0a0a0a; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d7ecfa;
    color: #0a0a0a; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #0a0a0a; }
  .callout.success {
    background-color: #e1faea;
    color: #0a0a0a; }
  .callout.warning {
    background-color: #fff3d9;
    color: #0a0a0a; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #0a0a0a; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #fefefe;
  box-shadow: none;
  overflow: hidden;
  color: #0a0a0a; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  padding: 1rem;
  background: #e6e6e6; }
  .card-divider > :last-child {
    margin-bottom: 0; }

.card-section {
  padding: 1rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

.close-button {
  position: absolute;
  color: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1; }

.menu {
  margin: 0;
  list-style-type: none; }
  .menu > li {
    display: table-cell;
    vertical-align: middle; }
    [data-whatinput='mouse'] .menu > li {
      outline: 0; }
  .menu > li > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu > li > a img,
  .menu > li > a i,
  .menu > li > a svg {
    vertical-align: middle; }
    .menu > li > a img + span,
    .menu > li > a i + span,
    .menu > li > a svg + span {
      vertical-align: middle; }
  .menu > li > a img,
  .menu > li > a i,
  .menu > li > a svg {
    margin-right: 0.25rem;
    display: inline-block; }
  .menu > li, .menu.horizontal > li {
    display: table-cell; }
  .menu.expanded {
    display: table;
    width: 100%;
    table-layout: fixed; }
    .menu.expanded > li:first-child:last-child {
      width: 100%; }
  .menu.vertical > li {
    display: block; }
  @media print, screen and (min-width: 48em) {
    .menu.medium-horizontal > li {
      display: table-cell; }
    .menu.medium-expanded {
      display: table;
      width: 100%;
      table-layout: fixed; }
      .menu.medium-expanded > li:first-child:last-child {
        width: 100%; }
    .menu.medium-vertical > li {
      display: block; } }
  @media print, screen and (min-width: 64.0625em) {
    .menu.large-horizontal > li {
      display: table-cell; }
    .menu.large-expanded {
      display: table;
      width: 100%;
      table-layout: fixed; }
      .menu.large-expanded > li:first-child:last-child {
        width: 100%; }
    .menu.large-vertical > li {
      display: block; } }
  .menu.simple li {
    display: inline-block;
    vertical-align: top;
    line-height: 1; }
  .menu.simple a {
    padding: 0; }
  .menu.simple li {
    margin-left: 0;
    margin-right: 1rem; }
  .menu.simple.align-right li {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.align-right::before, .menu.align-right::after {
    display: table;
    content: ' '; }
  .menu.align-right::after {
    clear: both; }
  .menu.align-right > li {
    float: right; }
  .menu.icon-top > li > a {
    text-align: center; }
    .menu.icon-top > li > a img,
    .menu.icon-top > li > a i,
    .menu.icon-top > li > a svg {
      display: block;
      margin: 0 auto 0.25rem; }
  .menu.icon-top.vertical a > span {
    margin: auto; }
  .menu.nested {
    margin-left: 1rem; }
  .menu .active > a {
    background: #1779ba;
    color: #fefefe; }
  .menu.menu-bordered li {
    border: 1px solid #e6e6e6; }
    .menu.menu-bordered li:not(:first-child) {
      border-top: 0; }
  .menu.menu-hover li:hover {
    background-color: #e6e6e6; }

.menu-text {
  padding-top: 0;
  padding-bottom: 0;
  padding: 0.7rem 1rem;
  font-weight: bold;
  line-height: 1;
  color: inherit; }

.menu-centered {
  text-align: center; }
  .menu-centered > .menu {
    display: inline-block;
    vertical-align: top; }

.no-js [data-responsive-menu] ul {
  display: none; }

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fefefe;
    box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
    content: ''; }
  .menu-icon:hover::after {
    background: #cacaca;
    box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #0a0a0a;
    box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #8a8a8a;
    box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    transition: height 0.5s; }

.is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  transition: transform 0.15s linear; }
  .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    transform: translateX(-100%); }
  .is-drilldown-submenu.is-closing {
    transform: translateX(100%); }

.drilldown-submenu-cover-previous {
  min-height: 100%; }

.is-drilldown-submenu-parent > a {
  position: relative; }
  .is-drilldown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba;
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem; }

.js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: block;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-size: 1rem; }
  .dropdown-pane.is-open {
    visibility: visible; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0; }

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #1779ba transparent transparent;
  right: 5px;
  margin-top: -3px; }

[data-whatinput='mouse'] .dropdown.menu a {
  outline: 0; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

.dropdown.menu.vertical > li > a::after {
  right: 14px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent; }

.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1779ba; }

@media print, screen and (min-width: 48em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

@media print, screen and (min-width: 64.0625em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    margin-top: -6px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #fefefe; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #1779ba;
  color: #fefefe; }
  .label.primary {
    background: #1779ba;
    color: #fefefe; }
  .label.secondary {
    background: #767676;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

.media-object {
  display: block;
  margin-bottom: 1rem; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 47.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      display: block; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  display: table-cell;
  vertical-align: top; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.middle {
    vertical-align: middle; }
  .media-object-section.bottom {
    vertical-align: bottom; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(254, 254, 254, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 1;
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-overlap {
    z-index: 10; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas.is-open {
    transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 1;
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 10; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas-absolute.is-open {
    transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  width: 250px;
  height: 100%;
  transform: translateX(-250px);
  overflow-y: auto; }
  .position-left.is-open ~ .off-canvas-content {
    transform: translateX(250px); }
  .position-left.is-transition-push::after {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 1px;
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
    content: " "; }
  .position-left.is-transition-overlap.is-open ~ .off-canvas-content {
    transform: none; }

.position-right {
  top: 0;
  right: 0;
  width: 250px;
  height: 100%;
  transform: translateX(250px);
  overflow-y: auto; }
  .position-right.is-open ~ .off-canvas-content {
    transform: translateX(-250px); }
  .position-right.is-transition-push::after {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 1px;
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
    content: " "; }
  .position-right.is-transition-overlap.is-open ~ .off-canvas-content {
    transform: none; }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  height: 250px;
  transform: translateY(-250px);
  overflow-x: auto; }
  .position-top.is-open ~ .off-canvas-content {
    transform: translateY(250px); }
  .position-top.is-transition-push::after {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    width: 100%;
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
    content: " "; }
  .position-top.is-transition-overlap.is-open ~ .off-canvas-content {
    transform: none; }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 250px;
  transform: translateY(250px);
  overflow-x: auto; }
  .position-bottom.is-open ~ .off-canvas-content {
    transform: translateY(-250px); }
  .position-bottom.is-transition-push::after {
    position: absolute;
    top: 0;
    left: 0;
    height: 1px;
    width: 100%;
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
    content: " "; }
  .position-bottom.is-transition-overlap.is-open ~ .off-canvas-content {
    transform: none; }

.off-canvas-content {
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

@media print, screen and (min-width: 48em) {
  .position-left.reveal-for-medium {
    transform: none;
    z-index: 1; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    transform: none;
    z-index: 1; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    transform: none;
    z-index: 1; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    transform: none;
    z-index: 1; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 64.0625em) {
  .position-left.reveal-for-large {
    transform: none;
    z-index: 1; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    transform: none;
    z-index: 1; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-large {
    transform: none;
    z-index: 1; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-large {
    transform: none;
    z-index: 1; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 250px; } }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.orbit-slide {
  width: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(10, 10, 10, 0.5);
  color: #fefefe; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #cacaca; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' '; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 48em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #1779ba;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #0a0a0a; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab'; }

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb'; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #1779ba; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #1779ba; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #1779ba;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #14679e; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    transform: translateX(-50%); }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

body.is-reveal-open {
  overflow: hidden; }

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(10, 10, 10, 0.45);
  overflow-y: scroll; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 48em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns,
  .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 48em) {
    .reveal {
      width: 600px;
      max-width: 75rem; } }
  @media print, screen and (min-width: 48em) {
    .reveal .reveal {
      right: auto;
      left: auto;
      margin: 0 auto; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 48em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 48em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 48em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 47.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #fefefe;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #cacaca;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #fefefe;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #1779ba; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead, tbody, tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  thead {
    background: #f8f8f8;
    color: #0a0a0a; }
  tfoot {
    background: #f1f1f1;
    color: #0a0a0a; }
  thead tr, tfoot tr {
    background: transparent; }
  thead th, thead td, tfoot th, tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  tbody th, tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f1f1f1; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f1f1f1;
      background-color: #fefefe; }

@media screen and (max-width: 64em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: #f3f3f3; }

table.hover tfoot tr:hover {
  background-color: #ececec; }

table.hover tbody tr:hover {
  background-color: #f9f9f9; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ececec; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #fefefe;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' '; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #1779ba; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1673b1; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #1779ba; }
    .tabs-title > a:hover {
      background: #fefefe;
      color: #1468a0; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #1779ba; }

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #fefefe;
  color: #0a0a0a;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid #e6e6e6;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel[aria-hidden="false"] {
    display: block; }

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #fefefe;
  border-radius: 0;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  line-height: 0; }

a.thumbnail {
  transition: box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.title-bar {
  padding: 0.5rem;
  background: #0a0a0a;
  color: #fefefe; }
  .title-bar::before, .title-bar::after {
    display: table;
    content: ' '; }
  .title-bar::after {
    clear: both; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left {
  float: left; }

.title-bar-right {
  float: right;
  text-align: right; }

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #0a0a0a;
  font-size: 80%;
  color: #fefefe; }
  .tooltip::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #0a0a0a;
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0a0a0a transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a;
    top: 50%;
    bottom: auto;
    left: 100%;
    transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent;
    top: 50%;
    right: 100%;
    bottom: auto;
    left: auto;
    transform: translateY(-50%); }

.top-bar {
  padding: 0.5rem; }
  .top-bar::before, .top-bar::after {
    display: table;
    content: ' '; }
  .top-bar::after {
    clear: both; }
  .top-bar,
  .top-bar ul {
    background-color: #e6e6e6; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    width: 100%; }
  @media print, screen and (min-width: 48em) {
    .top-bar .top-bar-left,
    .top-bar .top-bar-right {
      width: auto; } }
  @media screen and (max-width: 64em) {
    .top-bar.stacked-for-medium .top-bar-left,
    .top-bar.stacked-for-medium .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-large .top-bar-left,
    .top-bar.stacked-for-large .top-bar-right {
      width: 100%; } }

.top-bar-title {
  display: inline-block;
  float: left;
  padding: 0.5rem 1rem 0.5rem 0; }
  .top-bar-title .menu-icon {
    bottom: 2px; }

.top-bar-left {
  float: left; }

.top-bar-right {
  float: right; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 47.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 48em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 48em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 47.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 48em) and (max-width: 64em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 47.9375em), screen and (min-width: 64.0625em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 64.0625em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 64em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 64.0625em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 64em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.float-center {
  display: block;
  margin-right: auto;
  margin-left: auto; }

.clearfix::before, .clearfix::after {
  display: table;
  content: ' '; }

.clearfix::after {
  clear: both; }

.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(-100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  transform: translateY(0); }

.slide-in-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(-100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  transform: translateX(0); }

.slide-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  transform: translateY(0); }

.slide-in-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  transform: translateX(0); }

.slide-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  transform: translateY(100%); }

.slide-out-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  transform: translateX(100%); }

.slide-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  transform: translateY(-100%); }

.slide-out-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  transform: translateX(-100%); }

.fade-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 0;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 1;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(-90deg);
  transform-origin: top;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(-90deg);
  transform-origin: right;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(90deg);
  transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(90deg);
  transform-origin: left;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(-90deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(-90deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: top;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: right;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: left;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(0.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(1.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(-0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  transition-duration: 750ms !important; }

.fast {
  transition-duration: 250ms !important; }

.linear {
  transition-timing-function: linear !important; }

.ease {
  transition-timing-function: ease !important; }

.ease-in {
  transition-timing-function: ease-in !important; }

.ease-out {
  transition-timing-function: ease-out !important; }

.ease-in-out {
  transition-timing-function: ease-in-out !important; }

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  transition-delay: 300ms !important; }

.long-delay {
  transition-delay: 700ms !important; }

/* END: VENDOR */
/* START: GLOBAL */
/* START: TEMPORARY */
/* END: TEMPORARY */
/* START: FLO ICONS */
body.flo-social-links-type-b {
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */ }
  body.flo-social-links-type-b .flo-icon-youtube:not(.flo-icon-original):before {
    content: 'YT'; }
  body.flo-social-links-type-b .flo-icon-flickr:not(.flo-icon-original):before {
    content: 'FK'; }
  body.flo-social-links-type-b .flo-icon-vimeo:not(.flo-icon-original):before {
    content: 'VI'; }
  body.flo-social-links-type-b .flo-icon-twitter:not(.flo-icon-original):before {
    content: 'TW'; }
  body.flo-social-links-type-b .flo-icon-facebook:not(.flo-icon-original):before {
    content: 'FB'; }
  body.flo-social-links-type-b .flo-icon-gplus:not(.flo-icon-original):before {
    content: 'GP'; }
  body.flo-social-links-type-b .flo-icon-pinterest:not(.flo-icon-original):before {
    content: 'PI'; }
  body.flo-social-links-type-b .flo-icon-tumblr:not(.flo-icon-original):before {
    content: 'TM'; }
  body.flo-social-links-type-b .flo-icon-linkedin:not(.flo-icon-original):before {
    content: 'LK'; }
  body.flo-social-links-type-b .flo-icon-dribbble:not(.flo-icon-original):before {
    content: 'DB'; }
  body.flo-social-links-type-b .flo-icon-instagram:not(.flo-icon-original):before {
    content: 'IG'; }
  body.flo-social-links-type-b .flo-icon-yahoo:not(.flo-icon-original):before {
    content: 'YH'; }
  body.flo-social-links-type-b .flo-icon-delicious:not(.flo-icon-original):before {
    content: 'DE'; }
  body.flo-social-links-type-b .flo-icon-mail:not(.flo-icon-original):before {
    content: 'ML'; }

/* END: FLO ICONS */
/* START: COLORS */
/* END: COLORS */
/* START: WIDTH VARIABLES */
/* END: WIDTH VARIABLES */
/* START: MIXINS */
/* End: Transitions */
/* End: Transitions */
/* Start: Background image */
/* End: Background image */
/* Start: Box Sizing */
/* End: Box sizing */
.flo-global-clickable {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  outline: none; }
  .flo-global-clickable-with-animation {
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: transform 0.5s, color 0.5s, opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-global-clickable-with-animation:hover {
      transform: scale(1.05); }

/* START: Responsive Images For Background */
/* END: Responsive Images For Background */
/* END: MIXINS */
/* START: GLOBAL STYLES */
@media screen and (min-width: 48em) {
  html {
    font-size: 1.11111vw; } }

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

*:not(.flo-post) a:focus, *:not(.flo-post__styles) a:focus {
  color: #332F2F; }

*:not(.flo-post) .hover-block, *:not(.flo-post__styles) .hover-block {
  display: block; }
  *:not(.flo-post) .hover-block figure, *:not(.flo-post__styles) .hover-block figure {
    opacity: 1;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    *:not(.flo-post) .hover-block figure:hover, *:not(.flo-post__styles) .hover-block figure:hover {
      opacity: 0.6; }
  *:not(.flo-post) .hover-block:hover, *:not(.flo-post__styles) .hover-block:hover {
    color: inherit; }

*:not(.flo-post) ul, *:not(.flo-post__styles) ul {
  list-style: none;
  margin: 0;
  padding: 0; }

body {
  overflow-x: hidden;
  color: #332F2F;
  width: 100%;
  max-width: 100%;
  background: #ffffff; }

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

[class^="flo-icon-"]:before,
[class*=" flo-icon-"]:before {
  width: auto;
  height: auto; }

button {
  outline: none; }

a {
  color: inherit; }
  a:hover {
    color: inherit; }

p {
  line-height: inherit; }

figure {
  margin: 0; }

pre {
  white-space: initial; }

.row {
  max-width: initial;
  width: initial; }

@media screen and (min-width: 48em) {
  .row-flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

.column, .columns {
  padding: 0;
  float: none; }

.slick-initialized .slick-slide {
  outline: none; }

/* START: INPUTS */
input[type]:not([type="submit"]),
textarea {
  box-shadow: none;
  box-sizing: border-box;
  height: 100%;
  padding: 0.625rem 0.9375rem;
  margin-bottom: 0;
  border-bottom: 1px solid;
  background-color: transparent; }
  input[type]:not([type="submit"])::-webkit-input-placeholder,
  textarea::-webkit-input-placeholder {
    color: inherit; }
  input[type]:not([type="submit"]):-ms-input-placeholder,
  textarea:-ms-input-placeholder {
    color: inherit; }
  input[type]:not([type="submit"])::placeholder,
  textarea::placeholder {
    color: inherit; }
  input[type]:not([type="submit"]):focus, input[type]:not([type="submit"]):hover,
  textarea:focus,
  textarea:hover {
    box-shadow: none;
    background-color: transparent;
    border-bottom: 1px solid;
    border-width: 0 0 1px 0; }
  input[type]:not([type="submit"]).flo-no-styling,
  textarea.flo-no-styling {
    padding: 0;
    color: inherit; }
    input[type]:not([type="submit"]).flo-no-styling, input[type]:not([type="submit"]).flo-no-styling:hover, input[type]:not([type="submit"]).flo-no-styling:focus,
    textarea.flo-no-styling,
    textarea.flo-no-styling:hover,
    textarea.flo-no-styling:focus {
      background-color: transparent; }

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"] {
  border: 0;
  line-height: 1em !important; }

input[type='submit'] {
  border: 0;
  background: 0;
  outline: 0;
  padding: 0;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  transition: color 0.5s, letter-spacing 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

textarea {
  resize: none;
  border: 0;
  border-bottom: 1px solid; }

/* END: INPUTS */
/* START: BUTTONS */
.flo-button, .flo-block-slideshow-1__link--style-button,
input[type="submit"] {
  display: inline-block;
  text-align: center;
  min-width: 8.4375rem;
  padding: 0.375rem 2.5rem;
  transition: opacity 0.5s, background-color 0.5s, color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  min-height: 1.6875rem;
  cursor: pointer; }
  .flo-button:not(.flo-button--without-border), .flo-block-slideshow-1__link--style-button:not(.flo-button--without-border),
  input[type="submit"]:not(.flo-button--without-border) {
    border-width: 1px;
    border-style: solid; }

/* END: BUTTONS */
/* END: GLOBAL STYLES */
/* START: APPEAR ANIMATION */
@media screen and (min-width: 64.0625em) {
  /* START: APPEAR ANIMATION */
  body:not(.flo-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block,
  body:not(.flo-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear),
  body:not(.flo-appear-disabled):not(.single-gallery) .flo-post.with-appear > *,
  body:not(.flo-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear),
  body:not(.flo-appear-disabled):not(.single-gallery) .to-appear,
  body:not(.flo-appear-disabled):not(.single-gallery) .widget:not(:first-child) {
    opacity: 0;
    transform-origin: bottom;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    body:not(.flo-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:not(.visible),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):not(.visible),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:not(.visible),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):not(.visible),
    body:not(.flo-appear-disabled):not(.single-gallery) .to-appear:not(.visible),
    body:not(.flo-appear-disabled):not(.single-gallery) .widget:not(:first-child):not(.visible) {
      transform: translateY(7.5rem);
      opacity: 0; }
    body:not(.flo-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(1n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(1n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(1n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(1n),
    body:not(.flo-appear-disabled):not(.single-gallery) .to-appear:nth-child(1n),
    body:not(.flo-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(1n) {
      transition: opacity 1.25s, transform 0.5s, color 0.5s; }
    body:not(.flo-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(2n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(2n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(2n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(2n),
    body:not(.flo-appear-disabled):not(.single-gallery) .to-appear:nth-child(2n),
    body:not(.flo-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(2n) {
      transition: opacity 1.25s 0.1s, transform 0.5s 0.1s, color 0.5s; }
    body:not(.flo-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block.visible,
    body:not(.flo-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear).visible,
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-post.with-appear > *.visible,
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear).visible,
    body:not(.flo-appear-disabled):not(.single-gallery) .to-appear.visible,
    body:not(.flo-appear-disabled):not(.single-gallery) .widget:not(:first-child).visible {
      opacity: 1; }
  /* END: APPEAR ANIMATION */ }

@media screen and (min-width: 48em) and (max-width: 64em) {
  /* START: APPEAR ANIMATION */
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block,
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear),
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-post.with-appear > *,
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear),
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .to-appear,
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .widget:not(:first-child) {
    opacity: 0;
    transform-origin: bottom;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:not(.visible),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):not(.visible),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:not(.visible),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):not(.visible),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .to-appear:not(.visible),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .widget:not(:first-child):not(.visible) {
      transform: translateY(7.5rem);
      opacity: 0; }
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(1n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(1n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(1n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(1n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .to-appear:nth-child(1n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(1n) {
      transition: opacity 1.25s, transform 0.5s, color 0.5s; }
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(2n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(2n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(2n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(2n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .to-appear:nth-child(2n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(2n) {
      transition: opacity 1.25s 0.1s, transform 0.5s 0.1s, color 0.5s; }
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block.visible,
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear).visible,
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-post.with-appear > *.visible,
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear).visible,
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .to-appear.visible,
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .widget:not(:first-child).visible {
      opacity: 1; }
  /* END: APPEAR ANIMATION */ }

@media screen and (max-width: 47.9375em) {
  /* START: APPEAR ANIMATION */
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block,
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear),
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-post.with-appear > *,
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear),
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .to-appear,
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .widget:not(:first-child) {
    opacity: 0;
    transform-origin: bottom;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:not(.visible),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):not(.visible),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:not(.visible),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):not(.visible),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .to-appear:not(.visible),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .widget:not(:first-child):not(.visible) {
      transform: translateY(7.5rem);
      opacity: 0; }
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(1n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(1n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(1n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(1n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .to-appear:nth-child(1n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(1n) {
      transition: opacity 1.25s, transform 0.5s, color 0.5s; }
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(2n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(2n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(2n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(2n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .to-appear:nth-child(2n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(2n) {
      transition: opacity 1.25s 0.1s, transform 0.5s 0.1s, color 0.5s; }
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block.visible,
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear).visible,
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-post.with-appear > *.visible,
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear).visible,
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .to-appear.visible,
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .widget:not(:first-child).visible {
      opacity: 1; }
  /* END: APPEAR ANIMATION */ }

/* END: APPEAR ANIMATION */
/* START: Z-INDEX MAP */
.flo-page-has-sidebar__sidebar {
  z-index: 9; }

.flo-slider-arrow {
  z-index: 9; }

.flo-page-hero__logo {
  z-index: 11; }

.flo-header {
  z-index: 999999; }

.flo-page-about-type-a__featured-info {
  z-index: 9; }

/* END: Z-INDEX MAP */
body {
  opacity: 0;
  transition: opacity 0.25s ease-in; }
  body.flo-decoration-type--waves .flo-icon-quote-left:before {
    content: '\e810'; }
  body.flo-decoration-type--waves .flo-icon-quote-right:before {
    content: '\e803'; }
  body.flo-decoration-type--stars .flo-icon-quote-left:before {
    content: '\e821';
    font-size: 1.625rem; }
  body.flo-decoration-type--stars .flo-icon-quote-right:before {
    content: '\e822';
    font-size: 1.625rem; }
  body.flo-decoration-type--raindrops .flo-icon-quote-left:before {
    content: '\e820';
    font-size: 1.875rem; }
  body.flo-decoration-type--raindrops .flo-icon-quote-right:before {
    content: '\e820';
    font-size: 1.875rem; }
  body.flo-decoration-type--wind .flo-icon-quote-left:before {
    content: '\e823';
    font-size: 1.875rem; }
  body.flo-decoration-type--wind .flo-icon-quote-right:before {
    content: '\e824';
    font-size: 1.875rem; }

.overflow-hide {
  overflow-y: hidden; }

/* END: HTML OVERFLOW FOR SAFARI FIX */
/* START: FIX ROWS IN SAFARI */
.row:before {
  width: 0; }

/* END: FIX ROWS IN SAFARI */
/* END: GLOBAL */
/* START: COMPONENTS (KEEP THIS ONE AT THE BOTTOM ALL THE TIME) */
.comments-block {
  padding-top: 5.3125rem; }
  .comments-block .flo-icon-reply {
    font-size: 0.875rem; }
  .comments-block .parent .comment .comment-body {
    padding-left: 2.1875rem;
    padding-right: 2.1875rem; }
  .comments-block .parent .comment.depth-3 .comment-body {
    padding-left: 3.125rem; }
  .comments-block .parent .comment.depth-4 .comment-body {
    padding-left: 4.0625rem; }
  .comments-block .parent .comment.depth-5 .comment-body {
    padding-left: 5rem; }
  .comments-block .parent .comment.depth-5 .comment-body {
    padding-left: 5.9375rem; }
  .comments-block .comment-body {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    padding: 1.375rem 0; }
  .comments-block .comment-name-and-reply {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .comments-block .comment-avatar-and-name {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  .comments-block .flo-porto2-comments-block__reply {
    position: relative;
    margin: 0.625rem 0;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .comments-block .flo-porto2-comments-block__reply .comment-reply-link {
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      width: 100%; }
    .comments-block .flo-porto2-comments-block__reply:hover {
      color: #bbbbbb; }
  .comments-block .comment-block-content {
    display: -ms-flexbox;
    display: flex;
    padding-top: 0.625rem; }
  .comments-block .comment-meta {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    padding-top: 1.5rem; }
  .comments-block .comment-avatar {
    padding-right: 0.875rem; }
    .comments-block .comment-avatar img {
      border-radius: 50%;
      width: 2.25rem;
      margin: 0; }
  .comments-block .comment-respond {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
    .comments-block .comment-respond input:not([type="submit"]) {
      margin-bottom: 1.25rem; }
  .comments-block__top-bar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    padding-bottom: 1.5rem; }
  .comments-block__show {
    position: relative; }
  .comments-block__top-bar-hide-button .flo-icon {
    font-size: 0.5rem; }
  .comments-block__top-bar-show-button .flo-icon {
    font-size: 0.75rem; }
  .comments-block__top-bar-hide-button, .comments-block__top-bar-show-button, .comments-block__top-bar-toggle-button {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: start;
        justify-content: flex-start;
    transition: opacity 0.5s, visibility 0.5s, height 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .comments-block__top-bar-toggle-button {
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .comments-block__top-bar-toggle-button-label-wrap {
    position: relative; }
  .comments-block__top-bar-toggle-button-label {
    transition: opacity 0.5s, color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .comments-block__top-bar-toggle-button-label--hide {
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      opacity: 0; }
  .comments-block__top-bar-toggle-button-icon {
    margin-left: 0.78125rem;
    transform: rotate(180deg);
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .comments-block__collapsed {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 100%; }
  .comments-block__posts {
    transition: visibility 0.5s, opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .comments-block--expanded .comments-block__top-bar-show-button {
    opacity: 0;
    visibility: hidden;
    height: 0; }
  .comments-block--expanded .comments-block__top-bar-hide-button {
    opacity: 1;
    visibility: visible;
    height: inherit; }
  .comments-block--expanded .comments-block__top-bar-toggle-button-label--show {
    opacity: 0; }
  .comments-block--expanded .comments-block__top-bar-toggle-button-label--hide {
    opacity: 1; }
  .comments-block--collapsed .comments-block__top-bar-show-button {
    visibility: visible;
    opacity: 1; }
  .comments-block--collapsed .comments-block__top-bar-hide-button {
    visibility: hidden;
    opacity: 0; }
  .comments-block--collapsed .comments-block__top-bar-toggle-button-label--show {
    opacity: 1; }
  .comments-block--collapsed .comments-block__top-bar-toggle-button-label--hide {
    opacity: 0; }
  .comments-block--collapsed .comments-block__top-bar-toggle-button-icon {
    transform: rotate(0deg); }
  .comments-block__post-form {
    padding-top: 2.75rem;
    /* START: PARSLEY */
    /* END: PARSLEY */ }
    .comments-block__post-form .form-submit {
      padding-top: 3rem; }
    .comments-block__post-form .parsley-errors-list {
      display: block; }
    .comments-block__post-form .parsley-required {
      color: red;
      margin: 0.625rem 0; }
  .comments-block__form-title-area {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center; }
  .comments-block__form-title {
    padding-bottom: 2.25rem; }
  .comments-block__form-field {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 1.25rem; }
    .comments-block__form-field:last-of-type {
      margin-bottom: 0; }
  .comments-block .form-submit {
    padding-top: 3rem; }
  @media screen and (min-width: 48em) {
    .comments-block .comment-content {
      padding-top: 0.875rem; }
    .comments-block__form-field input[type]:not([type="submit"]) {
      margin-right: 5.625rem; }
      .comments-block__form-field input[type]:not([type="submit"]):last-child {
        margin-right: 0; } }
  @media screen and (max-width: 47.9375em) {
    .comments-block .comment-block-content {
      -ms-flex-direction: column;
          flex-direction: column; }
    .comments-block__form-field {
      -ms-flex-direction: column;
          flex-direction: column; }
      .comments-block__form-field input[type]:not([type="submit"]) {
        margin-bottom: 2.1875rem; }
        .comments-block__form-field input[type]:not([type="submit"]):last-of-type {
          margin-bottom: 0; }
    .comments-block__post-form {
      padding-left: 1.25rem;
      padding-right: 1.25rem; } }

.comment-reply-title {
  text-align: center; }
  .comment-reply-title .flo-icon-close {
    padding-right: 0.625rem;
    font-size: 0.875rem; }

.comments-pagination h2.screen-reader-text {
  display: none; }

.comments-pagination .nav-links {
  text-align: center; }

.comments-pagination .page-numbers.prev .screen-reader-text, .comments-pagination .page-numbers.next .screen-reader-text {
  display: none; }

.comments-pagination .page-numbers.prev {
  float: left; }

.comments-pagination .page-numbers.next {
  float: right; }

.flo-block {
  max-width: 100%;
  position: relative; }
  .flo-block--merged-with-header {
    padding-top: 0 !important; }
  .flo-block--full-width {
    padding-left: 0;
    padding-right: 0; }
  .flo-block--no-padding {
    padding: 0 !important; }
  .flo-block--not-found {
    margin-bottom: 3.75rem; }
  .flo-block--hidden {
    display: none; }
  .flo-block__header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999; }
  .flo-block__container:after {
    content: '';
    clear: both;
    display: block; }
  .flo-block:last-child {
    padding-bottom: 0; }
  @media screen and (min-width: 48em) {
    .flo-block {
      padding: 3.125rem 6.375rem; }
      .flo-block__container {
        margin: 0 auto;
        position: relative; }
      .flo-block--no-top-padding {
        padding-top: 0;
        padding-bottom: 0; }
      .flo-block--full-width {
        padding-right: 0;
        padding-left: 0; }
      .flo-block--medium-width .flo-block__container {
        max-width: 47.5rem;
        padding-left: 1.25rem;
        padding-right: 1.25rem; }
      .flo-block--header-hidden-on-desktop .flo-block__header {
        display: none; }
      .flo-block:first-child {
        padding-top: 0; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block {
      padding: 1.875rem 0; }
      .flo-block:not(.flo-block--full-width) {
        padding: 1.875rem 2.03125rem; }
      .flo-block.flo-block-mobile--no-vertical-padding {
        padding: 0; }
      .flo-block:first-child {
        padding-top: 0; } }

.flo-form input[type] {
  margin: 0; }

.flo-form__field {
  margin-bottom: 1.46875rem; }
  .flo-form__field:last-of-type {
    margin-bottom: 0; }

.flo-form input[type="submit"] {
  margin-top: 2.5rem; }

.flo-modal {
  position: fixed;
  z-index: 9;
  background: rgba(255, 255, 255, 0.5);
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  display: none; }
  .flo-modal .thx-msg {
    width: 300px;
    height: 200px;
    text-align: center;
    padding: 20px;
    vertical-align: middle;
    margin: 0 auto;
    top: 50%;
    margin-top: -180px;
    position: absolute;
    left: 50%;
    margin-left: -170px;
    background-color: #fff;
    border: 2px solid #e5e5e5; }

.contact-response p {
  border-radius: 0.78125rem;
  border: 2px dashed #f9f9f9;
  padding: 0.9375rem;
  margin-top: 0.9375rem;
  color: #dddcdb; }

*[data-lqip-src] {
  transition: filter 0.5s, background-image 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  *[data-lqip-src]:not(.flo-lqip--original-loaded) {
    filter: blur(40px); }

.flo-page-head {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
      align-items: stretch;
  -ms-flex-pack: justify;
      justify-content: space-between;
  width: calc(100% - 5rem);
  margin: 0 auto; }
  .flo-page-head--with-border {
    border-bottom: 1px solid #bbbbbb; }
  .flo-page-head__dropdown {
    visibility: hidden; }
    .flo-page-head__dropdown .flo-dropdown-menu {
      height: 100%; }
  .flo-page-head--has-dropdown-menu .flo-page-head__dropdown {
    visibility: visible; }
  .flo-page-head__decoration-image {
    display: inline-block;
    max-width: 5.55rem;
    margin-bottom: 1.25rem; }
  .flo-page-head__title {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    font-size: 0.9375rem;
    letter-spacing: 1em;
    text-transform: uppercase;
    text-align: center; }
  @media screen and (min-width: 48em) {
    .flo-page-head__title {
      width: 60%;
      padding: 2.6875rem 0; }
    .flo-page-head__left-side {
      width: 20%; }
    .flo-page-head__dropdown {
      width: 20%; }
    .flo-page-head .flo-dropdown-menu__btn {
      margin-left: auto; } }
  @media screen and (max-width: 47.9375em) {
    .flo-page-head {
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      width: calc(100% - 3.75rem);
      padding-top: 2.6875rem;
      margin-bottom: 2.5rem; }
      .flo-page-head .flo-dropdown-menu__btn {
        padding: 1.4375rem 0 2.6875rem; } }

.flo-share-rollover {
  position: relative;
  display: inline-block; }
  .flo-share-rollover__trigger {
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-share-rollover__share-wrap {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    display: -ms-inline-flexbox;
    display: inline-flex; }
    .flo-share-rollover__share-wrap a {
      margin: 0 0.4375rem;
      font-size: 0.6875rem;
      transition: color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-share-rollover.visible .flo-share-rollover__trigger {
    opacity: 0;
    pointer-events: none; }
  .flo-share-rollover.visible .flo-share-rollover__share-wrap {
    opacity: 1;
    pointer-events: initial; }

.slick-slider .slick-track,
.slick-slider .slick-list,
.slick-slider .slick-slide,
.slick-slider a {
  outline: none !important;
  box-shadow: none !important; }

.slick-arrow {
  transition: color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  cursor: pointer; }

.flo-video-embed-dummy {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; }
  .flo-video-embed-dummy__video-button {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center;
    z-index: 100;
    width: 4.375rem;
    height: 4.375rem;
    border-radius: 4.375rem;
    font-size: 0.6875rem;
    color: #ffffff;
    border: 1px solid #ffffff;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    transition: color 0.5s, top 0.5s, opacity 0.5s, border 0.5s, transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-video-embed-dummy__video-button:hover {
      opacity: 0.4; }
  .flo-video-embed-dummy__video-button-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-video-embed-dummy__video-button-icon--play {
      opacity: 1; }
  @media screen and (max-width: 47.9375em) {
    .flo-video-embed-dummy__video-button {
      width: 3rem;
      height: 3rem;
      border-radius: 3rem;
      font-size: 0.71886rem; } }

.flo-video-embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; }
  .flo-video-embed__screen {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-video-embed__screen iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  .flo-video-embed__video-button {
    pointer-events: initial;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center;
    z-index: 100;
    width: 4.375rem;
    height: 4.375rem;
    border-radius: 4.375rem;
    font-size: 0.6875rem;
    color: #ffffff;
    border: 1px solid #ffffff;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    transition: color 0.5s, top 0.5s, opacity 0.5s, border 0.5s, transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-video-embed__video-button:hover {
      opacity: 0.4; }
  .flo-video-embed__video-button-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-video-embed__video-button-icon--play {
      opacity: 0; }
    .flo-video-embed__video-button-icon--stop {
      opacity: 0; }
  .flo-video-embed:not(.flo-video-embed--loaded) .flo-video-embed__screen {
    opacity: 0;
    pointer-events: none; }
  .flo-video-embed:not(.flo-video-embed--loaded) .flo-video-embed__video-button {
    top: 50%; }
  .flo-video-embed:not(.flo-video-embed--loaded) .flo-video-embed__video-button-icon--play {
    opacity: 1; }
  .flo-video-embed--loaded .flo-video-embed__screen {
    opacity: 1;
    pointer-events: initial; }
  .flo-video-embed--loaded .flo-video-embed__video-button {
    top: 6.25rem; }
  .flo-video-embed--loaded .flo-video-embed__video-button-icon--stop {
    opacity: 1; }
  .flo-video-embed--loaded:not(:hover) .flo-video-embed__video-button {
    opacity: 0; }
  @media screen and (max-width: 47.9375em) {
    .flo-video-embed__video-button {
      width: 3rem;
      height: 3rem;
      border-radius: 3rem;
      font-size: 0.5625rem; } }

.flo-social-links-type-a .flo-social-links__link {
  font-size: 0.75rem; }

.flo-social-links-type-b .flo-social-links__link:before {
  line-height: 1em !important; }
  .flo-social-links-type-b .flo-social-links__link:before:not(:last-child) {
    margin-right: 1.125rem; }

.flo-block-button {
  text-align: center; }

.flo-block-category-switcher {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .flo-block-category-switcher__category {
    padding: 0.5rem 0.6875rem;
    border-bottom: 1px solid;
    border-color: transparent;
    transition: border-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (min-width: 48em) {
    .flo-block-category-switcher {
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-category-switcher {
      -ms-flex-align: center;
          align-items: center;
      text-align: center; }
      .flo-block-category-switcher__category {
        width: 50%; }
        .flo-block-category-switcher__category:first-child {
          width: 100%; } }

.flo-block-comments__fb_comments {
  text-align: center; }

.flo-block-comments__fb_comments .flo-block-comments__title {
  width: 100%; }

.flo-block-comments__comment {
  margin-bottom: 2.3125rem; }

.flo-block-comments__comment-avatar {
  height: 3.125rem;
  border-radius: 3.125rem;
  overflow: hidden;
  margin-bottom: 1.0625rem; }
  .flo-block-comments__comment-avatar,
  .flo-block-comments__comment-avatar img {
    width: 3.125rem; }
  .flo-block-comments__comment-avatar img {
    display: inline-block; }

.flo-block-comments__comment-author {
  margin-bottom: 1.0625rem; }

.flo-block-comments__comment-date:before {
  content: "/";
  display: inline-block;
  margin-right: 0.5em; }

.flo-block-comments__form {
  padding-top: 2.375rem; }

.flo-block-comments__form-field-wrap {
  position: relative; }
  .flo-block-comments__form-field-wrap--big .flo-block-comments__form-field + .flo-block-comments__form-field-label,
  .flo-block-comments__form-field-wrap--big .flo-block-comments__form-field + ul + .flo-block-comments__form-field-label {
    top: 0; }
  .flo-block-comments__form-field-wrap--small .flo-block-comments__form-field + .flo-block-comments__form-field-label,
  .flo-block-comments__form-field-wrap--small .flo-block-comments__form-field + ul + .flo-block-comments__form-field-label {
    top: 50%;
    transform: translateY(-50%); }

.flo-block-comments__form-field {
  color: inherit;
  border-color: inherit;
  padding: 0.625rem 0 !important; }
  .flo-block-comments__form-field:focus + .flo-block-comments__form-field-label,
  .flo-block-comments__form-field:focus + ul + .flo-block-comments__form-field-label, .flo-block-comments__form-field:not(.empty) + .flo-block-comments__form-field-label,
  .flo-block-comments__form-field:not(.empty) + ul + .flo-block-comments__form-field-label {
    top: 0;
    transform: translateY(-100%); }

.flo-block-comments__form-field-label {
  color: inherit;
  position: absolute;
  left: 0;
  pointer-events: none;
  transition: top 0.5s, transform 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@media screen and (min-width: 48em) {
  .flo-block-comments {
    padding: 3.125rem 13.8125rem; }
    .flo-block-comments__list-wrap {
      display: -ms-flexbox;
      display: flex; }
    .flo-block-comments__title {
      width: 22.62%;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-block-comments__list {
      width: 77.38%;
      margin-bottom: 5.4375rem; }
    .flo-block-comments__comment {
      display: -ms-flexbox;
      display: flex; }
    .comment .comment .flo-block-comments__comment {
      padding: 3.25rem 2.375rem; }
    .flo-block-comments__comment-left-wrap {
      width: 11.25rem;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      padding-right: 1.25rem; }
    .flo-block-comments__form-wrap {
      display: -ms-flexbox;
      display: flex; }
    .flo-block-comments__form-title {
      width: 22.62%; }
    .flo-block-comments .comment-respond {
      width: 77.38%;
      margin-top: 0.625rem; }
    .flo-block-comments__form {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .flo-block-comments__form-field-wrap--small {
      width: 27.8%;
      margin-bottom: 2.5625rem !important; }
      .flo-block-comments__form-field-wrap--small:not(:nth-child(3)) {
        margin-right: 3.96875rem; }
    .flo-block-comments__form-field-wrap--big {
      width: calc(55.6% + 3.96875rem);
      margin-bottom: 4.1875rem; }
    .flo-block-comments__list .comment-respond {
      width: 100%;
      margin-bottom: 6.25rem; }
      .flo-block-comments__list .comment-respond .flo-block-comments__form-field-wrap {
        width: 100%;
        margin-bottom: 2.5rem !important; }
      .flo-block-comments__list .comment-respond .flo-block-comments__form-field {
        display: block; }
        .flo-block-comments__list .comment-respond .flo-block-comments__form-field--small, .flo-block-comments__list .comment-respond .flo-block-comments__form-field--big {
          width: 100%; }
    .flo-block-comments .form-submit {
      width: 100%; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-comments {
    padding: 1.875rem 2.03125rem; }
    .flo-block-comments__title {
      text-align: center;
      margin-bottom: 1.875rem; }
    .flo-block-comments .comment .comment .flo-block-comments__comment {
      padding: 1.25rem 1.25rem; }
    .flo-block-comments__comment-left-wrap {
      margin-bottom: 1.25rem; }
    .flo-block-comments__form-title {
      text-align: center;
      margin-bottom: 0.625rem; }
    .flo-block-comments__form-field-wrap {
      margin-bottom: 2.5625rem !important; } }

.flo-block-contact-block-1 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-contact-block-1__text-section {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    text-align: center;
    width: 50%; }
  .flo-block-contact-block-1__title-wrap {
    position: relative; }
  .flo-block-contact-block-1__title-decorative-letter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }
  .flo-block-contact-block-1__text-description:not(:last-child) {
    margin-bottom: 0.5rem; }
  .flo-block-contact-block-1__form-section {
    width: 50%;
    text-align: center; }
    .flo-block-contact-block-1__form-section--custom form {
      width: 100%; }
    .flo-block-contact-block-1__form-section--custom input[type]:not([type="submit"]), .flo-block-contact-block-1__form-section--custom textarea {
      border-top: 0 !important;
      border-left: 0 !important;
      border-right: 0 !important;
      border-bottom: 1px solid !important;
      text-align: center; }
    .flo-block-contact-block-1__form-section--custom .app-flo-forms input[type]:not([type="submit"]) {
      height: auto; }
    .flo-block-contact-block-1__form-section--custom .error {
      margin-top: 0.3125rem;
      color: red !important; }
    .flo-block-contact-block-1__form-section--custom label {
      line-height: 1em; }
  .flo-block-contact-block-1__form-field {
    border-bottom: 1px solid !important; }
    .flo-block-contact-block-1__form-field:not(:last-child) {
      margin-bottom: 1.25rem !important; }
    .flo-block-contact-block-1__form-field input,
    .flo-block-contact-block-1__form-field label,
    .flo-block-contact-block-1__form-field textarea {
      text-align: center;
      border: 0 !important; }
    .flo-block-contact-block-1__form-field label {
      line-height: 1em; }
  .flo-block-contact-block-1__form-submit {
    padding: 1.125rem 3.875rem 0.8125rem 3.625rem !important;
    line-height: 1em !important;
    min-height: 2.625rem; }
  @media screen and (min-width: 48em) {
    .flo-block-contact-block-1__text-section {
      padding: 0 2rem; }
    .flo-block-contact-block-1__decorative-icon {
      margin-bottom: 4.6875rem; }
    .flo-block-contact-block-1__title-wrap {
      margin-bottom: 3.125rem; }
    .flo-block-contact-block-1__subtitle {
      margin-bottom: 5rem; }
    .flo-block-contact-block-1__text-description:last-child {
      margin-bottom: 0; }
    .flo-block-contact-block-1__form-section {
      padding: 6.25rem 8.1875rem; }
    .flo-block-contact-block-1__form-submit {
      margin-top: 3.125rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-contact-block-1 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-contact-block-1__text-section {
        width: 100%;
        padding: 1.875rem 2.03125rem; }
      .flo-block-contact-block-1__decorative-icon {
        margin-bottom: 2.1875rem; }
      .flo-block-contact-block-1__title-wrap {
        margin-bottom: 1.5625rem; }
      .flo-block-contact-block-1__subtitle {
        margin-bottom: 2.5rem; }
      .flo-block-contact-block-1__form-section {
        width: 100%;
        padding: 1.875rem 2.03125rem; }
      .flo-block-contact-block-1__form-submit {
        margin-top: 1.5625rem; } }

.flo-block-contact-block-2 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column; }
  .flo-block-contact-block-2__title-section {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: start;
        justify-content: flex-start;
    text-align: center;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
    .flo-block-contact-block-2__title-section .flo-header__search-form .flo-header__search-form-input {
      color: inherit !important; }
  .flo-block-contact-block-2__header-area {
    width: 100%; }
    .flo-block-contact-block-2__header-area header:not(.is-sticky) .flo-header {
      color: inherit !important;
      border-color: inherit !important;
      background-color: transparent !important; }
  .flo-block-contact-block-2__form-section {
    width: 100%; }
    .flo-block-contact-block-2__form-section--custom {
      text-align: center; }
      .flo-block-contact-block-2__form-section--custom form {
        width: 100%; }
      .flo-block-contact-block-2__form-section--custom .app-flo-forms input[type]:not([type="submit"]) {
        height: auto; }
      .flo-block-contact-block-2__form-section--custom input[type]:not([type="submit"]), .flo-block-contact-block-2__form-section--custom textarea {
        border-top: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid !important;
        text-align: center; }
      .flo-block-contact-block-2__form-section--custom .error {
        margin-top: 0.3125rem;
        color: red !important; }
  .flo-block-contact-block-2__fields-wrap {
    display: -ms-flexbox;
    display: flex; }
  .flo-block-contact-block-2__form-field {
    border-bottom: 1px solid !important;
    position: relative; }
    .flo-block-contact-block-2__form-field:not(:last-child) {
      margin-bottom: 1.25rem !important; }
    .flo-block-contact-block-2__form-field input,
    .flo-block-contact-block-2__form-field label,
    .flo-block-contact-block-2__form-field textarea {
      display: block;
      text-align: center;
      border: 0 !important; }
  .flo-block-contact-block-2__form-submit {
    padding: 1.125rem 3.875rem 0.8125rem 3.625rem !important;
    line-height: 1em !important;
    min-height: 2.625rem; }
  @media screen and (min-width: 48em) {
    .flo-block-contact-block-2--header-is-visible .flo-block-contact-block-2__title {
      padding-bottom: 13.3125rem; }
    .flo-block-contact-block-2:not(.flo-block-contact-block-2--header-is-visible) .flo-block-contact-block-2__title-section {
      -ms-flex-pack: center;
          justify-content: center; }
    .flo-block-contact-block-2__title {
      padding: 0 14rem; }
    .flo-block-contact-block-2__form-section {
      width: calc(100% - 28rem);
      margin: 0 14rem;
      padding: 4.8125rem 3.75rem 5.0625rem 3.75rem;
      margin-top: -7.0625rem; }
      .flo-block-contact-block-2__form-section--custom .left_column {
        width: 50%;
        padding-right: 2.03125rem; }
      .flo-block-contact-block-2__form-section--custom .right_column {
        width: 50%;
        padding-left: 2.03125rem; }
    .flo-block-contact-block-2__form-description {
      margin-bottom: 6.25rem;
      padding: 0 11.625rem; }
    .flo-block-contact-block-2__column {
      width: calc(50% -  4.0625rem);
      display: -ms-flexbox;
      display: flex;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: stretch;
          align-items: stretch;
      text-align: center; }
      .flo-block-contact-block-2__column--left {
        padding-right: 2.03125rem; }
      .flo-block-contact-block-2__column--right {
        padding-left: 2.03125rem; }
        .flo-block-contact-block-2__column--right .flo-block-contact-block-2__form-field {
          height: 100%; }
    .flo-block-contact-block-2__form-submit {
      margin: 5.0625rem auto 0 auto;
      display: block; }
    .flo-block-contact-block-2__contact-info {
      width: calc(100% - 28rem);
      margin: 0 14rem;
      padding-top: 3.125rem;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center; }
    .flo-block-contact-block-2__contact-details {
      width: 50%;
      padding-right: 1.5625rem;
      text-align: right;
      position: relative; }
      .flo-block-contact-block-2__contact-details:after {
        content: "|";
        position: absolute;
        right: 0; }
    .flo-block-contact-block-2__contact-email {
      width: 50%;
      padding-left: 1.5625rem;
      text-align: left; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-contact-block-2__title {
      margin: auto; }
    .flo-block-contact-block-2__form-section {
      width: 100%;
      padding: 1.875rem 2.03125rem; }
    .flo-block-contact-block-2__fields-wrap {
      -ms-flex-direction: column;
          flex-direction: column; }
    .flo-block-contact-block-2__form-field, .flo-block-contact-block-2 input, .flo-block-contact-block-2 textarea {
      margin-bottom: 1.25rem !important; }
    .flo-block-contact-block-2__form-submit {
      margin: 1.875rem auto 1.875rem auto;
      display: block; }
    .flo-block-contact-block-2__contact-info {
      margin: 2.03125rem auto 0 auto;
      text-align: center; }
    .flo-block-contact-block-2__contact-details:after {
      content: "|";
      display: block;
      margin: 1.25rem auto; } }
  .flo-block-contact-block-2__title-section {
    background-image: url(https://42fccb.claudeassets.com/20240125002332im_/https://shaunaheron.com/wp-content/themes/porto2/theme-files/public/img/no-image.jpg);
    background-image: var(--img-small); }
  @media (min-width: 768px) {
    .flo-block-contact-block-2__title-section {
      background-image: var(--img-medium); } }
  @media (min-width: 1025px) {
    .flo-block-contact-block-2__title-section {
      background-image: var(--img-large); } }

.flo-block-contact-block-3__form-section--custom {
  text-align: center; }
  .flo-block-contact-block-3__form-section--custom form {
    width: 100%; }
  .flo-block-contact-block-3__form-section--custom .app-flo-forms input[type]:not([type="submit"]) {
    height: auto; }
  .flo-block-contact-block-3__form-section--custom input[type]:not([type="submit"]),
  .flo-block-contact-block-3__form-section--custom textarea {
    text-align: center; }
  .flo-block-contact-block-3__form-section--custom .error {
    margin-top: 0.3125rem;
    color: red !important; }

.flo-block-contact-block-3__form-field {
  position: relative; }
  .flo-block-contact-block-3__form-field:not(:last-child) {
    margin-bottom: 1.25rem !important; }
  .flo-block-contact-block-3__form-field label, .flo-block-contact-block-3__form-field input, .flo-block-contact-block-3__form-field textarea {
    display: block;
    text-align: center; }

.flo-block-contact-block-3__form-submit {
  padding: 1.125rem 3.875rem 0.8125rem 3.625rem !important;
  line-height: 1em !important;
  min-height: 2.625rem; }

.flo-block-contact-block-3__contact-details {
  margin-bottom: 0.625rem; }

@media screen and (min-width: 48em) {
  .flo-block-contact-block-3__form-section {
    width: calc(100% - 45.75rem);
    margin: 0 22.875rem;
    padding: 4rem 9.5625rem 4rem 9.5625rem; }
  .flo-block-contact-block-3__form-submit {
    margin: 2.5rem auto 0 auto;
    display: block; }
  .flo-block-contact-block-3__contact-info {
    width: calc(100% - 28rem);
    margin: 0 14rem;
    padding-top: 3.125rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-contact-block-3__form-section {
    width: 100%;
    padding: 1.875rem 2.03125rem; }
  .flo-block-contact-block-3__form-field, .flo-block-contact-block-3 label, .flo-block-contact-block-3 input, .flo-block-contact-block-3 textarea {
    margin-bottom: 1.25rem !important; }
  .flo-block-contact-block-3__form-submit {
    margin: 1.875rem auto 1.875rem auto;
    display: block; }
  .flo-block-contact-block-3__contact-info {
    margin: 2.03125rem auto 0 auto;
    text-align: center; } }

.flo-block-content-in-columns-3 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-content-in-columns-3__column {
    text-align: center; }
  .flo-block-content-in-columns-3__decorative-elements {
    position: relative;
    margin-bottom: 1.4375rem; }
  .flo-block-content-in-columns-3__decorative-icon--with-decorative-letter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }
  .flo-block-content-in-columns-3__decorative-icon--no-decorative-letter {
    margin-bottom: 0.625rem; }
  .flo-block-content-in-columns-3__decorative-letter {
    opacity: 0.1; }
  .flo-block-content-in-columns-3__decorative-number--with-decorative-letter {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%); }
  @media screen and (min-width: 48em) {
    .flo-block-content-in-columns-3 {
      padding: 0 7.625rem; }
      .flo-block-content-in-columns-3__column {
        width: 16.5rem;
        padding-bottom: 7.75rem;
        box-sizing: content-box; }
        .flo-block-content-in-columns-3__column:nth-child(2) {
          padding: 0 3.1875rem;
          border-left: 1px solid;
          border-right: 1px solid; }
        .flo-block-content-in-columns-3__column:nth-child(1) {
          margin-right: 3.1875rem; }
        .flo-block-content-in-columns-3__column:nth-child(3) {
          margin-left: 3.1875rem; }
      .flo-block-content-in-columns-3__column-title {
        margin-bottom: 2.375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-content-in-columns-3 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-content-in-columns-3__column {
        width: 100%;
        margin-bottom: 2.5rem; }
      .flo-block-content-in-columns-3__column-title {
        margin-bottom: 1.25rem; } }

.flo-block-delimiter-1__delimiter-wrap {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }

.flo-block-delimiter-1__delimiter-line {
  height: 1px;
  width: 100%; }

.flo-block-delimiter-1__decorative-letter {
  position: relative;
  padding: 0.68em 0.52em;
  margin: 0 0.68em;
  line-height: 1em !important;
  letter-spacing: 0 !important; }
  .flo-block-delimiter-1__decorative-letter:before {
    content: " ";
    position: absolute;
    left: 0;
    top: 0.25em;
    width: 100%;
    height: calc(100% - 0.5em);
    border: 1px solid; }
  .flo-block-delimiter-1__decorative-letter:after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0.22em;
    width: calc(100% - 0.44em);
    height: 100%;
    border: 1px solid; }

.flo-block-faq-block-1__title-area {
  text-align: center;
  position: relative;
  margin-bottom: 3.125rem; }

.flo-block-faq-block-1__title {
  position: relative;
  z-index: 2; }

.flo-block-faq-block-1__title-decorative-icon {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%); }

.flo-block-faq-block-1__single-qa {
  /*-Add bottom margin to all children except for the last 2-*/
  margin-bottom: 2.75rem; }
  .flo-block-faq-block-1__single-qa:nth-last-child(1), .flo-block-faq-block-1__single-qa:nth-last-child(2) {
    margin-bottom: 0; }

.flo-block-faq-block-1__question {
  margin-bottom: 0.625rem;
  position: relative; }

.flo-block-faq-block-1__answer p:last-child {
  margin-bottom: 0; }

@media screen and (min-width: 48em) {
  .flo-block-faq-block-1__faq-wrap {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 2.5rem 0; }
  .flo-block-faq-block-1__single-qa {
    width: 50%; }
    .flo-block-faq-block-1__single-qa:nth-child(odd) {
      padding-left: 3.1875rem;
      padding-right: 6.375rem; }
    .flo-block-faq-block-1__single-qa:nth-child(even) {
      padding-left: 6.375rem;
      padding-right: 3.1875rem; }
  .flo-block-faq-block-1__divider {
    width: 1px;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); } }

@media screen and (max-width: 47.9375em) {
  .flo-block-faq-block-1__single-qa:nth-last-child(1), .flo-block-faq-block-1__single-qa:nth-last-child(2) {
    margin-bottom: 2.75rem; }
  .flo-block-faq-block-1__divider {
    display: none; } }

.flo-block-faq-block-2 {
  background-image: url(https://42fccb.claudeassets.com/20240125002332im_/https://shaunaheron.com/wp-content/themes/porto2/theme-files/public/img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-faq-block-2 {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-faq-block-2 {
    background-image: var(--img-large); } }

.flo-block-faq-block-2 {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative; }
  .flo-block-faq-block-2__image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .flo-block-faq-block-2__title {
    text-align: center;
    position: relative; }
  .flo-block-faq-block-2__faq-slider {
    position: relative;
    overflow: hidden !important; }
    .flo-block-faq-block-2__faq-slider .slick-list {
      overflow: visible; }
  .flo-block-faq-block-2__faq-slide-content {
    display: -ms-flexbox;
    display: flex;
    text-align: center; }
  .flo-block-faq-block-2__answer p:last-child {
    margin-bottom: 0; }
  .flo-block-faq-block-2__navigation {
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  .flo-block-faq-block-2__faq-counter {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center; }
  .flo-block-faq-block-2__current-item-number {
    -ms-flex-item-align: start;
        align-self: flex-start; }
  .flo-block-faq-block-2__number-divider {
    height: 1px;
    border-bottom: 1px solid;
    border-color: inherit;
    margin: 0.1875rem 0; }
  .flo-block-faq-block-2__total-item-number {
    -ms-flex-item-align: end;
        align-self: flex-end; }
  @media screen and (min-width: 48em) {
    .flo-block-faq-block-2 {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      padding-top: 5.4375rem;
      padding-left: 6.375rem;
      padding-right: 6.375rem;
      padding-bottom: 6.25rem; }
      .flo-block-faq-block-2__title {
        margin-bottom: 7.25rem; }
      .flo-block-faq-block-2__questions-wrap {
        -ms-flex-positive: 1;
            flex-grow: 1;
        min-height: 34.3125rem;
        margin-right: 8.6875rem; }
      .flo-block-faq-block-2__single-qa {
        margin-bottom: 3.75rem; }
      .flo-block-faq-block-2__question {
        width: 50%;
        padding: 0 1.59375rem; }
      .flo-block-faq-block-2__answer {
        width: 50%;
        padding: 0 1.59375rem; }
      .flo-block-faq-block-2__navigation {
        -ms-flex-pack: center;
            justify-content: center;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 3.1875rem; }
        .flo-block-faq-block-2__navigation--hide {
          display: none; }
      .flo-block-faq-block-2__faq-counter {
        margin: 0 8.75rem; }
      .flo-block-faq-block-2__number-divider {
        width: 11.25rem; }
      .flo-block-faq-block-2__arrow {
        font-size: 0.5rem;
        transition: transform 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        cursor: pointer;
        outline: none; }
        .flo-block-faq-block-2__arrow:hover {
          transform: scale(1.1) !important; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-faq-block-2 {
      padding: 1.25rem; }
      .flo-block-faq-block-2__image-overlay--hide {
        display: none; }
      .flo-block-faq-block-2__title {
        margin-bottom: 3.125rem; }
      .flo-block-faq-block-2__faq-slider {
        margin-bottom: 3.125rem; }
      .flo-block-faq-block-2__faq-slide-content {
        -ms-flex-direction: column;
            flex-direction: column; }
      .flo-block-faq-block-2__question {
        margin-bottom: 1.25rem; }
      .flo-block-faq-block-2__navigation {
        position: relative;
        -ms-flex-pack: justify;
            justify-content: space-between; }
      .flo-block-faq-block-2__faq-counter {
        width: 50%; }
      .flo-block-faq-block-2__number-divider {
        width: 100%; }
      .flo-block-faq-block-2__arrow {
        font-size: 0.625rem; } }

.flo-block-featured-link-2__pretitle:not(:last-child) {
  margin-bottom: 0.375rem; }

.flo-block-featured-link-2__title:not(:last-child) {
  margin-bottom: 1.25rem; }

.flo-block-featured-link-2__text:not(:last-child) {
  margin-bottom: 1.25rem; }

.flo-block-featured-link-2__image-link-area {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  text-align: center; }

.flo-block-featured-link-2__image {
  width: 11.25rem; }

.flo-block-featured-link-2__link-description {
  display: block; }
  .flo-block-featured-link-2__link-description:not(:last-child) {
    margin-bottom: 1.5625rem; }

.flo-block-featured-link-2__button {
  display: inline-block;
  border: 1px solid;
  border-color: inherit;
  padding: 0.4375rem 1.125rem;
  transition: background-color 0.5s, color 0.5s, border-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@media screen and (min-width: 48em) {
  .flo-block-featured-link-2 {
    padding: 3.125rem 6.375rem;
    display: -ms-flexbox;
    display: flex; }
    .flo-block-featured-link-2__text-area {
      padding-right: 5.625rem; }
    .flo-block-featured-link-2__image-link-area {
      margin-left: 5.625rem;
      margin-right: 5.625rem; }
    .flo-block-featured-link-2__image {
      max-width: 16.875rem;
      width: auto;
      height: auto; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-featured-link-2 {
    padding: 1.875rem 2.03125rem;
    text-align: center; }
    .flo-block-featured-link-2__text-area:not(:last-child) {
      margin-bottom: 1.875rem; }
    .flo-block-featured-link-2__image {
      margin: 0 auto 1.25rem auto; }
    .flo-block-featured-link-2__link-wrap {
      padding: 0 0.625rem; } }

.flo-block-featured-link-3 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-featured-link-3__image-wrap {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  .flo-block-featured-link-3__text-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    text-align: center; }
  .flo-block-featured-link-3__title-wrap {
    position: relative;
    padding: 2.5625rem 0 3.125rem 0; }
  .flo-block-featured-link-3__title-decorative-icon {
    position: absolute;
    left: 50%;
    top: -1.3125rem;
    transform: translateX(-50%);
    max-width: 2rem; }
  .flo-block-featured-link-3__title-decorative-letter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.2; }
  @media screen and (min-width: 48em) {
    .flo-block-featured-link-3 {
      padding: 0 7.625rem; }
      .flo-block-featured-link-3__image-wrap {
        width: 39.375rem;
        height: 39.625rem; }
      .flo-block-featured-link-3__text-wrap {
        -ms-flex-pack: center;
            justify-content: center;
        margin: 4.625rem 0;
        padding: 0 9rem 0 9rem;
        width: 27.5rem;
        margin-left: -4.5625rem; }
      .flo-block-featured-link-3__subtitle {
        margin-bottom: 3.4375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-featured-link-3 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-featured-link-3__image-wrap {
        width: 100%;
        height: 19.75rem;
        margin-bottom: 1.25rem; }
      .flo-block-featured-link-3__text-wrap {
        margin: -3.75rem 1.25rem 0 1.25rem;
        padding: 1.875rem 1.25rem; }
      .flo-block-featured-link-3__title-decorative-icon {
        top: -0.75rem; }
      .flo-block-featured-link-3__subtitle {
        padding-bottom: 1.25rem; } }

.flo-block-featured-links-3__link {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-featured-links-3__text-wrap {
  transition: background-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-featured-links-3__text-wrap .flo-block-featured-links-3__link-pretitle,
  .flo-block-featured-links-3__text-wrap .flo-block-featured-links-3__link-title,
  .flo-block-featured-links-3__text-wrap .flo-block-featured-links-3__link-text {
    color: inherit;
    border-color: inherit;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-block-featured-links-3 .flo-block-featured-links-3__link-button {
  color: inherit;
  border-color: inherit;
  margin-left: auto;
  margin-right: auto;
  background-color: transparent; }

@media screen and (min-width: 48em) {
  .flo-block-featured-links-3 {
    padding: 3.125rem 13.875rem;
    display: -ms-flexbox;
    display: flex; }
    .flo-block-featured-links-3__link {
      padding: 3.8125rem 3.75rem;
      width: calc(50% - 1.65625rem);
      text-align: center; }
    .flo-block-featured-links-3__link--left {
      margin-right: 1.65625rem; }
    .flo-block-featured-links-3__link--right {
      margin-left: 1.65625rem; }
    .flo-block-featured-links-3__text-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      height: 100%;
      padding: 7.125rem 0 4.9375rem 0; }
    .flo-block-featured-links-3__link-pretitle {
      margin-bottom: 0.4375rem; }
    .flo-block-featured-links-3__link-title {
      margin-bottom: 3.0625rem;
      padding: 0 3.125rem; }
    .flo-block-featured-links-3__link-text {
      margin-bottom: 3.5625rem;
      padding: 0 4.8125rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-featured-links-3 {
    padding: 1.875rem 2.03125rem; }
    .flo-block-featured-links-3__link {
      padding: 1.9375rem 1.875rem;
      text-align: center; }
    .flo-block-featured-links-3__link--left {
      margin-bottom: 1.875rem; }
    .flo-block-featured-links-3__text-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      height: 100%;
      padding: 3.75rem 0 2.5625rem 0; }
    .flo-block-featured-links-3__link-pretitle {
      margin-bottom: 0.4375rem; }
    .flo-block-featured-links-3__link-title {
      margin-bottom: 1.5625rem;
      padding: 0 0.9375rem; }
    .flo-block-featured-links-3__link-text {
      margin-bottom: 2.1875rem;
      padding: 0 1.875rem; } }

.flo-block-featured-links-4__text-wrap {
  display: -ms-flexbox;
  display: flex; }

.flo-block-featured-links-4__column--navigation-column .flo-block-featured-links-4__arrow-left {
  margin-right: 2.5625rem;
  font-size: 1.25rem;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  outline: none; }

.flo-block-featured-links-4__column--navigation-column .flo-block-featured-links-4__arrow-right {
  margin-left: 2.5625rem;
  font-size: 1.25rem;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  outline: none; }

.flo-block-featured-links-4__slide-link-image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-featured-links-4__slide-link-title {
  min-width: 9.375rem;
  padding: 0.625rem 1.25rem;
  transition: color 0.5s, background-color 0.5s, border-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@media screen and (min-width: 48em) {
  .flo-block-featured-links-4 {
    padding: 0 7.625rem;
    width: calc(100vw - 12.75rem); }
    .flo-block-featured-links-4__text-wrap {
      margin-bottom: 3.25rem; }
    .flo-block-featured-links-4__column {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      width: calc(100% / 3 + 4.375rem); }
      .flo-block-featured-links-4__column--title-column {
        margin-right: 2.1875rem;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: start;
            align-items: flex-start; }
      .flo-block-featured-links-4__column--middle-column {
        margin: 0 2.1875rem;
        -ms-flex-pack: center;
            justify-content: center; }
      .flo-block-featured-links-4__column__middle-label {
        text-align: center; }
      .flo-block-featured-links-4__column--navigation-column {
        margin-left: 2.1875rem;
        -ms-flex-pack: center;
            justify-content: center; }
        .flo-block-featured-links-4__column--navigation-column[data-slides-count="1"], .flo-block-featured-links-4__column--navigation-column[data-slides-count="2"], .flo-block-featured-links-4__column--navigation-column[data-slides-count="3"] {
          visibility: hidden; }
    .flo-block-featured-links-4__slider {
      width: 100%; }
    .flo-block-featured-links-4__slide-link {
      padding: 1.125rem 1.125rem 2.625rem 1.125rem;
      width: 19.1875rem;
      margin-right: 2.1875rem; }
    .flo-block-featured-links-4__slide-link-image {
      height: 22.625rem;
      position: relative; }
    .flo-block-featured-links-4__slide-link-title {
      position: absolute;
      bottom: -1.1875rem;
      left: 50%;
      transform: translateX(-50%); } }

@media screen and (max-width: 47.9375em) {
  .flo-block-featured-links-4__text-wrap {
    -ms-flex-direction: column;
        flex-direction: column;
    margin-bottom: 1.5625rem; }
  .flo-block-featured-links-4__column {
    text-align: center; }
    .flo-block-featured-links-4__column--title-column {
      margin-bottom: 1.25rem; }
    .flo-block-featured-links-4__column--middle-column {
      margin-bottom: 1.25rem; }
    .flo-block-featured-links-4__column--navigation-column {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center; }
      .flo-block-featured-links-4__column--navigation-column[data-slides-count="1"] {
        display: none; }
  .flo-block-featured-links-4__slider {
    width: calc(100vw - 4.0625rem);
    margin: auto; }
  .flo-block-featured-links-4__slide-link {
    width: calc(100vw - 1.25rem);
    padding: 0.9375rem 0.9375rem 1.875rem 0.9375rem;
    display: inline-block !important; }
    .flo-block-featured-links-4__slide-link:not(:last-child) {
      margin-right: 0.625rem; }
  .flo-block-featured-links-4__slide-link-image {
    height: 22.625rem;
    position: relative; }
  .flo-block-featured-links-4__slide-link-title {
    position: absolute;
    bottom: -1.1875rem;
    left: 50%;
    transform: translateX(-50%); } }

.flo-block-featured-slideshow-1 {
  z-index: 1; }
  @media screen and (min-width: 48em) {
    .flo-block-featured-slideshow-1 {
      margin: 0 7.625rem;
      padding: 4.09375rem 3.1875rem 5.03125rem 3.1875rem; }
      .flo-block-featured-slideshow-1__featured-slider {
        position: relative; }
      .flo-block-featured-slideshow-1__slide {
        display: -ms-inline-flexbox !important;
        display: inline-flex !important;
        -ms-flex-direction: row;
            flex-direction: row;
        height: 37.0625rem; }
      .flo-block-featured-slideshow-1__left-wrap {
        width: 27.3125rem;
        height: 100%;
        background-size: contain;
        background-position: center center;
        background-repeat: no-repeat; }
      .flo-block-featured-slideshow-1__right-wrap {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: start;
            justify-content: flex-start;
        width: 31.75rem;
        height: 100%; }
        .flo-block-featured-slideshow-1__right-wrap--no-decoration {
          padding-top: 11.875rem; }
      .flo-block-featured-slideshow-1__decorative-image {
        padding-top: 3.5625rem;
        padding-bottom: 8.75rem; }
      .flo-block-featured-slideshow-1__titles-wrap {
        position: relative;
        text-align: center; }
      .flo-block-featured-slideshow-1__decorative-letter {
        position: absolute;
        top: -50%;
        left: 40%;
        transform: translateX(-50%);
        opacity: 0.05; }
      .flo-block-featured-slideshow-1__pre-title {
        padding-bottom: 1rem; }
      .flo-block-featured-slideshow-1__title {
        padding-bottom: 1.125rem; }
      .flo-block-featured-slideshow-1__arrows {
        position: absolute;
        bottom: 7.6875rem;
        right: calc(50% - 7.625rem);
        transform: translate(calc(40% + 7.625rem));
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        z-index: 2; }
      .flo-block-featured-slideshow-1__arrow {
        display: inline-block; }
        .flo-block-featured-slideshow-1__arrow:not(.flo-block-featured-slideshow-1__arrow--separator) {
          cursor: pointer; }
        .flo-block-featured-slideshow-1__arrow--left {
          margin-right: 1.8125rem; }
        .flo-block-featured-slideshow-1__arrow--right {
          margin-left: 2.25rem; }
        .flo-block-featured-slideshow-1__arrow--separator {
          height: 2.875rem;
          width: 1px;
          transform: rotate(10deg); }
        .flo-block-featured-slideshow-1__arrow--prev {
          margin-right: 3rem; }
        .flo-block-featured-slideshow-1__arrow--next {
          margin-left: 2.5625rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-featured-slideshow-1 {
      padding: 1.25rem; }
      .flo-block-featured-slideshow-1__slide {
        width: 100vw; }
      .flo-block-featured-slideshow-1__left-wrap {
        height: 18.5rem;
        margin-bottom: 1.25rem;
        background-size: contain;
        background-position: center center;
        background-repeat: no-repeat; }
      .flo-block-featured-slideshow-1__right-wrap {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-direction: column;
            flex-direction: column; }
      .flo-block-featured-slideshow-1__decorative-image {
        padding-top: 1.5625rem;
        padding-bottom: 3.125rem; }
      .flo-block-featured-slideshow-1__titles-wrap {
        position: relative;
        text-align: center;
        margin-bottom: 1.25rem; }
      .flo-block-featured-slideshow-1__decorative-letter {
        position: absolute;
        top: 0;
        left: 40%;
        transform: translateX(-50%);
        opacity: 0.05;
        font-size: 6.5rem !important; }
      .flo-block-featured-slideshow-1__pre-title {
        padding-bottom: 1rem; }
      .flo-block-featured-slideshow-1__title {
        padding-bottom: 1.125rem; }
      .flo-block-featured-slideshow-1__arrows {
        margin-top: 1.25rem;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
            justify-content: space-between; } }

.flo-block-featured-slideshow-2__decorative-letter {
  opacity: 0.24; }

.flo-block-featured-slideshow-2__slide-image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-featured-slideshow-2__arrows {
  display: -ms-flexbox;
  display: flex; }

.flo-block-featured-slideshow-2__arrow {
  font-size: 1.3125rem; }
  .flo-block-featured-slideshow-2__arrow--prev {
    margin-right: 3.9375rem; }

@media screen and (min-width: 48em) {
  .flo-block-featured-slideshow-2 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    padding: 7.9375rem 0 9.125rem 0; }
    .flo-block-featured-slideshow-2__text-area {
      position: relative;
      margin-left: 13.875rem;
      margin-right: 4.4375rem; }
    .flo-block-featured-slideshow-2__decorative-letter {
      position: absolute;
      left: 0%;
      top: 0%;
      transform: translate(-50%, -40%); }
    .flo-block-featured-slideshow-2__text {
      width: 17.4375rem; }
    .flo-block-featured-slideshow-2__slides {
      width: 53.25rem; }
    .flo-block-featured-slideshow-2__slide-image {
      height: 38.875rem;
      width: 26.0625rem;
      margin-right: 1.125rem; }
    .flo-block-featured-slideshow-2__arrows {
      position: absolute;
      right: 6.4375rem;
      bottom: 4.125rem; }
    .flo-block-featured-slideshow-2__arrow {
      opacity: 0.24;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-featured-slideshow-2__arrow:hover {
        opacity: 1; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-featured-slideshow-2 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    text-align: center;
    padding: 3.125rem 2.03125rem; }
    .flo-block-featured-slideshow-2__text-area {
      -ms-flex-order: 1;
          order: 1; }
    .flo-block-featured-slideshow-2__decorative-letter {
      display: none; }
    .flo-block-featured-slideshow-2__slides {
      width: 100%; }
    .flo-block-featured-slideshow-2__slide-image {
      height: 25rem; }
    .flo-block-featured-slideshow-2__arrows {
      margin: 1.875rem 0; } }

.flo-block-featured-slideshow-7__title-area-wrap {
  text-align: center; }

.flo-block-featured-slideshow-7__decoration-wrap {
  position: relative; }

.flo-block-featured-slideshow-7__decoration-icon {
  position: absolute;
  left: 50%;
  top: 40%;
  transform: translateX(-50%);
  opacity: 0.2; }

.flo-block-featured-slideshow-7__slide-image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-featured-slideshow-7__slide-title-wrap {
  display: -ms-flexbox;
  display: flex; }

.flo-block-featured-slideshow-7__arrow {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  outline: none; }
  .flo-block-featured-slideshow-7__arrow--left {
    margin-right: 2.5rem; }

@media screen and (min-width: 48em) {
  .flo-block-featured-slideshow-7__title-area-wrap {
    padding: 0 14rem; }
  .flo-block-featured-slideshow-7__decoration-wrap {
    padding-top: 8.1875rem;
    padding-bottom: 4.4375rem; }
  .flo-block-featured-slideshow-7__title {
    padding: 0 7.625rem 12.625rem 7.625rem; }
  .flo-block-featured-slideshow-7__slider-wrap {
    padding: 0 14rem; }
  .flo-block-featured-slideshow-7__featured-slider {
    padding: 3.75rem;
    margin-top: -3.8125rem; }
  .flo-block-featured-slideshow-7__slide-image {
    width: 100%;
    height: 36.25rem; }
  .flo-block-featured-slideshow-7__slide-title-wrap {
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-pack: end;
        justify-content: flex-end;
    margin-top: 2.59375rem; }
  .flo-block-featured-slideshow-7__slide-title {
    width: 50%; }
  .flo-block-featured-slideshow-7__arrows {
    width: 50%;
    text-align: right; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-featured-slideshow-7__title-area-wrap {
    padding: 0 2.03125rem; }
  .flo-block-featured-slideshow-7__decoration-wrap {
    padding-top: 4.0625rem;
    padding-bottom: 1.25rem; }
  .flo-block-featured-slideshow-7__title {
    font-size: 0.875rem !important;
    padding-top: 1.25rem;
    padding-bottom: 6.25rem; }
  .flo-block-featured-slideshow-7__slider-wrap {
    padding: 0 2.03125rem;
    padding-top: 1.25rem; }
  .flo-block-featured-slideshow-7__featured-slider {
    padding: 1.25rem;
    margin-top: -3.125rem; }
  .flo-block-featured-slideshow-7__slide-image {
    width: 100%;
    height: 18.125rem; }
  .flo-block-featured-slideshow-7__slide-title-wrap {
    -ms-flex-direction: column;
        flex-direction: column;
    text-align: center;
    margin-top: 1.25rem; }
  .flo-block-featured-slideshow-7__slide-title {
    width: 100%;
    margin-bottom: 1.25rem; }
  .flo-block-featured-slideshow-7__arrows {
    width: 100%; } }

.flo-block-featured-slideshow-7__slide-image {
  background-image: url(https://42fccb.claudeassets.com/20240125002332im_/https://shaunaheron.com/wp-content/themes/porto2/theme-files/public/img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-featured-slideshow-7__slide-image {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-featured-slideshow-7__slide-image {
    background-image: var(--img-large); } }

.flo-block-gallery-view-1 {
  position: relative; }
  .flo-block-gallery-view-1:hover .flo-block-gallery-view-1__title-area, .flo-block-gallery-view-1--is-focused .flo-block-gallery-view-1__title-area {
    opacity: 0; }
  .flo-block-gallery-view-1:hover .flo-video-embed__video-button {
    opacity: 1; }
  .flo-block-gallery-view-1__image-wrap {
    position: relative; }
    .flo-block-gallery-view-1__image-wrap.slick-current .flo-block-gallery-view-1__arrow {
      opacity: 1;
      pointer-events: initial;
      cursor: pointer; }
  .flo-block-gallery-view-1--title-area-visible .flo-video-embed__video-button {
    opacity: 0; }
  .flo-block-gallery-view-1--title-area-invisible .flo-block-gallery-view-1__title-area {
    display: none; }
  .flo-block-gallery-view-1__arrow {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    z-index: 1;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-gallery-view-1__title-area {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-gallery-view-1__decorative-image {
    width: 1.5rem;
    margin-bottom: 1.9375rem; }
  .flo-block-gallery-view-1__decorative-letter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.33; }
  .flo-block-gallery-view-1__title {
    margin-bottom: 0.1875rem; }
  @media screen and (min-width: 48em) {
    .flo-block-gallery-view-1__arrow {
      top: 50%;
      font-size: 1.25rem;
      width: 3.125rem;
      height: 3.125rem;
      border-radius: 3.125rem;
      overflow: hidden;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      background-color: white; }
      .flo-block-gallery-view-1__arrow--prev {
        left: 0;
        transform: translate(-50%, -50%); }
      .flo-block-gallery-view-1__arrow--next {
        right: 0;
        transform: translate(50%, -50%); } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-gallery-view-1__arrow {
      top: 1.25rem;
      text-shadow: 0px 0px 2px white; }
      .flo-block-gallery-view-1__arrow--prev {
        left: 1.25rem; }
      .flo-block-gallery-view-1__arrow--next {
        right: 1.25rem; } }

.flo-block-gallery-view-2__image {
  display: inline-block;
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-gallery-view-2__image.lazy {
    opacity: 0; }

.flo-block-gallery-view-2__image-thumb {
  width: 100%; }

@media screen and (min-width: 48em) {
  .flo-block-gallery-view-2__image {
    cursor: pointer; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-gallery-view-2__image {
    margin-bottom: 1.875rem; } }

.flo-block-gallery-view-3__image-wrap {
  position: relative; }

.flo-block-gallery-view-3__image {
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-gallery-view-3__arrow {
  font-size: 1.25rem; }

.flo-block-gallery-view-3__thumb {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

@media screen and (min-width: 48em) {
  .flo-block-gallery-view-3__images-wrap {
    position: relative;
    width: 62.5rem;
    margin: 0 auto; }
  .flo-block-gallery-view-3__images {
    margin-bottom: 1.8125rem; }
  .flo-block-gallery-view-3__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
    .flo-block-gallery-view-3__arrow--prev {
      left: -6.25rem; }
    .flo-block-gallery-view-3__arrow--next {
      right: -6.25rem; }
  .flo-block-gallery-view-3__thumbs {
    width: 62.5rem;
    margin: 0 auto; }
  .flo-block-gallery-view-3__thumb-wrap {
    opacity: 0.2;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-gallery-view-3__thumb-wrap.slick-current, .flo-block-gallery-view-3__thumb-wrap:hover {
      opacity: 1; }
  .flo-block-gallery-view-3__thumb {
    width: 8.90625rem;
    height: 5.85938rem;
    margin-right: 1.8125rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-gallery-view-3__images-wrap {
    position: relative; }
  .flo-block-gallery-view-3__images {
    margin-top: 3.125rem; }
  .flo-block-gallery-view-3__image {
    height: 18.75rem; }
  .flo-block-gallery-view-3__arrow {
    position: absolute;
    bottom: calc(100% + 1.5625rem);
    transform: translateY(50%); }
    .flo-block-gallery-view-3__arrow--prev {
      left: 1.25rem; }
    .flo-block-gallery-view-3__arrow--next {
      right: 1.25rem; }
  .flo-block-gallery-view-3__thumbs {
    display: none; } }

.flo-block-image-block-1__image-wrap {
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-image-block-1__image-overlay {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%; }

.flo-block-image-block-1__header-area {
  width: 100%;
  -ms-flex-positive: 0;
      flex-grow: 0; }
  .flo-block-image-block-1__header-area header:not(.is-sticky) .flo-header {
    color: inherit !important;
    border-color: inherit !important;
    background-color: transparent !important;
    margin-bottom: 0 !important; }

.flo-block-image-block-1__title {
  text-align: center;
  color: inherit;
  z-index: 100; }

@media screen and (min-width: 48em) {
  .flo-block-image-block-1__title-center {
    padding: 3.125rem 21.625rem; }
  .flo-block-image-block-1__title-left {
    padding: 3.125rem 43.25rem 3.125rem 2rem;
    text-align: left; }
  .flo-block-image-block-1__title-right {
    padding: 3.125rem 2rem 3.125rem 43.25rem;
    text-align: right; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-image-block-1__title {
    padding: 1.25rem; } }

.flo-block-image-block-1__image-wrap {
  background-image: url(https://42fccb.claudeassets.com/20240125002332im_/https://shaunaheron.com/wp-content/themes/porto2/theme-files/public/img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-image-block-1__image-wrap {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-image-block-1__image-wrap {
    background-image: var(--img-large); } }

.flo-block-image-block-2 {
  background-image: url(https://42fccb.claudeassets.com/20240125002332im_/https://shaunaheron.com/wp-content/themes/porto2/theme-files/public/img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-image-block-2 {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-image-block-2 {
    background-image: var(--img-large); } }

.flo-block-image-block-2 {
  display: -ms-flexbox;
  display: flex;
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }
  .flo-block-image-block-2__image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .flo-block-image-block-2__text-area {
    position: relative;
    text-align: center; }
  .flo-block-image-block-2__titles-wrap {
    position: relative; }
    .flo-block-image-block-2__titles-wrap:not(:last-child) {
      margin-bottom: 1.25rem; }
  .flo-block-image-block-2__decorative-image:not(:last-child) {
    margin-bottom: 1.25rem; }
  .flo-block-image-block-2__title-decorative-letter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }
  .flo-block-image-block-2__title:not(:last-child) {
    margin-bottom: 0.4375rem; }
  .flo-block-image-block-2__text-paragraph:not(:last-child) {
    margin-bottom: 2.8125rem; }
  .flo-block-image-block-2__button {
    border: 1px solid;
    border-color: inherit;
    display: inline-block;
    padding: 0.625rem 1.875rem;
    transition: color 0.5s, border-color 0.5s, background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (min-width: 48em) {
    .flo-block-image-block-2 {
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center; }
      .flo-block-image-block-2__text-area {
        width: 33.75rem; }
      .flo-block-image-block-2__button-wrap {
        margin-top: 1.9375rem; }
      .flo-block-image-block-2__button:not(:last-child) {
        margin-right: 1.25rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-image-block-2 {
      min-height: 25rem;
      padding: 1.25rem;
      position: relative;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top, .flo-block-image-block-2.flo-block-image-block-2__mobile-text-bottom {
        padding: 0;
        -ms-flex-direction: column;
            flex-direction: column; }
        .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top .flo-block-image-block-2__mobile-img-wrap, .flo-block-image-block-2.flo-block-image-block-2__mobile-text-bottom .flo-block-image-block-2__mobile-img-wrap {
          position: relative; }
      .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top .flo-block-image-block-2__text-area {
        -ms-flex-order: -1;
            order: -1; }
      .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top .flo-block-image-block-2__mobile-img-wrap {
        margin-top: 1.5625rem; }
      .flo-block-image-block-2.flo-block-image-block-2__mobile-text-bottom .flo-block-image-block-2__mobile-img-wrap {
        margin-bottom: 1.5625rem; }
      .flo-block-image-block-2__mobile-bg-wrap {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat; }
      .flo-block-image-block-2__text-area {
        width: 100%;
        padding: 1.25rem;
        z-index: 1; }
      .flo-block-image-block-2__titles-wrap {
        margin-bottom: 1.25rem; }
      .flo-block-image-block-2__vertical-line {
        display: none; }
      .flo-block-image-block-2__title-paragraph {
        margin-top: 1.5625rem; }
      .flo-block-image-block-2__button-wrap {
        margin-top: 2.5rem; } }
  @media (max-width: 767px) and (orientation: landscape) {
    .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top, .flo-block-image-block-2.flo-block-image-block-2__mobile-text-bottom {
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: center;
          justify-content: center; }
      .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top .flo-block-image-block-2__mobile-img-wrap, .flo-block-image-block-2.flo-block-image-block-2__mobile-text-bottom .flo-block-image-block-2__mobile-img-wrap {
        max-height: 400px;
        width: auto; } }

.flo-block-image-block-3 {
  /* START: Button Type A */
  /* END: Button Type A */
  /* START: Button Type B */
  /* END: Button Type B */ }
  .flo-block-image-block-3__title:not(:last-child) {
    margin-bottom: 0.625rem; }
  .flo-block-image-block-3__subtitle:not(:last-child) {
    margin-bottom: 1.5625rem; }
  .flo-block-image-block-3__buttons-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
        justify-content: flex-start; }
  .flo-block-image-block-3__button {
    padding: 0.6875rem 1.875rem;
    border: 1px solid;
    border-color: transparent;
    transition: background-color 0.5s, color 0.5s, border-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-image-block-3__button-links-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-image-block-3__button-link {
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    padding: 1.5625rem 1.875rem 1.5625rem 1.875rem;
    border-color: inherit;
    position: relative;
    transition: background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-image-block-3__button-link:not(:last-child):not(:first-child) {
      border-top: 1px groove;
      border-bottom: 1px groove; }
    .flo-block-image-block-3__button-link:before {
      font-size: 0.4375rem;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 2.1875rem; }
  @media screen and (min-width: 48em) {
    .flo-block-image-block-3 {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      /* START: Button Type A */
      /* END: Button Type A */
      /* START: Button Type B */
      /* END: Button Type B */ }
      .flo-block-image-block-3__image {
        width: 34.375rem;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
      .flo-block-image-block-3__text-area {
        -ms-flex-positive: 1;
            flex-grow: 1;
        -ms-flex-item-align: stretch;
            align-self: stretch;
        padding: 2.5rem 8.4375rem;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center; }
      .flo-block-image-block-3__text {
        padding-right: 2.8125rem; }
        .flo-block-image-block-3__text:not(:last-child) {
          margin-bottom: 4.1875rem; }
      .flo-block-image-block-3__button--primary {
        margin-right: 1.25rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-image-block-3 {
      /* START: Button Type A */
      /* END: Button Type A */
      /* START: Button Type B */
      /* END: Button Type B */ }
      .flo-block-image-block-3 > *:not(:last-child) {
        margin-bottom: 1.875rem; }
      .flo-block-image-block-3__text-area {
        padding: 1.875rem 1.5625rem; }
      .flo-block-image-block-3__text:not(:last-child) {
        margin-bottom: 1.875rem; }
      .flo-block-image-block-3__buttons-wrap {
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: center;
            align-items: center; }
      .flo-block-image-block-3__button--primary:not(:last-child) {
        margin-bottom: 1.25rem; } }

.flo-block-image-links-2 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-image-links-2__link {
    text-align: center; }
  .flo-block-image-links-2__link-image {
    height: 21rem;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  @media screen and (min-width: 48em) {
    .flo-block-image-links-2 {
      padding: 0 7.625rem; }
      .flo-block-image-links-2__link {
        width: calc(100% / 3);
        padding: 3.125rem; }
        .flo-block-image-links-2__link--has-url {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column; }
          .flo-block-image-links-2__link--has-url:hover .flo-block-image-links-2__link-image {
            transform: scale(0.9); }
        .flo-block-image-links-2__link:first-child {
          padding-left: 0px; }
        .flo-block-image-links-2__link:nth-child(2) {
          width: calc(100% / 3 + 3.125rem); }
        .flo-block-image-links-2__link:last-child {
          padding-right: 0px; }
        .flo-block-image-links-2__link:not(:last-child) {
          border-right: 1px solid; }
      .flo-block-image-links-2__link-image {
        width: 100%;
        margin-bottom: 2.5625rem; }
        .flo-block-image-links-2__link-image--has-url {
          transition: transform 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-image-links-2__link-pretitle {
        margin-bottom: 1.25rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-image-links-2 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-image-links-2__link {
        width: 100%; }
        .flo-block-image-links-2__link--has-url {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column; }
        .flo-block-image-links-2__link:after {
          content: " ";
          width: 20%;
          height: 1px;
          background-color: black;
          margin: auto;
          display: block;
          margin-top: 1.25rem;
          margin-bottom: 2.5rem; }
      .flo-block-image-links-2__link-image {
        margin-bottom: 1.25rem; }
      .flo-block-image-links-2__link-pretitle {
        margin-bottom: 0.625rem; } }

.flo-block-image-links-4 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center; }
  .flo-block-image-links-4__column {
    position: relative;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    height: 18.5625rem; }
  .flo-block-image-links-4__link-title {
    position: absolute;
    left: 50%;
    bottom: 1.75rem;
    transform: translateX(-50%);
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (min-width: 48em) {
    .flo-block-image-links-4__column {
      width: calc(100% / 3 - 3.125rem);
      height: 18.5625rem; }
      .flo-block-image-links-4__column:nth-child(2) {
        margin: 0 3.125rem; }
      .flo-block-image-links-4__column:hover .flo-block-image-links-4__link-title {
        opacity: 1; }
    .flo-block-image-links-4__link-title {
      opacity: 0; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-image-links-4 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-image-links-4__column {
        width: 100%;
        margin-bottom: 1.25rem; } }

.flo-block-image-links-5__image-link {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

@media screen and (min-width: 48em) {
  .flo-block-image-links-5 {
    padding: 0 6.375rem; }
    .flo-block-image-links-5__links-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .flo-block-image-links-5__image-link {
      height: 19.6875rem;
      margin-bottom: 3.75rem; }
      .flo-block-image-links-5__image-link:nth-child(2n) {
        margin-left: 3.125rem;
        width: calc(50% - 1.5625rem - 0.1rem); }
      .flo-block-image-links-5__image-link:not(:nth-child(2n)) {
        width: calc(50% - 1.5625rem - 0.1rem); }
      .flo-block-image-links-5__image-link:hover .flo-block-image-links-5__background-wrap {
        opacity: 1; }
    .flo-block-image-links-5__background-wrap {
      width: 100%;
      height: 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      position: relative;
      opacity: 0;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-image-links-5__decorative-image {
      padding-bottom: 2.8125rem; }
    .flo-block-image-links-5__bottom-label {
      position: absolute;
      left: 50%;
      bottom: 2.1875rem;
      transform: translateX(-50%); } }

@media screen and (max-width: 47.9375em) {
  .flo-block-image-links-5__links-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-image-links-5__image-link {
    width: 100%;
    height: 19.6875rem;
    margin-bottom: 1.875rem; }
  .flo-block-image-links-5__background-wrap {
    width: 100%;
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    position: relative; }
  .flo-block-image-links-5__decorative-image {
    padding-bottom: 1.25rem; }
  .flo-block-image-links-5__bottom-label {
    position: absolute;
    left: 50%;
    bottom: 3.3125rem;
    transform: translateX(-50%); } }

.flo-block-image-links-6 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-image-links-6__link-image {
    width: 100%;
    height: 18.5625rem;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  @media screen and (min-width: 48em) {
    .flo-block-image-links-6 {
      padding: 0 6.375rem; }
      .flo-block-image-links-6__image-link {
        width: calc(100% / 3); }
        .flo-block-image-links-6__image-link:nth-child(2n) {
          margin-left: 2.8125rem;
          margin-right: 2.8125rem; }
      .flo-block-image-links-6__text-wrap {
        padding: 1.875rem 1.875rem 2.5rem 1.875rem; }
      .flo-block-image-links-6__link-title {
        margin-bottom: 0.4375rem; }
      .flo-block-image-links-6__link-subtitle {
        margin-bottom: 1.5rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-image-links-6 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-image-links-6__image-link {
        width: 100%; }
        .flo-block-image-links-6__image-link:not(:last-child) {
          margin-bottom: 2.8125rem; }
      .flo-block-image-links-6__text-wrap {
        padding: 1.25rem 1.25rem 1.875rem 1.25rem; }
      .flo-block-image-links-6__link-title {
        margin-bottom: 0.625rem; }
      .flo-block-image-links-6__link-subtitle {
        margin-bottom: 1.25rem; } }

.flo-block-image-links-7__image-link--text-area {
  text-align: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  min-height: 25rem; }

.flo-block-image-links-7__button {
  border: 1px solid;
  border-color: inherit;
  padding: 0.6875rem 1.875rem;
  transition: background-color 0.5s, color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@media screen and (min-width: 48em) {
  .flo-block-image-links-7 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .flo-block-image-links-7__image-link {
      width: 50%; }
      .flo-block-image-links-7__image-link--text-area {
        padding: 3.75rem 7.5rem;
        position: relative; }
    .flo-block-image-links-7__pretitle {
      position: absolute;
      top: 3.75rem; }
    .flo-block-image-links-7__title:not(:last-child) {
      margin-bottom: 0.9375rem; }
    .flo-block-image-links-7__button-wrap {
      position: absolute;
      bottom: 3.75rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-image-links-7__image-link--text-area {
    padding: 2.1875rem 3.75rem; }
  .flo-block-image-links-7__pretitle:not(:last-child) {
    margin-bottom: 1.875rem; }
  .flo-block-image-links-7__subtitle:not(:last-child) {
    margin-bottom: 1.875rem; } }

.flo-block-intro-block__image-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: start;
      justify-content: flex-start;
  position: relative;
  height: 100vh;
  width: 100vw;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-intro-block .flo-block-intro-block__image-wrap {
  background-image: url(https://42fccb.claudeassets.com/20240125002332im_/https://shaunaheron.com/wp-content/themes/porto2/theme-files/public/img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-intro-block .flo-block-intro-block__image-wrap {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-intro-block .flo-block-intro-block__image-wrap {
    background-image: var(--img-large); } }

.flo-block-intro-block__image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; }

.flo-block-intro-block__header-area {
  width: 100%; }
  .flo-block-intro-block__header-area header:not(.is-sticky) .flo-header {
    color: inherit !important;
    border-color: inherit !important;
    background-color: transparent !important; }

.flo-block-intro-block__text-area {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-positive: 1;
      flex-grow: 1;
  width: 100%; }

.flo-block-intro-block__text > *:last-child {
  margin-bottom: 0; }

.flo-block-intro-block__actions-wrap {
  -ms-flex-negative: 0;
      flex-shrink: 0; }

.flo-block-intro-block__button {
  display: -ms-inline-flexbox;
  display: inline-flex;
  border: 1px solid;
  padding: 10px;
  min-width: 11.25rem;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  transition: color 0.5s, background-color 0.5s, border-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-block-intro-block__icon {
  font-size: 7px; }

@media screen and (min-width: 48em) {
  .flo-block-intro-block__header-area header .flo-header {
    padding: 3.75rem 5rem; }
  .flo-block-intro-block__text-area {
    position: relative;
    padding: 0 6.25rem 6.25rem 6.25rem; }
  .flo-block-intro-block__title {
    max-width: 30.9375rem; }
  .flo-block-intro-block__text {
    max-width: 28.125rem;
    margin-top: 0.4375rem; }
  .flo-block-intro-block.flo-block-intro-block--type-a .flo-block-intro-block__text-area {
    -ms-flex-align: end;
        align-items: flex-end;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .flo-block-intro-block.flo-block-intro-block--type-a .flo-block-intro-block__text-area.flo-block-intro-block__buttons-position--below {
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-pack: end;
          justify-content: flex-end; }
      .flo-block-intro-block.flo-block-intro-block--type-a .flo-block-intro-block__text-area.flo-block-intro-block__buttons-position--below .flo-block-intro-block__actions-wrap:not(:first-child) {
        margin-top: 2.5rem; }
  .flo-block-intro-block.flo-block-intro-block--type-a .flo-block-intro-block__button:not(:first-child) {
    margin-left: 1.875rem; }
  .flo-block-intro-block.flo-block-intro-block--type-b .flo-block-intro-block__text-area {
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: end;
        justify-content: flex-end;
    text-align: center; }
  .flo-block-intro-block.flo-block-intro-block--type-b .flo-block-intro-block__actions-wrap {
    margin-top: 3.125rem; }
  .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__text-area {
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: end;
        justify-content: flex-end;
    text-align: center; }
  .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__actions-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-align: stretch;
        align-items: stretch;
    -ms-flex-pack: center;
        justify-content: center;
    width: 100%;
    margin-top: 6.25rem; }
    .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__actions-wrap .flo-block-intro-block__button {
      display: -ms-flexbox;
      display: flex;
      position: relative;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-pack: center;
          justify-content: center;
      width: 50%;
      padding: 2.8125rem 2.8125rem 3.125rem 2.8125rem; }
      .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__actions-wrap .flo-block-intro-block__button:last-child {
        border-left: none; }
      .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__actions-wrap .flo-block-intro-block__button .flo-block-intro-block__button-title {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        text-align: left;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: justify;
            justify-content: space-between;
        width: 100%; }
        .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__actions-wrap .flo-block-intro-block__button .flo-block-intro-block__button-title:not(:first-child) {
          margin-top: 0.3125rem; }
      .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__actions-wrap .flo-block-intro-block__button .flo-block-intro-block__icon {
        font-size: 15px; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-intro-block__header-area {
    width: 100%;
    position: relative;
    z-index: 1; }
    .flo-block-intro-block__header-area header:not(.is-sticky) .flo-header {
      color: inherit !important;
      border-color: inherit !important;
      background-color: transparent !important; }
  .flo-block-intro-block__text-area {
    position: relative;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: end;
        justify-content: flex-end;
    text-align: center;
    padding: 1.875rem 2.03125rem; }
  .flo-block-intro-block__title {
    margin-bottom: 0.625rem; }
  .flo-block-intro-block__actions-wrap {
    margin-top: 1.25rem; }
  .flo-block-intro-block__button:not(:first-child) {
    margin-top: 0.9375rem; }
  .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__button-pretitle {
    margin-bottom: 0.625rem; }
  .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__button {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    text-align: left;
    -ms-flex-align: start;
        align-items: flex-start;
    padding: 0.9375rem; }
  .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__button-title {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }
  .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__icon {
    padding-left: 1.875rem; } }

@media screen and (min-width: 48em) and (max-width: 64em) {
  .flo-block-intro-block__text-area {
    padding: 3.3125rem 6.25rem; } }

.flo-block-item-content__content-area {
  position: relative;
  margin: 0 auto; }

.flo-block-item-content__decorative-letter {
  position: absolute;
  left: 0%;
  top: 0%;
  transform: translate(-30%, -35%); }

.flo-block-item-content__back-link {
  font-size: 0.75rem; }

.flo-block-item-content__share-links {
  font-size: 0.6875rem; }

@media screen and (min-width: 48em) {
  .flo-block-item-content__content-area {
    max-width: 92%; }
  .flo-block-item-content__decorative-letter {
    opacity: 0.2; }
  .flo-block-item-content__side-area {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between;
    height: 100%;
    max-height: 28.4375rem;
    position: absolute;
    top: 0;
    right: 0; }
  .flo-block-item-content__back-link {
    margin-bottom: 1.25rem; }
  .flo-block-item-content__share-links {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center; }
    .flo-block-item-content__share-links a {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center; }
      .flo-block-item-content__share-links a:not(:last-child):after {
        content: " ";
        display: inline-block;
        height: 2.5625rem;
        width: 1px;
        border-left: 1px solid;
        margin: 0.6875rem 0; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-item-content__content-area {
    margin-bottom: 1.25rem; }
  .flo-block-item-content__decorative-letter {
    display: none; }
  .flo-block-item-content__side-area {
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center; }
  .flo-block-item-content__back-link {
    margin: 0 0.625rem; }
  .flo-block-item-content__share-links a,
  .flo-block-item-content__share-links span {
    margin: 0 0.625rem; } }

.flo-block-item-pagination__link {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-item-pagination__link--prev i {
    margin-right: 1.6875rem; }
  .flo-block-item-pagination__link--next {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    -ms-flex-pack: start;
        justify-content: flex-start;
    text-align: right; }
    .flo-block-item-pagination__link--next i {
      margin-left: 1.6875rem; }

.flo-block-item-pagination__thumb {
  width: 12rem;
  height: 12rem;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-item-pagination__text-area {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  padding: 1.25rem 4.6875rem; }

.flo-block-item-pagination__title {
  margin-bottom: 0.25rem; }

.flo-block-item-pagination__bottom-label {
  margin-top: 1.75rem; }
  .flo-block-item-pagination__bottom-label i {
    font-size: 0.6875rem; }

@media screen and (min-width: 48em) {
  .flo-block-item-pagination {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .flo-block-item-pagination__link {
      width: 50%; }
      .flo-block-item-pagination__link--prev {
        border-right: 1px solid;
        border-color: inherit; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-item-pagination {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse; }
    .flo-block-item-pagination__link {
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      margin-bottom: 1.875rem; }
    .flo-block-item-pagination__thumb {
      width: 100%;
      height: 18.75rem; }
    .flo-block-item-pagination__text-area {
      padding: 1.25rem 0;
      text-align: center; }
    .flo-block-item-pagination__bottom-label i {
      display: none; } }

.flo-block-item-title-2__title {
  margin-bottom: 0.375rem; }

.flo-block-item-title-2__share-links a {
  font-size: 0.6875rem; }
  .flo-block-item-title-2__share-links a:not(:last-child) {
    margin-right: 1.375rem; }

@media screen and (min-width: 48em) {
  .flo-block-item-title-2 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    margin: 0 auto; }
    .flo-block-item-title-2__left-side {
      text-align: left; }
    .flo-block-item-title-2__right-side {
      text-align: right; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-item-title-2 {
    text-align: center; }
    .flo-block-item-title-2__left-side {
      margin-bottom: 1.875rem; } }

.flo-block-item-title {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  text-align: center; }
  .flo-block-item-title__header-area {
    width: 100%; }
    .flo-block-item-title__header-area .flo-header-mobile.not-sticky,
    .flo-block-item-title__header-area .flo-header.is-not-sticky {
      background-color: transparent !important;
      color: inherit !important;
      border-color: inherit !important; }
  .flo-block-item-title__featured-image {
    display: inline-block; }
    .flo-block-item-title__featured-image--img-landscape {
      max-width: calc(100% - 18.625rem); }
    .flo-block-item-title__featured-image--img-portrait {
      margin: 0 auto;
      max-width: 100%;
      max-height: 80vh; }
    .flo-block-item-title__featured-image--bgi {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; }
    .flo-block-item-title__featured-image--below {
      -ms-flex-order: 1;
          order: 1; }
  .flo-block-item-title__text-area-wrap {
    position: relative;
    text-align: left;
    width: 100%; }
  .flo-block-item-title__date-and-category {
    margin-bottom: 1.1875rem; }
  .flo-block-item-title__title {
    margin-bottom: 2.125rem; }
  .flo-block-item-title__decorative-area {
    position: relative;
    display: inline-block;
    -ms-flex-positive: 0;
        flex-grow: 0;
    width: auto; }
  .flo-block-item-title__decorative-letter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.06;
    min-width: 1.1em; }
  .flo-block-item-title__decorative-image {
    display: inline-block;
    position: relative;
    width: 9.1875rem; }
  @media screen and (min-width: 48em) {
    .flo-block-item-title--featured-image-position-bg .flo-block-item-title__text-area-wrap {
      padding-top: 10.25rem;
      padding-bottom: 8.25rem; }
    .flo-block-item-title__featured-image--above {
      margin-bottom: 2.5rem; }
    .flo-block-item-title__featured-image--below {
      margin-top: 6.5rem; }
    .flo-block-item-title__text-area-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center;
      padding-left: 9.3125rem;
      padding-right: 9.3125rem; }
    .flo-block-item-title__text-area {
      width: 50%; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-item-title header {
      z-index: 3;
      position: relative; }
    .flo-block-item-title .flo-header__logo--is-light .flo-header-mobile.not-sticky .flo-header-mobile__logo-image--light {
      opacity: 1; }
    .flo-block-item-title .flo-header__logo--is-light .flo-header-mobile.not-sticky .flo-header-mobile__logo-image--default {
      opacity: 0; }
    .flo-block-item-title__featured-image--below {
      padding-top: 2.5rem; }
    .flo-block-item-title__featured-image--img-landscape, .flo-block-item-title__featured-image--img-portrait {
      max-width: 100%; }
    .flo-block-item-title__text-area-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: stretch;
          align-items: stretch;
      padding: 3.75rem 2.03125rem 0 2.03125rem;
      text-align: center; }
    .flo-block-item-title__text-area {
      margin-top: 2.5rem;
      -ms-flex-order: 1;
          order: 1; }
    .flo-block-item-title__decorative-image {
      width: 3.125rem; } }

.flo-block-listing-1__featured-image {
  display: inline-block;
  width: 100%;
  margin-bottom: 2.4375rem; }

.flo-block-listing-1__text-area {
  display: -ms-flexbox;
  display: flex; }

.flo-block-listing-1__left-side {
  display: block;
  width: 3.3125rem;
  -ms-flex-negative: 0;
      flex-shrink: 0; }
  .flo-block-listing-1__left-side--decoration-on {
    margin-right: 3.125rem; }
  .flo-block-listing-1__left-side--decoration-off {
    margin-right: 0 !important; }

.flo-block-listing-1__decorative-image {
  display: inline-block;
  max-width: 100%; }

.flo-block-listing-1__right-side {
  display: block; }

.flo-block-listing-1__title {
  display: block;
  margin-bottom: 0.3125rem; }

.flo-block-listing-1__date-and-category {
  display: block;
  margin-bottom: 1.5625rem; }

.flo-block-listing-1__excerpt {
  display: block;
  margin-bottom: 3.6875rem; }

.flo-block-listing-1__link {
  display: inline-block;
  padding: 0.75rem 1.4375rem;
  border: 1px solid;
  border-color: inherit; }

@media screen and (min-width: 48em) {
  .flo-block-listing-1 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .flo-block-listing-1__grid-sizer {
      width: calc(100% / 2); }
    .flo-block-listing-1__item {
      width: calc(100% / 2 - 5.6875rem);
      margin: 0 2.84375rem 9.25rem 2.84375rem; }
      .flo-block-listing-1__item:last-child {
        margin-bottom: 0; }
    .flo-block-listing-1__left-side {
      margin-right: 3.125rem; }
    .flo-block-listing-1__right-side {
      padding-right: 4rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-listing-1__item {
    margin-bottom: 5rem; }
  .flo-block-listing-1__decorative-image {
    margin-right: 3.125rem; } }

.flo-block-listing-2 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .flo-block-listing-2__item--is-masonry img {
    height: auto; }
  .flo-block-listing-2__featured-image {
    width: 100%;
    display: block;
    height: 16.9375rem; }
    .flo-block-listing-2__featured-image--2-columns {
      height: 23.75rem; }
    .flo-block-listing-2__featured-image--4-columns {
      height: 13.125rem; }
    .flo-block-listing-2__featured-image--bgi {
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; }
  .flo-block-listing-2__overlay {
    padding: 1.25rem; }
  .flo-block-listing-2__decorative-image {
    max-width: 6.25rem; }
  .flo-block-listing-2--columns-4 .flo-block-listing-2__decorative-image {
    max-width: 2.5rem; }
  .flo-block-listing-2__title {
    display: block;
    text-align: center; }
  .flo-block-listing-2--is-masonry .flo-block-listing-2__featured-image {
    height: auto; }
    .flo-block-listing-2--is-masonry .flo-block-listing-2__featured-image--2-columns {
      height: auto; }
    .flo-block-listing-2--is-masonry .flo-block-listing-2__featured-image--4-columns {
      height: auto; }
  @media screen and (min-width: 48em) {
    .flo-block-listing-2__item {
      position: relative; }
      .flo-block-listing-2__item:hover .flo-block-listing-2__overlay {
        opacity: 1; }
    .flo-block-listing-2__overlay {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-listing-2__decorative-image {
      padding-bottom: 2.1875rem; }
    .flo-block-listing-2__title {
      margin-bottom: 0.625rem; }
    .flo-block-listing-2__date-and-category {
      margin-bottom: 2.5rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-listing-2__item {
      width: 100%;
      text-align: center; }
    .flo-block-listing-2__overlay {
      width: 100%;
      height: auto;
      display: block;
      padding: 2.5rem 1.25rem; }
    .flo-block-listing-2__decorative-image {
      margin-bottom: 1.25rem; }
    .flo-block-listing-2__title {
      margin-bottom: 0.3125rem; }
    .flo-block-listing-2__date-and-category {
      display: block;
      margin-bottom: 1.25rem; }
    .flo-block-listing-2__link {
      display: block; } }

.flo-block-listing-3__featured-image {
  width: 100%;
  display: block; }
  .flo-block-listing-3__featured-image--no-masonry-3-columns {
    height: 12.5rem; }
  .flo-block-listing-3__featured-image--no-masonry-2-columns {
    height: 19rem; }
  .flo-block-listing-3__featured-image--no-masonry-4-columns {
    height: 8.125rem; }
  .flo-block-listing-3__featured-image--bgi {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }

.flo-block-listing-3__title {
  display: block; }

.flo-block-listing-3__excerpt {
  display: block; }

.flo-block-listing-3__date-and-category {
  display: block; }

@media screen and (min-width: 48em) {
  .flo-block-listing-3 {
    margin: 0 7.625rem; }
    .flo-block-listing-3__text-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      padding: 1.875rem; }
    .flo-block-listing-3__title {
      margin-bottom: 0.9375rem; }
    .flo-block-listing-3__excerpt {
      margin-bottom: 2.0625rem; }
    .flo-block-listing-3__date-and-category {
      margin-bottom: 1rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-listing-3__item {
    width: 100%;
    text-align: center; }
  .flo-block-listing-3__text-area {
    width: 100%;
    height: auto;
    display: block;
    padding: 2.5rem 1.25rem; }
  .flo-block-listing-3__title {
    margin-bottom: 0.625rem; }
  .flo-block-listing-3__excerpt {
    margin-bottom: 0.9375rem; }
  .flo-block-listing-3__date-and-category {
    display: block; }
  .flo-block-listing-3__link {
    display: block; } }

.flo-block-listing-4__item--big {
  display: block;
  position: relative;
  width: 100%; }

.flo-block-listing-4__featured-image {
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-listing-4__big-item-overlay {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }

.flo-block-listing-4__big-item-title-area {
  position: relative;
  text-align: center; }

.flo-block-listing-4__big-item-decorative-letter {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-70%, -40%); }

.flo-block-listing-4__big-item-title {
  display: block; }

.flo-block-listing-4__big-item-tags {
  display: block;
  text-transform: uppercase !important; }

.flo-block-listing-4__big-item-link {
  padding: 0.59375rem 1.5rem 0.59375rem 1.5rem;
  border: 1px solid;
  border-color: inherit;
  transition: color 0.5s, background-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-block-listing-4__bottom-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.flo-block-listing-4__small-item-overlay {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  text-align: center;
  padding: 1.25rem; }

@media screen and (min-width: 48em) {
  .flo-block-listing-4__top-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .flo-block-listing-4__item--big:hover .flo-block-listing-4__big-item-overlay {
    opacity: 1; }
  .flo-block-listing-4__big-item-overlay {
    position: absolute;
    top: 3.1875rem;
    left: 3.1875rem;
    right: 3.1875rem;
    bottom: 3.1875rem;
    opacity: 0;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-listing-4__big-item-decorative-image {
    margin-bottom: 5.3125rem; }
  .flo-block-listing-4__big-item-title-area {
    margin-bottom: 5.625rem; }
  .flo-block-listing-4__big-item-title {
    margin-top: 1rem;
    margin-bottom: 1.125rem; }
  .flo-block-listing-4__top-wrap-right-side {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: start;
        align-items: flex-start; }
    .flo-block-listing-4__top-wrap-right-side .flo-block-listing-4__item {
      position: relative; }
      .flo-block-listing-4__top-wrap-right-side .flo-block-listing-4__item--small:nth-child(3), .flo-block-listing-4__top-wrap-right-side .flo-block-listing-4__item--small:nth-child(4) {
        margin-bottom: 0 !important; }
      .flo-block-listing-4__top-wrap-right-side .flo-block-listing-4__item--small:nth-child(2), .flo-block-listing-4__top-wrap-right-side .flo-block-listing-4__item--small:nth-child(4) {
        margin-right: 0 !important; }
  .flo-block-listing-4__item--small {
    position: relative; }
    .flo-block-listing-4__item--small:hover .flo-block-listing-4__small-item-overlay {
      opacity: 1; }
    .flo-block-listing-4__item--small:nth-child(4n) {
      margin-right: 0 !important; }
  .flo-block-listing-4__small-item-overlay {
    position: absolute;
    top: 1.5rem;
    left: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    opacity: 0;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); } }

@media screen and (max-width: 47.9375em) {
  .flo-block-listing-4__top-wrap {
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-listing-4__top-wrap-left-side {
    width: 100%; }
  .flo-block-listing-4__big-item-overlay {
    padding: 1.875rem 1.25rem;
    padding-top: 3.75rem;
    height: 100%; }
  .flo-block-listing-4__big-item-decorative-image {
    margin-bottom: 2.5rem; }
  .flo-block-listing-4__big-item-title-area {
    margin-bottom: 2.8125rem; }
  .flo-block-listing-4__big-item-title {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem; }
  .flo-block-listing-4__big-item-tags {
    margin-bottom: 1.25rem; }
  .flo-block-listing-4__top-wrap-right-side {
    width: 100%; }
    .flo-block-listing-4__top-wrap-right-side .flo-block-listing-4__item--small {
      display: block; }
  .flo-block-listing-4__item--small {
    width: 100%; }
  .flo-block-listing-4__small-item-overlay {
    padding: 1.875rem 1.25rem; } }

.flo-block-listing-5__item {
  display: block; }

.flo-block-listing-5__text-area {
  text-align: center; }

.flo-block-listing-5__item-decorative-image {
  max-height: 4.375rem;
  width: auto; }

.flo-block-listing-5__item-link {
  display: inline-block;
  border: 1px solid;
  padding: 0.75rem 1.5625rem 0.5625rem 1.5625rem;
  transition: color 0.5s, background-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-listing-5__item-link--under-featured-image {
    margin-top: 3.125rem;
    margin-bottom: 0 !important; }

.flo-block-listing-5__item-featured-image {
  display: block;
  width: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-listing-5__button-wrap {
  text-align: center; }

.flo-block-listing-5__share-links {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  margin-top: 3.75rem; }
  .flo-block-listing-5__share-links--delimiter {
    display: inline-block;
    width: 2.5625rem;
    height: 1px;
    margin-left: 0.9375rem;
    margin-right: 0.9375rem; }
  .flo-block-listing-5__share-links .flo-share-link {
    padding: 0 1.25rem; }

@media screen and (min-width: 48em) {
  .flo-block-listing-5 {
    padding: 0 14rem; }
    .flo-block-listing-5__item {
      padding: 3.75rem 4.6875rem; }
    .flo-block-listing-5__text-area {
      padding: 0 6.25rem; }
    .flo-block-listing-5__item-decorative-image {
      margin-bottom: 2.375rem; }
    .flo-block-listing-5__item-title {
      margin-bottom: 0.625rem; }
    .flo-block-listing-5__item-date {
      margin-bottom: 1.25rem; }
    .flo-block-listing-5__item-link {
      margin-bottom: 3.125rem; }
    .flo-block-listing-5__item-featured-image img {
      max-height: 80vh;
      width: auto;
      margin: 0 auto;
      display: block; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-listing-5 {
    padding: 1.875rem 0; }
    .flo-block-listing-5__item {
      padding: 1.875rem 2.1875rem; }
    .flo-block-listing-5__item-decorative-image {
      margin-bottom: 1.25rem; }
    .flo-block-listing-5__item-title {
      margin-bottom: 0.625rem; }
    .flo-block-listing-5__item-date {
      margin-bottom: 1.25rem; }
    .flo-block-listing-5__item-link {
      margin-bottom: 2.1875rem; } }

.flo-block-listing-6__item {
  display: -ms-flexbox;
  display: flex; }

.flo-block-listing-6__title {
  display: inline-block; }

.flo-block-listing-6__date-and-category {
  display: inline-block; }

.flo-block-listing-6__excerpt {
  display: inline-block; }

.flo-block-listing-6__link {
  display: inline-block;
  border: 1px solid;
  padding: 0.75rem 1.5625rem 0.5625rem 1.5625rem;
  transition: color 0.5s, background-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-block-listing-6__featured-image {
  -ms-flex-positive: 1;
      flex-grow: 1;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

@media screen and (min-width: 48em) {
  .flo-block-listing-6 {
    padding: 0 4.5rem; }
    .flo-block-listing-6__item {
      transition: transform 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-listing-6__item:hover {
        transform: scale(1.05); }
    .flo-block-listing-6__text-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-positive: 1;
          flex-grow: 1;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      text-align: center;
      padding: 6.25rem 5rem; }
    .flo-block-listing-6__decorative-image {
      margin-bottom: 4.375rem; }
    .flo-block-listing-6__date-and-category {
      margin-bottom: 2.3125rem; }
    .flo-block-listing-6__excerpt {
      margin-bottom: 5rem; }
    .flo-block-listing-6__featured-image {
      width: 50%; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-listing-6__item {
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-listing-6__text-area {
    padding: 3.125rem 1.5625rem;
    text-align: center; }
  .flo-block-listing-6__decorative-image {
    margin-bottom: 1.875rem; }
  .flo-block-listing-6__title {
    display: block; }
  .flo-block-listing-6__date-and-category {
    margin-bottom: 0.9375rem; }
  .flo-block-listing-6__excerpt {
    margin-bottom: 2.5rem; }
  .flo-block-listing-6__featured-image {
    height: 18.75rem; } }

.flo-block-listing-pagination-2 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  transition: color 0.5s, background-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-listing-pagination-2__button-wrap {
    display: block;
    width: auto;
    margin: 0 auto;
    color: var(--text-color);
    border-color: var(--text-color);
    background-color: var(--background-color);
    border: 1px solid;
    transition: background-color 0.5s, color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
    .flo-block-listing-pagination-2__button-wrap:hover {
      color: var(--hover-text-color);
      background-color: var(--hover-background-color); }
  .flo-block-listing-pagination-2__button {
    display: block;
    color: inherit !important;
    padding: 0.75rem 4rem; }

.flo-block-listing-pagination {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .flo-block-listing-pagination__page-number {
    margin-right: 1.875rem;
    height: 1.4375rem;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center;
    position: relative;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
    .flo-block-listing-pagination__page-number:after {
      content: " ";
      background-color: #000;
      width: 100%;
      height: 1px;
      display: inline-block;
      position: absolute;
      bottom: 0;
      left: 0;
      opacity: 0;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-listing-pagination__page-number:hover:after {
      opacity: 1; }
    .flo-block-listing-pagination__page-number--active:after {
      opacity: 1; }
    .flo-block-listing-pagination__page-number:last-child {
      margin-right: 0; }
  .flo-block-listing-pagination__page-dots {
    margin-right: 1.875rem; }
  @media screen and (min-width: 48em) {
    .flo-block-listing-pagination {
      -ms-flex-pack: justify;
          justify-content: space-between; }
      .flo-block-listing-pagination__navigation--previous i {
        margin-right: 1.375rem; }
      .flo-block-listing-pagination__navigation--next i {
        margin-left: 1.375rem; }
      .flo-block-listing-pagination__spacer {
        -ms-flex: 0 1 10%;
            flex: 0 1 10%; }
      .flo-block-listing-pagination__page-links {
        text-align: center; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-listing-pagination {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-listing-pagination__navigation {
        display: -ms-flexbox;
        display: flex; }
        .flo-block-listing-pagination__navigation--previous {
          margin-bottom: 1.875rem; }
          .flo-block-listing-pagination__navigation--previous i {
            margin-right: 0.6875rem; }
        .flo-block-listing-pagination__navigation--next {
          margin-top: 1.875rem; }
          .flo-block-listing-pagination__navigation--next i {
            margin-left: 0.6875rem; } }

.flo-block-numeric-details__numeric-detail {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: start;
      justify-content: flex-start;
  text-align: center;
  border-color: inherit !important; }

.flo-block-numeric-details__numeric-detail-number {
  position: relative; }
  .flo-block-numeric-details__numeric-detail-number:not(:last-child) {
    margin-bottom: 0.625rem; }
  .flo-block-numeric-details__numeric-detail-number.flo-block-numeric-details__plus-will-show:before {
    content: "+";
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
    opacity: 0;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-numeric-details__numeric-detail-number.flo-block-numeric-details__plus-will-show.flo-block-numeric-details__plus-shown:before {
    opacity: 1; }

@media screen and (min-width: 48em) {
  .flo-block-numeric-details {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-align: stretch;
        align-items: stretch;
    -ms-flex-pack: center;
        justify-content: center;
    padding: 1.875rem 0; }
    .flo-block-numeric-details__numeric-detail {
      padding: 0.9375rem 1.5625rem; }
      .flo-block-numeric-details__numeric-detail:not(:last-child) {
        border-right: 1px solid; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-numeric-details__numeric-detail {
    padding: 3.125rem 0;
    margin: 0 3.125rem; }
    .flo-block-numeric-details__numeric-detail:not(:last-child) {
      border-bottom: 1px solid; } }

.flo-block-press__title {
  text-align: center; }

.flo-block-press__press-images {
  position: relative;
  border-color: inherit; }

.flo-block-press__slider .flo-block-press__press-image {
  margin: 0.9375rem auto !important; }

.flo-block-press__slider .slick-slide {
  overflow: visible;
  display: inline-block;
  vertical-align: middle;
  float: none;
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-block-press__slider .slick-active {
  opacity: 1; }

.flo-block-press__slider .flo-block-press__arrow {
  font-size: 0.9375rem;
  position: absolute;
  transform-origin: center;
  transform: translateY(-50%);
  z-index: 100; }

.flo-block-press__slider .flo-block-press__arrow--prev {
  left: 2rem; }

.flo-block-press__slider .flo-block-press__arrow--next {
  right: 2rem; }

.flo-block-press__press-images-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: center;
      align-items: center; }

.flo-block-press__press-images-wrap,
.flo-block-press__slides > div {
  padding-top: 3.3125rem;
  border-top: 1px solid;
  border-color: inherit; }

@media screen and (min-width: 48em) {
  .flo-block-press__slider .flo-block-press__arrow {
    top: 50%; }
  .flo-block-press__press-images-wrap {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
    -ms-flex-pack: space-evenly;
        justify-content: space-evenly; }
  .flo-block-press__press-image {
    max-width: 8.4375rem;
    margin: 0.9375rem; }
    .flo-block-press__press-image:nth-child(5n) {
      margin-right: 0; } }

@media screen and (min-width: 48em) and (max-width: 64em) {
  .flo-block-press__slider .flo-block-press__arrow--prev {
    left: -2.75rem; }
  .flo-block-press__slider .flo-block-press__arrow--next {
    right: -2.75rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-press__slider__arrow {
    bottom: 0; }
  .flo-block-press__press-images-wrap {
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-press__press-image {
    max-width: 80%;
    display: block;
    margin: 0.625rem auto; }
    .flo-block-press__press-image:not(:last-child) {
      margin-bottom: 2.5rem; } }

.flo-block-pricing-package-1 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-pricing-package-1__image-wrap {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    width: 58.4375rem;
    position: relative; }
  .flo-block-pricing-package-1__package-number {
    position: absolute; }
  .flo-block-pricing-package-1__text-area {
    text-align: center; }
  .flo-block-pricing-package-1__decorative-icon {
    margin-bottom: 1.8125rem; }
  .flo-block-pricing-package-1__title {
    margin-bottom: 0.875rem; }
  .flo-block-pricing-package-1__subtitle {
    margin-bottom: 3.125rem; }
  @media screen and (min-width: 48em) {
    .flo-block-pricing-package-1__image-wrap--text-area-position-left {
      -ms-flex-order: 2;
          order: 2; }
    .flo-block-pricing-package-1__image-wrap--text-area-position-right {
      -ms-flex-order: 1;
          order: 1; }
    .flo-block-pricing-package-1__package-number {
      bottom: 4.3125rem; }
      .flo-block-pricing-package-1__package-number--text-area-position-left {
        right: 4.5rem; }
      .flo-block-pricing-package-1__package-number--text-area-position-right {
        left: 4.5rem; }
    .flo-block-pricing-package-1__text-area {
      margin: 4.5rem 0;
      padding: 4rem 5.625rem 4.875rem 5.625rem;
      width: 28.8125rem;
      z-index: 1; }
      .flo-block-pricing-package-1__text-area--text-area-position-left {
        -ms-flex-order: 1;
            order: 1;
        margin-right: -14.375rem; }
      .flo-block-pricing-package-1__text-area--text-area-position-right {
        -ms-flex-order: 2;
            order: 2;
        margin-left: -14.375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-pricing-package-1 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-pricing-package-1__image-wrap {
        width: 100%;
        height: 18.75rem; }
        .flo-block-pricing-package-1__image-wrap--text-area-position-left {
          -ms-flex-order: 2;
              order: 2;
          margin-top: 1.25rem; }
        .flo-block-pricing-package-1__image-wrap--text-area-position-right {
          -ms-flex-order: 1;
              order: 1;
          margin-bottom: 1.25rem; }
      .flo-block-pricing-package-1__package-number {
        bottom: 1.875rem;
        left: 50%;
        transform: translateX(-50%); }
      .flo-block-pricing-package-1__text-area {
        padding: 1.25rem 1.875rem;
        word-wrap: break-word; }
        .flo-block-pricing-package-1__text-area--text-area-position-left {
          -ms-flex-order: 1;
              order: 1; }
        .flo-block-pricing-package-1__text-area--text-area-position-right {
          -ms-flex-order: 2;
              order: 2; } }

.flo-block-pricing-packages-2__title-area {
  text-align: center; }

.flo-block-pricing-packages-2__packages-area {
  display: -ms-flexbox;
  display: flex; }

.flo-block-pricing-packages-2__package {
  height: 29.6875rem;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: end;
      justify-content: flex-end;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-pricing-packages-2 .flo-block-pricing-packages-2__package {
  background-image: url(https://42fccb.claudeassets.com/20240125002332im_/https://shaunaheron.com/wp-content/themes/porto2/theme-files/public/img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-pricing-packages-2 .flo-block-pricing-packages-2__package {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-pricing-packages-2 .flo-block-pricing-packages-2__package {
    background-image: var(--img-large); } }

.flo-block-pricing-packages-2__package-content {
  margin: 1.1875rem;
  padding: 2.5rem 2.4375rem;
  text-align: center; }

.flo-block-pricing-packages-2__package-number-and-decorative-icon {
  position: relative;
  height: 5.75rem;
  padding: 1.875rem;
  opacity: 1; }

.flo-block-pricing-packages-2__package-number {
  position: relative;
  z-index: 2; }

.flo-block-pricing-packages-2__decorative-icon {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  z-index: 1; }

.flo-block-pricing-packages-2__package-title {
  margin-bottom: 1.6875rem; }

.flo-block-pricing-packages-2__package-description {
  box-sizing: border-box;
  height: 11.625rem;
  margin-bottom: 0; }

.flo-block-pricing-packages-2__package-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.flo-block-pricing-packages-2__package-block-button-wrap {
  text-align: center; }

.flo-block-pricing-packages-2__package-block-button {
  display: inline-block;
  padding: 0.75rem 3.125rem;
  border: 1px solid;
  transition: color 0.5s, background-color 0.5s, border-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@media screen and (min-width: 48em) {
  .flo-block-pricing-packages-2__title-area {
    margin: 3.875rem 0; }
  .flo-block-pricing-packages-2__packages-area {
    -ms-flex-pack: distribute;
        justify-content: space-around; }
    .flo-block-pricing-packages-2__packages-area--3-packages {
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .flo-block-pricing-packages-2__package {
    width: calc(100% / 3 - 1.375rem); }
    .flo-block-pricing-packages-2__package:not(:hover) .flo-block-pricing-packages-2__package-content {
      background-color: transparent; }
    .flo-block-pricing-packages-2__package:not(:hover) .flo-block-pricing-packages-2__package-description {
      height: 0 !important; }
    .flo-block-pricing-packages-2__package:not(:hover) .flo-block-pricing-packages-2__package-number-and-decorative-icon {
      height: 0 !important;
      opacity: 0; }
    .flo-block-pricing-packages-2__package:not(:hover) .flo-block-pricing-packages-2__package-title {
      color: var(--elements-on-image-color); }
    .flo-block-pricing-packages-2__package:not(:hover) .flo-block-pricing-packages-2__package-price {
      color: var(--elements-on-image-color); }
  .flo-block-pricing-packages-2__package-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: end;
        justify-content: flex-end;
    height: 100%;
    transition: background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    color: var(--elements-on-hover-color); }
  .flo-block-pricing-packages-2__package-number-and-decorative-icon {
    transition: height 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-pricing-packages-2__package-description {
    overflow: hidden;
    transition: height 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-pricing-packages-2__package-block-button-wrap {
    margin-top: 3.9375rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-pricing-packages-2__title-area {
    margin: 1.875rem 0; }
  .flo-block-pricing-packages-2__packages-area {
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-pricing-packages-2__package {
    height: 31.25rem; }
    .flo-block-pricing-packages-2__package:not(:last-child) {
      margin-bottom: 1.375rem; }
  .flo-block-pricing-packages-2__decorative-icon {
    max-width: 50%; }
  .flo-block-pricing-packages-2__package-block-button-wrap {
    margin-top: 2.5rem; } }

.flo-block-related-items__title-area {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  text-align: center; }

.flo-block-related-items__title {
  position: relative; }

.flo-block-related-items__title-decoration {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.5625rem; }

.flo-block-related-items__item {
  display: block; }

.flo-block-related-items__item-featured-image {
  display: block;
  height: 18.5625rem;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-related-items__item-text-area {
  display: block;
  padding: 2.3125rem 3.125rem;
  text-align: center; }

.flo-block-related-items__item-title {
  display: block;
  margin-bottom: 0.625rem; }

.flo-block-related-items__item-category {
  display: block; }

@media screen and (min-width: 48em) {
  .flo-block-related-items__title-area {
    margin-bottom: 4.9375rem; }
  .flo-block-related-items__title-decoration--left {
    right: calc(100% + 1.9375rem); }
  .flo-block-related-items__title-decoration--right {
    left: calc(100% + 1.9375rem); }
  .flo-block-related-items__items {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center; }
  .flo-block-related-items__item {
    width: 18.5625rem;
    margin: 0 1.59375rem;
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-related-items__item:hover {
      transform: scale(1.05); } }

@media screen and (max-width: 47.9375em) {
  .flo-block-related-items__title-area {
    margin-bottom: 1.875rem; }
  .flo-block-related-items__title-decoration--left {
    right: calc(100% + 0.625rem); }
  .flo-block-related-items__title-decoration--right {
    left: calc(100% + 0.625rem); }
  .flo-block-related-items__item {
    width: 100%;
    margin-bottom: 1.25rem; } }

.flo-block-share-and-tags__share-links a {
  font-size: 0.6875rem; }

@media screen and (min-width: 48em) {
  .flo-block-share-and-tags {
    padding: 3.125rem 13.8125rem;
    display: -ms-flexbox;
    display: flex; }
    .flo-block-share-and-tags__share {
      display: -ms-flexbox;
      display: flex;
      width: 50%;
      text-align: left; }
    .flo-block-share-and-tags__share-label {
      margin-right: 4.6875rem; }
    .flo-block-share-and-tags__share-links a {
      margin-right: 2.1875rem; }
    .flo-block-share-and-tags__tags {
      width: 50%;
      text-align: right; }
    .flo-block-share-and-tags__tags a {
      margin-left: 3.125rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-share-and-tags {
    text-align: center;
    padding: 1.875rem 2.03125rem; }
    .flo-block-share-and-tags__share {
      text-align: center;
      margin-bottom: 1.875rem; }
    .flo-block-share-and-tags__share-label {
      display: block; }
    .flo-block-share-and-tags__share-links {
      display: block; }
    .flo-block-share-and-tags__tags a {
      margin: 0.9375rem; } }

.flo-block-slideshow-1 {
  position: relative;
  /* START: LINK STYLE */
  /* END: LINK STYLE */ }
  .flo-block-slideshow-1__slides {
    position: relative; }
  .flo-block-slideshow-1__content-wrap {
    overflow: hidden; }
  .flo-block-slideshow-1__header-area {
    pointer-events: initial;
    -webkit-user-select: initial;
       -moz-user-select: initial;
        -ms-user-select: initial;
            user-select: initial; }
    .flo-block-slideshow-1__header-area header:not(.is-sticky) .flo-header {
      color: inherit;
      border-color: inherit !important;
      background-color: transparent !important; }
  .flo-block-slideshow-1__middle-area {
    width: 100%;
    position: relative;
    min-height: 5rem; }
  .flo-block-slideshow-1__arrow {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: initial;
    z-index: 1;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__logo {
    position: relative;
    text-align: center;
    margin: 0 auto; }
    .flo-block-slideshow-1__logo--is-light .flo-block-slideshow-1__logo-image--default {
      opacity: 0; }
    .flo-block-slideshow-1__logo--is-light .flo-block-slideshow-1__logo-image--light {
      opacity: 1; }
  .flo-block-slideshow-1__logo-image {
    display: inline-block;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-slideshow-1__logo-image--default {
      position: relative; }
    .flo-block-slideshow-1__logo-image--light {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      opacity: 0; }
  .flo-block-slideshow-1__footer-area {
    /* START: APPLY SHADOW TO INSTAGRAM IMAGES */
    /* END: APPLY SHADOW TO INSTAGRAM IMAGES */ }
    .flo-block-slideshow-1__footer-area .flo-footer-area-1-type-a,
    .flo-block-slideshow-1__footer-area .flo-footer-area-1-type-b,
    .flo-block-slideshow-1__footer-area .flo-footer-area-1-type-c,
    .flo-block-slideshow-1__footer-area .flo-footer-area-1-type-d,
    .flo-block-slideshow-1__footer-area .flo-footer-area-2-type-a,
    .flo-block-slideshow-1__footer-area .flo-footer-area-2-type-b,
    .flo-block-slideshow-1__footer-area .flo-footer-copyrights-area-type-a,
    .flo-block-slideshow-1__footer-area .flo-footer-copyrights-area-type-b {
      color: inherit !important;
      background-color: transparent !important;
      border-color: inherit !important; }
    .flo-block-slideshow-1__footer-area .flo-footer-image-feed__image,
    .flo-block-slideshow-1__footer-area .img-block {
      box-shadow: 0px 0px 42px 5px rgba(0, 0, 0, 0.4); }
  .flo-block-slideshow-1 .flo-block {
    padding-bottom: 0; }
  .flo-block-slideshow-1 .flo-block-delimiter-1__delimiter-line {
    transition: background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1 .flo-block-delimiter-1__decorative-letter {
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-slideshow-1 .flo-block-delimiter-1__decorative-letter:before, .flo-block-slideshow-1 .flo-block-delimiter-1__decorative-letter:after {
      transition: border-color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__link--style-button {
    background-color: transparent !important;
    transition: color 0.5s, border-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__link--style-link {
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-left-side, .flo-block-slideshow-1__footer-middle-area, .flo-block-slideshow-1__footer-right-side {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    text-align: center;
    box-sizing: border-box; }
  .flo-block-slideshow-1__footer-left-side-title {
    margin-bottom: 0.625rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-left-side-text {
    margin-bottom: 0.4375rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-left-side-link {
    pointer-events: initial; }
  .flo-block-slideshow-1__footer-middle-area {
    position: relative; }
  .flo-block-slideshow-1__footer-middle-area-slide-title {
    display: none;
    position: relative;
    margin-bottom: 1.6875rem;
    margin-top: 0.875rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-middle-area-slide-title-decorative-letter {
    opacity: 0.1 !important;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, 0%);
    line-height: 1em !important;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-middle-area-slide-subtitle {
    display: none;
    position: relative;
    margin-bottom: 2.375rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-middle-area-slide-link {
    position: relative;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-slideshow-1__footer-middle-area-slide-link, .flo-block-slideshow-1__footer-middle-area-slide-link.hidden {
      pointer-events: none;
      opacity: 0; }
    .flo-block-slideshow-1__footer-middle-area-slide-link.visible {
      opacity: 1;
      pointer-events: initial; }
  .flo-block-slideshow-1__footer-middle-area-scrolldown {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -2.09375rem;
    pointer-events: initial;
    font-size: 0.625rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-right-side-title {
    margin-bottom: 0.625rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-right-side-text {
    margin-bottom: 0.4375rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-right-side-link {
    pointer-events: initial; }
  @media screen and (min-width: 48em) {
    .flo-block-slideshow-1__footer {
      padding: 0 6.375rem;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: stretch;
          align-items: stretch;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding-bottom: 4.9375rem; }
    .flo-block-slideshow-1__footer-delimiter {
      width: 100%;
      margin-bottom: 4.25rem; }
    .flo-block-slideshow-1__footer-left-side, .flo-block-slideshow-1__footer-middle-area, .flo-block-slideshow-1__footer-right-side {
      -ms-flex-pack: center;
          justify-content: center; }
    .flo-block-slideshow-1__footer-left-side {
      padding: 0.9375rem 4.125rem 0.9375rem 2.25rem;
      width: 29%; }
    .flo-block-slideshow-1__footer-left-side-link {
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none;
      transition: transform 0.5s, color 0.5s, opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-slideshow-1__footer-left-side-link:hover {
        transform: scale(1.05); }
    .flo-block-slideshow-1__footer-middle-area {
      position: relative;
      width: 42%;
      padding: 0.9375rem 4.125rem; }
      .flo-block-slideshow-1__footer-middle-area:before, .flo-block-slideshow-1__footer-middle-area:after {
        content: " ";
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        height: 100%;
        max-height: 11.125rem;
        width: 1px;
        transition: background-color 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-slideshow-1__footer-middle-area:before {
        left: 0; }
      .flo-block-slideshow-1__footer-middle-area:after {
        right: 0; }
    .flo-block-slideshow-1--middle-area-has-no-borders .flo-block-slideshow-1__footer-left-side,
    .flo-block-slideshow-1--middle-area-has-no-borders .flo-block-slideshow-1__footer-right-side {
      width: 20%; }
    .flo-block-slideshow-1--middle-area-has-no-borders .flo-block-slideshow-1__footer-middle-area {
      width: 60%; }
      .flo-block-slideshow-1--middle-area-has-no-borders .flo-block-slideshow-1__footer-middle-area:before, .flo-block-slideshow-1--middle-area-has-no-borders .flo-block-slideshow-1__footer-middle-area:after {
        content: none; }
    .flo-block-slideshow-1__footer-middle-area-slide-link {
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none;
      transition: transform 0.5s, color 0.5s, opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-slideshow-1__footer-middle-area-slide-link:hover {
        transform: scale(1.05); }
    .flo-block-slideshow-1__footer-right-side {
      padding: 0.9375rem 2.25rem 0.9375rem 4.125rem;
      width: 29%; }
    .flo-block-slideshow-1__footer-right-side-link {
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none;
      transition: transform 0.5s, color 0.5s, opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-slideshow-1__footer-right-side-link:hover {
        transform: scale(1.05); } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-slideshow-1__footer-delimiter {
      margin-bottom: 1.875rem; }
    .flo-block-slideshow-1__footer-left-side {
      margin-bottom: 6.25rem; }
    .flo-block-slideshow-1__footer-middle-area {
      padding-top: 1.25rem;
      margin-bottom: 5rem; }
    .flo-block-slideshow-1__footer-middle-area-scrolldown {
      pointer-events: initial;
      bottom: calc(100% + 2.1875rem); } }
  .flo-block-slideshow-1 .flo-hero-video-embed__button {
    display: none; }
  @media screen and (min-width: 48em) {
    .flo-block-slideshow-1__content-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      pointer-events: none; }
    .flo-block-slideshow-1__header-area {
      width: 100%;
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      pointer-events: initial; }
    .flo-block-slideshow-1__header {
      padding: 1.8125rem 6.375rem;
      border-bottom-style: solid;
      border-bottom-width: 1px;
      transition: border-color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-slideshow-1__header-menu {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      width: 100%; }
      .flo-block-slideshow-1__header-menu > li:not(:last-child) {
        margin-right: 5.5625rem; }
    .flo-block-slideshow-1__arrow--next {
      right: 6.375rem; }
    .flo-block-slideshow-1__arrow--prev {
      left: 6.375rem; }
    .flo-block-slideshow-1__logo {
      width: 100%;
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 1;
          flex-shrink: 1; }
    .flo-block-slideshow-1__footer-area {
      width: 100%;
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      pointer-events: initial; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-slideshow-1--mobile-freeze {
      overflow: scroll; }
    .flo-block-slideshow-1 {
      padding: 0;
      z-index: 1; }
    .flo-block-slideshow-1__slides {
      height: 100vh;
      width: 100vw; }
    .flo-block-slideshow-1__content-wrap {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1;
      overflow-y: scroll;
      padding-bottom: 0; }
      .flo-block-slideshow-1__content-wrap .not-sticky .flo-block-slideshow-1__logo--is-light .flo-header-mobile__logo-image--default {
        opacity: 0; }
      .flo-block-slideshow-1__content-wrap .not-sticky .flo-block-slideshow-1__logo--is-light .flo-header-mobile__logo-image--light {
        opacity: 1; }
    .flo-block-slideshow-1__header-area {
      margin-bottom: 5rem; }
      .flo-block-slideshow-1__header-area .flo-header-mobile.not-sticky {
        background-color: transparent; }
    .flo-block-slideshow-1__header {
      display: none; }
    .flo-block-slideshow-1__middle-area {
      min-height: 5rem; }
    .flo-block-slideshow-1__arrow--next {
      right: 2.03125rem; }
    .flo-block-slideshow-1__arrow--prev {
      left: 2.03125rem; }
    .flo-block-slideshow-1__logo {
      padding: 0 2.03125rem;
      margin-bottom: 6.25rem; }
    .flo-block-slideshow-1__logo-image {
      max-width: calc(100vw - 8.125rem); }
    .flo-block-slideshow-1__header-area {
      margin-bottom: 0; }
    .flo-block-slideshow-1__footer-area {
      padding: 0 2.03125rem;
      margin-bottom: 6.25rem; } }

.flo-block-slideshow-2 {
  position: relative; }
  .flo-block-slideshow-2__slides {
    position: relative; }
  .flo-block-slideshow-2__content-wrap {
    overflow: hidden;
    pointer-events: none; }
    .flo-block-slideshow-2__content-wrap > * {
      pointer-events: initial; }
  .flo-block-slideshow-2__arrow {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: initial;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-2__header-area {
    pointer-events: initial;
    -webkit-user-select: initial;
       -moz-user-select: initial;
        -ms-user-select: initial;
            user-select: initial; }
    .flo-block-slideshow-2__header-area header:not(.is-sticky) .flo-header {
      color: inherit !important;
      border-color: inherit !important;
      background-color: transparent !important; }
  .flo-block-slideshow-2__logo {
    position: relative;
    text-align: center; }
    .flo-block-slideshow-2__logo--is-light .flo-block-slideshow-2__logo-image--default {
      opacity: 0; }
    .flo-block-slideshow-2__logo--is-light .flo-block-slideshow-2__logo-image--light {
      opacity: 1; }
  .flo-block-slideshow-2__logo-image {
    display: inline-block;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-slideshow-2__logo-image--default {
      position: relative; }
    .flo-block-slideshow-2__logo-image--light {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      opacity: 0; }
  .flo-block-slideshow-2__scroll-down-area {
    pointer-events: initial;
    margin-bottom: 5.4375rem;
    text-align: center;
    font-size: 0.6875rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
  .flo-block-slideshow-2__scroll-down-area-label {
    margin-top: 2.75rem; }
  .flo-block-slideshow-2 .flo-hero-video-embed__button {
    bottom: 2.5rem;
    top: auto;
    transform: translate(-50%, 0); }
  @media screen and (min-width: 48em) {
    .flo-block-slideshow-2__content-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      pointer-events: none; }
    .flo-block-slideshow-2__arrow--next {
      right: 6.375rem;
      z-index: 1000; }
    .flo-block-slideshow-2__arrow--prev {
      left: 6.375rem;
      z-index: 1000; }
    .flo-block-slideshow-2__header-area {
      width: 100%;
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      pointer-events: initial; }
    .flo-block-slideshow-2--header-menu-items-hidden .flo-header .menu {
      opacity: 0;
      pointer-events: none; }
    .flo-block-slideshow-2--header-logo-hidden .flo-header__logo {
      opacity: 0;
      pointer-events: none; }
    .flo-block-slideshow-2__logo {
      width: 100%;
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 1;
          flex-shrink: 1; }
    .flo-block-slideshow-2__menu-wrap {
      margin-top: 1.875rem;
      pointer-events: initial; }
    .flo-block-slideshow-2__menu > li {
      min-width: 10.6875rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; }
      .flo-block-slideshow-2__menu > li:not(:last-child) {
        border-right: 1px solid; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-slideshow-2--mobile-freeze {
      overflow: scroll; }
    .flo-block-slideshow-2__logo--is-light .flo-header-mobile {
      opacity: 1 !important; }
    .flo-block-slideshow-2__logo--is-light .flo-header-mobile__logo-image--default {
      opacity: 0; }
    .flo-block-slideshow-2__slides {
      height: 100vh;
      width: 100vw; }
    .flo-block-slideshow-2__arrow--next {
      right: 0.9375rem;
      z-index: 1000; }
    .flo-block-slideshow-2__arrow--prev {
      left: 0.9375rem;
      z-index: 1000; }
    .flo-block-slideshow-2__content-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: stretch;
          align-items: stretch;
      -ms-flex-pack: justify;
          justify-content: space-between;
      overflow: scroll;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: all; }
    .flo-block-slideshow-2__header-area {
      pointer-events: initial;
      margin-bottom: 5rem; }
      .flo-block-slideshow-2__header-area .flo-header-mobile.not-sticky {
        background-color: transparent; }
    .flo-block-slideshow-2__mobile-header-menu-hidden .flo-header-mobile .flo-header-mobile__menu-trigger {
      display: none; }
    .flo-block-slideshow-2__mobile-header-logo-hidden .flo-header-mobile .flo-header-mobile__logo {
      display: none; }
    .flo-block-slideshow-2__logo {
      padding: 0 2.03125rem;
      margin: auto;
      margin-bottom: 6.25rem;
      margin-top: 1.875rem; }
    .flo-block-slideshow-2__logo-image {
      max-width: calc(100vw - 8.125rem); }
    .flo-block-slideshow-2__menu-wrap {
      pointer-events: initial; }
    .flo-block-slideshow-2__menu {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: stretch;
          align-items: stretch;
      text-align: center; }
      .flo-block-slideshow-2__menu > li > ul {
        display: none; }
      .flo-block-slideshow-2__menu li {
        position: relative;
        padding: 0.3125rem 0; }
      .flo-block-slideshow-2__menu .children-visible > .flo-block-slideshow-2__menu-dropdown-toggle {
        transform: translateY(0%) rotate(0deg); }
      .flo-block-slideshow-2__menu .flo-block-slideshow-2__menu-dropdown-toggle {
        transform: rotate(45deg);
        font-size: 0.75rem;
        letter-spacing: 0;
        color: inherit;
        margin: 0.625rem 0;
        transition: transform 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-slideshow-2__menu .sub-menu {
        padding: 1.25rem 0;
        top: 100%; }
        .flo-block-slideshow-2__menu .sub-menu:before {
          content: none; }
        .flo-block-slideshow-2__menu .sub-menu:after {
          content: none; } }

.flo-block-slideshow-3 {
  position: relative; }
  .flo-block-slideshow-3__content-wrap {
    overflow: hidden;
    position: relative;
    pointer-events: none; }
    .flo-block-slideshow-3__content-wrap > * {
      pointer-events: initial; }
  .flo-block-slideshow-3__header-area {
    pointer-events: initial;
    -webkit-user-select: initial;
       -moz-user-select: initial;
        -ms-user-select: initial;
            user-select: initial;
    width: 100%; }
    .flo-block-slideshow-3__header-area header:not(.is-sticky) .flo-header {
      color: inherit !important;
      border-color: inherit !important;
      background-color: transparent !important; }
  .flo-block-slideshow-3__title-area {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 80%; }
  .flo-block-slideshow-3__title-area-title-wrap {
    position: relative; }
  .flo-block-slideshow-3__title-area-title {
    display: none;
    position: relative;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-3__title-area-title-decorative-letter {
    opacity: 0.1 !important;
    position: absolute;
    left: 50%;
    top: calc(50% + 0.1em);
    transform: translate(-50%, -50%);
    line-height: 1em !important;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-3__title-area-subtitle {
    display: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: calc(100% + 0.625rem);
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-3__title-area-button {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: calc(100% + 19.375vh);
    transition: all 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-slideshow-3__title-area-button, .flo-block-slideshow-3__title-area-button.hidden {
      pointer-events: none;
      opacity: 0; }
    .flo-block-slideshow-3__title-area-button.visible {
      opacity: 1;
      pointer-events: initial; }
  .flo-block-slideshow-3__arrows {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    width: 100%;
    pointer-events: none; }
  .flo-block-slideshow-3__arrow {
    pointer-events: initial;
    font-size: 0.625rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: opacity 0.5s, color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 0.28; }
    .flo-block-slideshow-3__arrow:hover {
      opacity: 1; }
  .flo-block-slideshow-3__scroll-down-area {
    pointer-events: initial;
    margin-bottom: 5.4375rem;
    text-align: center;
    font-size: 0.6875rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
  .flo-block-slideshow-3__scroll-down-area-label {
    margin-top: 2.75rem; }
  .flo-block-slideshow-3 .flo-hero-video-embed__button {
    bottom: 2.5rem;
    top: auto;
    transform: translate(-50%, 0); }
  @media screen and (min-width: 48em) {
    .flo-block-slideshow-3__content-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      pointer-events: none; }
    .flo-block-slideshow-3--header-position-bottom .flo-block-slideshow-3__content-wrap {
      -ms-flex-pack: end;
          justify-content: flex-end; }
    .flo-block-slideshow-3--header-position-bottom .flo-block-slideshow-3__scroll-down-area {
      -ms-flex-order: 1;
          order: 1;
      margin-bottom: 1.875rem;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }
      .flo-block-slideshow-3--header-position-bottom .flo-block-slideshow-3__scroll-down-area-label {
        margin-top: 0;
        margin-bottom: 1.25rem; }
    .flo-block-slideshow-3--header-position-bottom .flo-block-slideshow-3__header-area {
      -ms-flex-order: 2;
          order: 2; }
    .flo-block-slideshow-3--header-position-bottom header:not(.is-sticky) .flo-header__menu > div > ul > li > ul {
      bottom: calc(100% + 1.5rem);
      top: auto; }
      .flo-block-slideshow-3--header-position-bottom header:not(.is-sticky) .flo-header__menu > div > ul > li > ul:before {
        top: 100%;
        bottom: auto; }
      .flo-block-slideshow-3--header-position-bottom header:not(.is-sticky) .flo-header__menu > div > ul > li > ul:after {
        top: 100%;
        bottom: auto;
        transform: translateX(-50%) rotate(180deg); }
    .flo-block-slideshow-3--header-position-bottom .flo-hero-video-embed__button {
      top: 2.5rem;
      bottom: auto;
      transform: translate(-50%, 0); }
    .flo-block-slideshow-3__header-area .flo-header {
      margin-bottom: 0; }
    .flo-block-slideshow-3__arrows {
      padding: 0 6.375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-slideshow-3 {
      overflow-y: scroll; }
      .flo-block-slideshow-3__logo--is-light .flo-header-mobile {
        opacity: 1 !important; }
      .flo-block-slideshow-3__logo--is-light .flo-header-mobile__logo-image--default {
        opacity: 0; }
      .flo-block-slideshow-3__slides {
        height: 100vh;
        width: 100vw; }
      .flo-block-slideshow-3__content-wrap {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: stretch;
            align-items: stretch;
        -ms-flex-pack: justify;
            justify-content: space-between;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        overflow-y: scroll;
        padding-bottom: 0; }
      .flo-block-slideshow-3__header-area .flo-header-mobile.not-sticky {
        background-color: transparent; }
      .flo-block-slideshow-3__title-area {
        top: 40%;
        width: 100%; }
      .flo-block-slideshow-3__title-area-title {
        width: calc(100% - 10.15625rem);
        margin: 0 auto; }
      .flo-block-slideshow-3__title-area-subtitle {
        width: calc(100% - 10.15625rem); }
      .flo-block-slideshow-3__arrows {
        padding: 0 2.03125rem; } }

.flo-block-slideshow-4 {
  position: relative; }
  .flo-block-slideshow-4--layout-b .flo-block-slideshow-4__counter,
  .flo-block-slideshow-4--layout-b .flo-block-slideshow-4__arrow {
    color: white;
    text-shadow: 0px 0px 10px black; }
  .flo-block-slideshow-4__arrows {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    width: 100%;
    pointer-events: none; }
  .flo-block-slideshow-4__arrow {
    pointer-events: initial;
    font-size: 0.625rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: opacity 0.5s, color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 0.28; }
    .flo-block-slideshow-4__arrow:hover {
      opacity: 1; }
  .flo-block-slideshow-4__counter {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 3rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-4__counter-index {
    position: absolute;
    bottom: 0.6em;
    right: 100%; }
  .flo-block-slideshow-4__counter-count {
    position: absolute;
    top: 0.6em;
    left: 100%; }
  @media screen and (min-width: 48em) {
    .flo-block-slideshow-4__arrows {
      padding: 0 6.375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-slideshow-4__arrows {
      padding: 0 2.03125rem; }
    .flo-block-slideshow-4 .flo-hero-video-embed__button {
      display: none; } }

.flo-block-social-links {
  text-align: center; }
  .flo-block-social-links__title {
    margin-bottom: 1.6875rem; }
  .flo-block-social-links__social-links a {
    font-size: 0.75rem;
    margin: 0 0.34375rem; }

.flo-block-testimonials-1__testimonial-image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-testimonials-1__testimonial-counter {
  position: relative; }
  .flo-block-testimonials-1__testimonial-counter:after {
    content: " / ";
    position: absolute;
    top: 0.71875rem; }

.flo-block-testimonials-1__testimonial-text p:last-child {
  margin-bottom: 0; }

.flo-block-testimonials-1__arrow {
  font-size: 0.6875rem;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  outline: none; }
  .flo-block-testimonials-1__arrow--left {
    margin-right: 4.375rem; }

@media screen and (min-width: 48em) {
  .flo-block-testimonials-1 {
    padding: 0 6.375rem; }
    .flo-block-testimonials-1__testimonial_slide {
      display: -ms-inline-flexbox !important;
      display: inline-flex !important;
      -ms-flex-align: center;
          align-items: center; }
    .flo-block-testimonials-1__testimonial-image {
      width: 39.375rem;
      height: 26.3125rem;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-block-testimonials-1__testimonial-text-area {
      padding: 3.5rem 0 3.5625rem 4.6875rem;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: justify;
          justify-content: space-between; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-testimonials-1__testimonial_slide {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: column;
        flex-direction: column;
    width: 100%; }
  .flo-block-testimonials-1__testimonial-image {
    width: 100%;
    height: 13.125rem;
    margin-bottom: 1.25rem; }
  .flo-block-testimonials-1__testimonial-text-area {
    text-align: center; }
  .flo-block-testimonials-1__testimonial-counter {
    margin-bottom: 1.25rem; }
  .flo-block-testimonials-1__testimonial-text {
    margin-bottom: 1.25rem; } }

.flo-block-text-block-1__text-wrap {
  text-align: center; }

@media screen and (min-width: 48em) {
  .flo-block-text-block-1__text-wrap {
    max-width: 40vw;
    margin: auto; } }

.flo-block-text-block-2 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-text-block-2__image {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
    .flo-block-text-block-2__image--image-position-left {
      -ms-flex-order: 1;
          order: 1; }
    .flo-block-text-block-2__image--image-position-right {
      -ms-flex-order: 2;
          order: 2; }
  .flo-block-text-block-2__bottom-label {
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
  @media screen and (min-width: 48em) {
    .flo-block-text-block-2 {
      padding: 0 7.625rem; }
      .flo-block-text-block-2__image {
        height: 36.3125rem;
        width: 24.125rem; }
      .flo-block-text-block-2__text-wrap {
        width: 31.75rem;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center;
        position: relative; }
        .flo-block-text-block-2__text-wrap--image-position-left {
          margin-left: 6.375rem;
          padding-left: 1.25rem;
          padding-right: 5rem;
          -ms-flex-order: 2;
              order: 2; }
        .flo-block-text-block-2__text-wrap--image-position-right {
          margin-right: 6.375rem;
          padding-right: 1.25rem;
          padding-left: 5rem;
          -ms-flex-order: 1;
              order: 1; }
      .flo-block-text-block-2__title {
        margin-bottom: 4.3125rem; }
      .flo-block-text-block-2__bottom-label {
        margin-top: 5.625rem; }
        .flo-block-text-block-2__bottom-label--image-position-left {
          left: 1.25rem; }
        .flo-block-text-block-2__bottom-label--image-position-right {
          left: 5rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-text-block-2 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-text-block-2__image {
        width: 100%;
        height: 21.875rem; }
        .flo-block-text-block-2__image--image-position-left {
          -ms-flex-order: 1;
              order: 1;
          margin-bottom: 1.25rem; }
        .flo-block-text-block-2__image--image-position-right {
          -ms-flex-order: 2;
              order: 2;
          margin-top: 1.875rem; }
      .flo-block-text-block-2__text-wrap--image-position-left {
        -ms-flex-order: 2;
            order: 2; }
      .flo-block-text-block-2__text-wrap--image-position-right {
        -ms-flex-order: 1;
            order: 1; }
      .flo-block-text-block-2__title {
        margin-bottom: 1.875rem; }
      .flo-block-text-block-2__text-paragraph {
        padding-bottom: 2.375rem; } }

.flo-block-text-block-3__image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-text-block-3__post-link {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .flo-block-text-block-3__post-link:before {
    content: " ";
    width: 0.8125rem;
    height: 1px;
    margin-right: 1.6875rem; }

.flo-block-text-block-3__link-area {
  text-align: center; }

.flo-block-text-block-3__link-delimiter {
  font-size: 0.3125rem;
  margin-bottom: 1.9375rem; }

@media screen and (min-width: 48em) {
  .flo-block-text-block-3 {
    padding: 3.125rem 13.875rem;
    display: -ms-flexbox;
    display: flex; }
    .flo-block-text-block-3__image {
      width: 14.4375rem;
      height: 19.1875rem; }
    .flo-block-text-block-3__post-text {
      width: 28.9375rem;
      padding: 2.0625rem 5.25rem 2.9375rem 5rem; }
    .flo-block-text-block-3__post-subtitle {
      padding-bottom: 1.8125rem; }
    .flo-block-text-block-3__post-paragraph > p:last-child {
      margin-bottom: 2.125rem; }
    .flo-block-text-block-3__link-area {
      padding: 2.0625rem 0 2.25rem 6.8125rem;
      width: 18.75rem;
      border-left: 1px solid; }
    .flo-block-text-block-3__link-title {
      padding-bottom: 1.25rem; }
    .flo-block-text-block-3__link-subtitle {
      padding-bottom: 2.5rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-text-block-3 {
    padding: 1.875rem 2.03125rem; }
    .flo-block-text-block-3__image {
      width: 100%;
      height: 19.1875rem;
      margin-bottom: 1.25rem; }
    .flo-block-text-block-3__post-text {
      margin-bottom: 1.875rem;
      text-align: center; }
    .flo-block-text-block-3__post-title {
      margin-bottom: 0.625rem; }
    .flo-block-text-block-3__post-subtitle {
      margin-bottom: 0.625rem; }
    .flo-block-text-block-3__post-paragraph {
      margin-bottom: 0.625rem; }
    .flo-block-text-block-3__post-link {
      -ms-flex-pack: center;
          justify-content: center; }
    .flo-block-text-block-3__link-title {
      margin-bottom: 0.625rem; }
    .flo-block-text-block-3__link-delimiter {
      margin-bottom: 0.625rem; }
    .flo-block-text-block-3__link-subtitle {
      padding-bottom: 1.25rem; } }

.flo-block-text-block-4__elements-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }

.flo-block-text-block-4__title {
  text-align: center; }

@media screen and (min-width: 48em) {
  .flo-block-text-block-4 {
    padding: 0 15.25rem; }
    .flo-block-text-block-4__decorative-image {
      margin-bottom: 1.5625rem; }
    .flo-block-text-block-4__title {
      margin-bottom: 2.8125rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-text-block-4__decorative-image {
    margin-bottom: 1.25rem; }
  .flo-block-text-block-4__title {
    margin-bottom: 1.5625rem; } }

.flo-block-text-block-5__title {
  text-align: center; }

.flo-block-text-block-5__delimiter {
  margin: 0 auto 2.5rem auto;
  height: 1px; }

@media screen and (min-width: 48em) {
  .flo-block-text-block-5__text-wrap {
    max-width: 40vw;
    margin: auto; } }

.flo-block-title-1__elements-wrap {
  text-align: center; }

@media screen and (min-width: 48em) {
  .flo-block-title-1__elements-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    width: 45.75rem;
    margin: auto;
    position: relative; }
  .flo-block-title-1__decorative-image {
    padding-bottom: 3.625rem; }
  .flo-block-title-1__decorative-letter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -40%); }
  .flo-block-title-1__title {
    margin-bottom: 1.25rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-title-1__elements-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    position: relative; }
  .flo-block-title-1__decorative-letter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -40%); } }

.flo-block-title-2 {
  text-align: center; }
  .flo-block-title-2__pre-title {
    padding-bottom: 1.125rem; }
  @media screen and (min-width: 48em) {
    .flo-block-title-2 {
      padding: 0 7.625rem; }
      .flo-block-title-2__title {
        padding: 0 7.625rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-title-2__pre-title {
      width: 60vw;
      margin: auto; } }

.flo-block-title-3__title {
  text-align: center; }

@media screen and (min-width: 48em) {
  .flo-block-title-3 {
    padding: 0 14rem; } }

.flo-block-title-4 {
  text-align: center; }
  .flo-block-title-4__title {
    padding-bottom: 0.4375rem; }
  @media screen and (min-width: 48em) {
    .flo-block-title-4 {
      padding: 0 7.625rem; }
      .flo-block-title-4__quote--left {
        margin-right: 1.3125rem; }
      .flo-block-title-4__quote--right {
        margin-left: 1.3125rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-title-4__quote {
      display: block; }
      .flo-block-title-4__quote--left {
        margin-bottom: 1.3125rem; }
      .flo-block-title-4__quote--right {
        margin-top: 1.3125rem; } }

@media screen and (min-width: 48em) {
  .flo-block-vendors {
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto; }
    .flo-block-vendors__title {
      width: 11.4375rem;
      padding-right: 1.25rem;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      border-right: 1px solid;
      border-color: inherit; }
    .flo-block-vendors__list {
      padding-left: 4.5rem; }
    .flo-block-vendors__vendor {
      display: -ms-flexbox;
      display: flex;
      margin-bottom: 1rem; }
    .flo-block-vendors__vendor-title {
      width: 8.0625rem;
      padding-right: 1.25rem;
      -ms-flex-positive: 0;
          flex-grow: 0; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-vendors__title {
    margin-bottom: 1.25rem; }
  .flo-block-vendors__vendor {
    margin-bottom: 0.5rem; } }

.flo-block-video-block-1__image-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: end;
      justify-content: flex-end;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-video-block-1__text-elements-wrap {
  text-align: center; }

@media screen and (min-width: 48em) {
  .flo-block-video-block-1 {
    padding: 0 7.625rem; }
    .flo-block-video-block-1__text-elements-wrap {
      margin-bottom: 4.5625rem;
      width: 30.5rem; }
    .flo-block-video-block-1__subtitle {
      margin-bottom: 1.9375rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-video-block-1__text-elements-wrap {
    padding-bottom: 1.25rem; }
  .flo-block-video-block-1__subtitle {
    margin-bottom: 1.25rem; } }

.flo-block-video-block-1__image-wrap {
  background-image: url(https://42fccb.claudeassets.com/20240125002332im_/https://shaunaheron.com/wp-content/themes/porto2/theme-files/public/img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-video-block-1__image-wrap {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-video-block-1__image-wrap {
    background-image: var(--img-large); } }

.flo-block-video-block-2__image-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-video-block-2__text-elements-wrap {
  text-align: center; }

@media screen and (min-width: 48em) {
  .flo-block-video-block-2 .flo-video-embed:not(.flo-video-embed--loaded) .flo-video-embed__video-button {
    top: 19.625rem; }
  .flo-block-video-block-2__text-elements-wrap {
    margin-bottom: 7.9375rem;
    width: 30.5rem; }
    .flo-block-video-block-2__text-elements-wrap--desktop-correction {
      margin-bottom: 0; }
  .flo-block-video-block-2__subtitle {
    margin-bottom: 1.9375rem; }
  .flo-block-video-block-2__paragraph-text {
    margin-bottom: 3rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-video-block-2__text-elements-wrap--mobile-correction {
    padding-bottom: 1.25rem; }
  .flo-block-video-block-2__subtitle {
    margin-bottom: 1.25rem; }
  .flo-block-video-block-2__paragraph-text {
    display: none; } }

.flo-block-video-block-2__image-wrap {
  background-image: url(https://42fccb.claudeassets.com/20240125002332im_/https://shaunaheron.com/wp-content/themes/porto2/theme-files/public/img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-video-block-2__image-wrap {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-video-block-2__image-wrap {
    background-image: var(--img-large); } }

.flo-comments {
  /* START: TOP AREA */
  /* END: TOP AREA */
  /* START: COMMENTS WRAP */
  /* START: LIST */
  /* END: LIST */
  /* START: FORM */
  /* END: FORM */
  /* END: COMMENTS WRAP */ }
  .flo-comments__top-area {
    border-bottom: 1px solid;
    padding-bottom: 3.5625rem; }
  .flo-comments__sharing-options {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center; }
  .flo-comments__sharing-options-label {
    margin-right: 1.5625rem; }
  .flo-comments__sharing-links a:not(:last-child) {
    margin-right: 1.5625rem; }
  .flo-comments__sharing-links i:before {
    font-size: 0.6875rem; }
  .flo-comments__tags a:after {
    content: ", "; }
  @media screen and (min-width: 48em) {
    .flo-comments__top-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: justify;
          justify-content: space-between; }
    .flo-comments__comments-count, .flo-comments__sharing-options, .flo-comments__tags {
      width: calc(100% / 3);
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-comments__tags {
      text-align: right; } }
  @media screen and (max-width: 47.9375em) {
    .flo-comments__top-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center; }
    .flo-comments__comments-count {
      margin-bottom: 1.25rem; }
    .flo-comments__sharing-options {
      margin-bottom: 1.25rem; } }
  .flo-comments__list {
    padding-top: 2.3125rem; }
    .flo-comments__list > .comment:first-child > .flo-comments__comment {
      padding-top: 0; }
    .flo-comments__list .comment:last-child .flo-comments__comment:last-child {
      border-bottom: 0; }
    .flo-comments__list .comment:last-child .comment:last-child .flo-comments__comment {
      border-bottom: 0; }
  .flo-comments__comment {
    padding: 1.5625rem 0;
    border-bottom: 1px solid; }
    .flo-comments__comment #cancel-comment-reply-link i {
      font-size: 1.25rem; }
  .flo-comments__comment-top-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  .flo-comments__comment-avatar {
    width: 2.96875rem;
    height: 2.96875rem;
    border-radius: 2.96875rem;
    -ms-flex-positive: 0;
        flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    box-sizing: border-box;
    display: inline-block;
    overflow: hidden;
    margin-right: 3.1875rem; }
    .flo-comments__comment-avatar img {
      width: 100%; }
  .flo-comments__comment-author {
    padding: 0.625rem 0; }
  .flo-comments__comment-date {
    -ms-flex-positive: 1;
        flex-grow: 1;
    text-align: right; }
  .flo-comments__comment-reply {
    margin-top: 1.375rem; }
  @media screen and (min-width: 48em) {
    .flo-comments__list {
      padding-right: 6.375rem; }
    .flo-comments .comment .comment .flo-comments__comment {
      position: relative;
      padding-left: 6.375rem; }
      .flo-comments .comment .comment .flo-comments__comment:before {
        content: " ";
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 9.5625rem;
        z-index: -1; }
    .flo-comments__comment-content {
      padding-left: 9.5625rem; }
    .flo-comments__comment-reply {
      padding-left: 9.5625rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-comments__comment-top-wrap {
      margin-bottom: 1.25rem; } }
  .flo-comments__form-wrap {
    padding-top: 3.125rem;
    padding-bottom: 3.75rem; }
  .flo-comments__form-top-area {
    margin-bottom: 3.4375rem; }
  .flo-comments__form-subtitle {
    padding-top: 3rem; }
  .flo-comments__form-field {
    border-bottom: 1px solid !important; }
  .flo-comments__form-textarea {
    border-bottom: 1px solid !important;
    min-height: 7.875rem; }
  .flo-comments .form-submit {
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 0; }
  .flo-comments__form .submit {
    display: inline-block;
    margin-top: 3.75rem;
    padding: 0 2.625rem; }
  @media screen and (min-width: 48em) {
    .flo-comments__form-wrap {
      padding-left: 6.375rem;
      padding-right: 6.375rem; }
      .flo-comments__form-wrap.is_stuck {
        right: 6.375rem; }
        .flo-comments__form-wrap.is_stuck[style*=absolute] {
          right: 0; }
    .flo-comments__form {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .flo-comments__form-field {
      display: block;
      margin-bottom: 2.5rem !important; }
      .flo-comments__form-field--half {
        width: calc(50% - 3.1875rem);
        margin-right: 6.375rem; }
        .flo-comments__form-field--half + .flo-comments__form-field--half {
          margin-right: 0; } }
  @media screen and (max-width: 47.9375em) {
    .flo-comments__form-wrap {
      padding: 3.125rem 1.875rem; } }
  @media screen and (min-width: 48em) {
    .flo-comments__comments-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: start;
          align-items: flex-start; }
    .flo-comments__list, .flo-comments__form-wrap {
      width: 50%;
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; } }
  .flo-comments__facebook {
    text-align: center; }

@media screen and (min-width: 48em) {
  .flo-footer-sidebars {
    padding: 3.125rem 6.375rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-footer-sidebars {
    padding: 3.125rem 2.03125rem; } }

@media screen and (min-width: 48em) {
  .flo-footer-sidebars .medium-4 {
    width: 33.3333%;
    padding: 0 1.25rem; } }

.flo-footer {
  /* START: IMAGE FEED */
  /* END: IMAGE FEED */
  /* START: SEARCH FIELD STYLING */
  /* END: SEARCH FIELD STYLING */
  /* START: AREA 1 */
  /* END: AREA 1 */
  /* START: AREA 2 */
  /* END: AREA 2 */
  /* START: COPYRIGHTS AREA */
  /* END: COPYRIGHTS AREA */ }
  .flo-footer-image-feed .img-block a {
    display: block; }
  @media screen and (min-width: 48em) {
    .flo-footer-image-feed,
    .flo-footer-image-feed .flo-shcode-instgm-container {
      display: -ms-flexbox;
      display: flex; }
    .flo-footer-image-feed .flo-shcode-instgm-container img {
      width: 100%; } }
  .flo-footer-image-feed__image {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  .flo-footer .widget_search .search-field {
    border-top: 0;
    border-left: 0;
    border-right: 0; }
  .flo-footer .widget_search input[type="submit"] {
    margin-top: 1.25rem; }
  .flo-footer .flo-footer-area-1-type-a__group {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center; }
  .flo-footer .flo-footer-area-1-type-a__title {
    margin-bottom: 1.3125rem; }
  .flo-footer .flo-footer-area-1-type-a__link {
    margin-bottom: 0.25rem; }
  @media screen and (min-width: 48em) {
    .flo-footer .flo-footer-area-1-type-a {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: stretch;
          align-items: stretch;
      -ms-flex-pack: center;
          justify-content: center;
      padding: 4.0625rem 18.625rem 1.5rem 18.625rem; }
      .flo-footer .flo-footer-area-1-type-a__group {
        text-align: center;
        padding: 0.3125rem 3.875rem 1.25rem 3.875rem;
        width: calc(100% / 3); }
        .flo-footer .flo-footer-area-1-type-a__group:not(:last-child) {
          border-right-width: 1px;
          border-right-style: solid;
          border-color: inherit;
          transition: border-color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-footer .flo-footer-area-1-type-a--groups-count-3 .flo-footer-area-1-type-a__group {
        width: 28%; }
        .flo-footer .flo-footer-area-1-type-a--groups-count-3 .flo-footer-area-1-type-a__group:nth-child(1) {
          padding-left: 0; }
        .flo-footer .flo-footer-area-1-type-a--groups-count-3 .flo-footer-area-1-type-a__group:nth-child(2) {
          width: auto;
          padding: 0.3125rem 7.9375rem 0.3125rem 7.9375rem; }
        .flo-footer .flo-footer-area-1-type-a--groups-count-3 .flo-footer-area-1-type-a__group:nth-child(3) {
          padding-right: 0; } }
  @media screen and (max-width: 47.9375em) {
    .flo-footer .flo-footer-area-1-type-a {
      padding: 1.875rem 2.03125rem; }
      .flo-footer .flo-footer-area-1-type-a__group:not(:last-child) {
        padding-bottom: 1.5625rem;
        margin-bottom: 1.5625rem;
        border-bottom-width: 1px;
        border-bottom-style: solid; } }
  @media screen and (min-width: 48em) {
    .flo-footer .flo-footer-area-1-type-b {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: stretch;
          align-items: stretch;
      padding: 3.6875rem 6.375rem 1.25rem 6.375rem; }
      .flo-footer .flo-footer-area-1-type-b__feed-area {
        width: 67%;
        padding: 0 5.1875rem 0 7.5rem; }
      .flo-footer .flo-footer-area-1-type-b__feed-area-top {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-align: end;
            align-items: flex-end;
        margin-bottom: 1.6875rem; }
      .flo-footer .flo-footer-area-1-type-b .flo-footer-image-feed__image,
      .flo-footer .flo-footer-area-1-type-b .img-block {
        width: 9.125rem !important; }
        .flo-footer .flo-footer-area-1-type-b .flo-footer-image-feed__image:not(:last-child),
        .flo-footer .flo-footer-area-1-type-b .img-block:not(:last-child) {
          margin-right: 0.875rem; }
      .flo-footer .flo-footer-area-1-type-b .flo-footer-image-feed__image {
        height: 9.125rem; }
      .flo-footer .flo-footer-area-1-type-b__info-area {
        width: 33%;
        border-left-width: 1px;
        border-left-style: solid;
        border-color: inherit;
        padding-left: 4.3125rem;
        transition: border-color 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-footer .flo-footer-area-1-type-b__info-area-title {
        margin-bottom: 1.6875rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-footer .flo-footer-area-1-type-b {
      text-align: center;
      padding: 1.875rem 2.03125rem; }
      .flo-footer .flo-footer-area-1-type-b__feed-area {
        margin-bottom: 2.5rem; }
      .flo-footer .flo-footer-area-1-type-b__feed-area-top {
        margin-bottom: 1.875rem; }
      .flo-footer .flo-footer-area-1-type-b__feed-title {
        margin-bottom: 0.3125rem; }
      .flo-footer .flo-footer-area-1-type-b .flo-footer-image-feed__image,
      .flo-footer .flo-footer-area-1-type-b .img-block {
        width: 100%; }
        .flo-footer .flo-footer-area-1-type-b .flo-footer-image-feed__image:not(:last-child),
        .flo-footer .flo-footer-area-1-type-b .img-block:not(:last-child) {
          margin-bottom: 1.25rem; }
      .flo-footer .flo-footer-area-1-type-b .flo-footer-image-feed__image {
        height: 18.75rem; }
      .flo-footer .flo-footer-area-1-type-b__info-area-title {
        margin-bottom: 0.3125rem; } }
  @media screen and (min-width: 48em) {
    .flo-footer .flo-footer-area-1-type-c {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      padding: 6.1875rem 10.125rem 1.6875rem 10.125rem; }
      .flo-footer .flo-footer-area-1-type-c__form-wrap, .flo-footer .flo-footer-area-1-type-c__link-list-wrap, .flo-footer .flo-footer-area-1-type-c__link-wrap {
        padding-top: 0.875rem;
        padding-bottom: 1.375rem; }
      .flo-footer .flo-footer-area-1-type-c__form-wrap {
        width: 21%;
        padding-right: 3.8125rem; }
      .flo-footer .flo-footer-area-1-type-c__link-list-wrap {
        position: relative;
        width: 58%;
        padding-left: 6.9375rem;
        padding-right: 6.9375rem;
        text-align: center;
        border-left-width: 1px;
        border-left-style: solid;
        border-right-width: 1px;
        border-right-style: solid;
        border-color: inherit;
        transition: border-color 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-footer .flo-footer-area-1-type-c__link-list-title {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: calc(100% + 1.125rem); }
      .flo-footer .flo-footer-area-1-type-c__link-list-link {
        padding: 0 1.875rem; }
        .flo-footer .flo-footer-area-1-type-c__link-list-link:first-child {
          padding-left: 0; }
        .flo-footer .flo-footer-area-1-type-c__link-list-link:last-child {
          padding-right: 0; }
      .flo-footer .flo-footer-area-1-type-c__link-wrap {
        width: 21%;
        text-align: right; } }
  @media screen and (max-width: 47.9375em) {
    .flo-footer .flo-footer-area-1-type-c {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      padding: 1.875rem 2.03125rem;
      text-align: center; }
      .flo-footer .flo-footer-area-1-type-c__form-wrap {
        width: 100%;
        margin-bottom: 1.25rem; }
      .flo-footer .flo-footer-area-1-type-c__field {
        text-align: center; }
      .flo-footer .flo-footer-area-1-type-c__link-list-wrap {
        margin-bottom: 1.25rem; }
      .flo-footer .flo-footer-area-1-type-c__link-list-title {
        margin-bottom: 0.3125rem; }
      .flo-footer .flo-footer-area-1-type-c__link-list-link {
        display: block; } }
  .flo-footer .flo-footer-area-1-type-d__top-wrap {
    text-align: center; }
  .flo-footer .flo-footer-area-1-type-d__left-link-text {
    margin-bottom: 1.3125rem; }
  .flo-footer .flo-footer-area-1-type-d__left-link {
    padding: 0.375rem 1.21875rem;
    border-style: solid;
    border-width: 1px;
    border-color: inherit;
    transition: border-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-footer .flo-footer-area-1-type-d__testimonials-wrap {
    z-index: 1; }
  .flo-footer .flo-footer-area-1-type-d__testimonials .slick-list {
    overflow: visible !important; }
    .flo-footer .flo-footer-area-1-type-d__testimonials .slick-list .slick-track {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row; }
  .flo-footer .flo-footer-area-1-type-d__testimonial {
    position: relative;
    margin-bottom: 3.875rem; }
    .flo-footer .flo-footer-area-1-type-d__testimonial p:last-child {
      margin-bottom: 0; }
  .flo-footer .flo-footer-area-1-type-d__testimonial-title {
    margin-bottom: 1rem;
    margin-top: 0.875rem; }
  .flo-footer .flo-footer-area-1-type-d__testimonial-title-decorative-letter {
    position: absolute;
    left: 50%;
    top: -0.05em;
    transform: translate(-50%, 0%);
    opacity: 0.05;
    line-height: 1em !important; }
  .flo-footer .flo-footer-area-1-type-d__testimonials-dots {
    transform: translateY(50%); }
    .flo-footer .flo-footer-area-1-type-d__testimonials-dots li {
      display: inline-block;
      margin: 0 0.5625rem;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-footer .flo-footer-area-1-type-d__testimonials-dots li:not(.slick-active) {
        opacity: 0.5; }
      .flo-footer .flo-footer-area-1-type-d__testimonials-dots li:hover {
        opacity: 1; }
    .flo-footer .flo-footer-area-1-type-d__testimonials-dots button {
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      color: inherit;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none; }
      .flo-footer .flo-footer-area-1-type-d__testimonials-dots button:before {
        content: ".0"; }
  .flo-footer .flo-footer-area-1-type-d__left-link-wrap, .flo-footer .flo-footer-area-1-type-d__right-link-wrap {
    z-index: 1;
    padding-top: 0.6875rem; }
  .flo-footer .flo-footer-area-1-type-d__left-link-title, .flo-footer .flo-footer-area-1-type-d__right-link-title {
    margin-bottom: 1.375rem; }
  .flo-footer .flo-footer-area-1-type-d__right-link-text {
    margin-bottom: 0.9375rem; }
  .flo-footer .flo-footer-area-1-type-d .flo-block {
    padding: 0; }
  @media screen and (min-width: 48em) {
    .flo-footer .flo-footer-area-1-type-d__top-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: start;
          align-items: flex-start;
      padding: 4.9375rem 8.3125rem 3.9375rem 8.3125rem;
      width: 100%; }
    .flo-footer .flo-footer-area-1-type-d__left-link-wrap {
      width: 28%;
      padding-right: 2.75rem; }
    .flo-footer .flo-footer-area-1-type-d__testimonials-wrap {
      width: 44%;
      padding: 0 4.375rem;
      border-left-width: 1px;
      border-left-style: solid;
      border-right-width: 1px;
      border-right-style: solid;
      border-color: inherit;
      transition: border-color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-footer .flo-footer-area-1-type-d__right-link-wrap {
      width: 28%;
      padding-left: 4.8125rem; }
    .flo-footer .flo-footer-area-1-type-d .flo-block {
      padding-bottom: 0.84375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-footer .flo-footer-area-1-type-d {
      padding: 1.875rem 2.03125rem; }
      .flo-footer .flo-footer-area-1-type-d__top-wrap {
        margin-bottom: 2.5rem; }
      .flo-footer .flo-footer-area-1-type-d__left-link-wrap {
        margin-bottom: 3.75rem; }
      .flo-footer .flo-footer-area-1-type-d__testimonials-wrap {
        margin-bottom: 3.75rem; }
      .flo-footer .flo-footer-area-1-type-d .flo-block-delimiter-1 {
        padding-bottom: 2.5rem; } }
  .flo-footer .flo-footer-area-2-type-a__feed-label {
    padding: 0.5625rem 2.15625rem; }
  @media screen and (min-width: 48em) {
    .flo-footer .flo-footer-area-2-type-a {
      position: relative; }
      .flo-footer .flo-footer-area-2-type-a .flo-footer-image-feed__image,
      .flo-footer .flo-footer-area-2-type-a .img-block {
        width: calc(100vw / 6) !important; }
      .flo-footer .flo-footer-area-2-type-a .flo-footer-image-feed__image {
        height: calc(100vw / 6); }
      .flo-footer .flo-footer-area-2-type-a__feed-label {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        transform-origin: center;
        transition: transform 0.5s, box-shadow 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-footer .flo-footer-area-2-type-a__feed-label:hover {
          box-shadow: 0px 0px 36px 0px rgba(0, 0, 0, 0.37); } }
  @media screen and (max-width: 47.9375em) {
    .flo-footer .flo-footer-area-2-type-a {
      text-align: center;
      padding: 1.875rem 2.03125rem; }
      .flo-footer .flo-footer-area-2-type-a.hidden-on-mobile {
        display: none; }
      .flo-footer .flo-footer-area-2-type-a__feed {
        text-align: center;
        padding: 1.25rem 1.25rem; }
      .flo-footer .flo-footer-area-2-type-a .flo-footer-image-feed__image,
      .flo-footer .flo-footer-area-2-type-a .img-block {
        width: 100% !important; }
      .flo-footer .flo-footer-area-2-type-a .flo-footer-image-feed__image {
        height: 18.75rem; } }
  .flo-footer .flo-footer-area-2-type-b {
    text-align: center; }
    .flo-footer .flo-footer-area-2-type-b__social-links-wrap:before {
      content: " ";
      display: inline-block;
      width: 1.25625rem;
      margin-bottom: 1.8125rem;
      border-top-width: 1px;
      border-top-style: solid;
      border-color: inherit;
      transition: border-color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-footer .flo-footer-area-2-type-b__social-links {
      margin-bottom: 1.1875rem; }
      .flo-footer .flo-footer-area-2-type-b__social-links a {
        margin: 0 0.375rem;
        font-size: 0.6875rem; }
    .flo-footer .flo-footer-area-2-type-b__information p:last-child {
      margin-bottom: 0; }
    @media screen and (min-width: 48em) {
      .flo-footer .flo-footer-area-2-type-b {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: stretch;
            align-items: stretch;
        padding: 0.8125rem 6.375rem; }
        .flo-footer .flo-footer-area-2-type-b__social-links-wrap, .flo-footer .flo-footer-area-2-type-b__information {
          border-right-width: 1px;
          border-right-style: solid;
          border-color: inherit;
          transition: border-color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-footer .flo-footer-area-2-type-b__social-links-wrap {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: center;
              align-items: center;
          width: 18%; }
        .flo-footer .flo-footer-area-2-type-b__information {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: center;
              align-items: center;
          width: 32%; }
        .flo-footer .flo-footer-area-2-type-b__feed-wrap {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-align: center;
              align-items: center;
          -ms-flex-pack: justify;
              justify-content: space-between;
          width: 50%;
          padding: 2.6875rem 0;
          padding-left: 2.4375rem;
          text-align: left; }
        .flo-footer .flo-footer-area-2-type-b .flo-footer-image-feed__image,
        .flo-footer .flo-footer-area-2-type-b .img-block {
          width: 6.25rem !important;
          margin-left: 1.3125rem; }
        .flo-footer .flo-footer-area-2-type-b .flo-footer-image-feed__image {
          height: 6.25rem; } }
    @media screen and (max-width: 47.9375em) {
      .flo-footer .flo-footer-area-2-type-b {
        padding: 1.875rem 2.03125rem; }
        .flo-footer .flo-footer-area-2-type-b__social-links-wrap, .flo-footer .flo-footer-area-2-type-b__information {
          border-bottom-width: 1px;
          border-bottom-style: solid;
          border-color: inherit;
          transition: border-color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-footer .flo-footer-area-2-type-b__social-links-wrap {
          padding-bottom: 1.875rem; }
        .flo-footer .flo-footer-area-2-type-b__information {
          padding: 1.875rem 0; }
        .flo-footer .flo-footer-area-2-type-b__feed-wrap {
          padding-top: 1.875rem; }
        .flo-footer .flo-footer-area-2-type-b__feed-text-area {
          margin-bottom: 1.875rem; }
        .flo-footer .flo-footer-area-2-type-b .flo-footer-image-feed__image,
        .flo-footer .flo-footer-area-2-type-b .img-block {
          width: 100% !important;
          margin-bottom: 1.25rem; }
        .flo-footer .flo-footer-area-2-type-b .flo-footer-image-feed__image {
          height: 18.75rem; } }
  .flo-footer .flo-footer-copyrights-area-type-a {
    position: relative; }
    .flo-footer .flo-footer-copyrights-area-type-a--has-delimiter:before {
      content: " ";
      display: block;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: 0;
      width: 100%;
      border-top: 1px solid;
      border-color: inherit;
      transition: border-color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-footer .flo-footer-copyrights-area-type-a .flo-footer__flothemes-logo {
      display: block; }
    @media screen and (min-width: 48em) {
      .flo-footer .flo-footer-copyrights-area-type-a {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: justify;
            justify-content: space-between;
        padding: 1.4375rem 6.375rem;
        margin: 0 auto; }
        .flo-footer .flo-footer-copyrights-area-type-a--has-delimiter {
          padding-top: 2.78125rem; }
          .flo-footer .flo-footer-copyrights-area-type-a--has-delimiter:before {
            margin-top: 1.34375rem;
            width: calc(100% - 12.75rem); }
        .flo-footer .flo-footer-copyrights-area-type-a .flo-footer__flothemes-logo {
          -ms-flex-negative: 0;
              flex-shrink: 0;
          width: 1px;
          margin-right: 5.625rem; }
        .flo-footer .flo-footer-copyrights-area-type-a__menu-wrap {
          -ms-flex-positive: 1;
              flex-grow: 1; }
        .flo-footer .flo-footer-copyrights-area-type-a__menu {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-pack: justify;
              justify-content: space-between;
          margin-right: 6.45312rem;
          /* Start: 2nd Level Dropdown */
          /* End: 2nd Level Dropdown */ }
          .flo-footer .flo-footer-copyrights-area-type-a__menu li {
            position: relative;
            text-align: center; }
          .flo-footer .flo-footer-copyrights-area-type-a__menu > li > ul {
            box-shadow: 0 20px 20px 0px rgba(0, 0, 0, 0.1); }
          .flo-footer .flo-footer-copyrights-area-type-a__menu li:hover > ul {
            opacity: 1;
            pointer-events: initial; }
          .flo-footer .flo-footer-copyrights-area-type-a__menu li ul {
            border: 0;
            position: absolute;
            opacity: 0;
            pointer-events: none;
            width: 15.625rem;
            padding: 1.15625rem 0;
            z-index: 2;
            transition: opacity 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
            .flo-footer .flo-footer-copyrights-area-type-a__menu li ul li {
              width: 100%;
              padding: 0.40625rem 2.4375rem; }
              .flo-footer .flo-footer-copyrights-area-type-a__menu li ul li > a {
                padding: 0;
                position: relative;
                display: inline-block;
                background-color: transparent !important; }
                .flo-footer .flo-footer-copyrights-area-type-a__menu li ul li > a:hover:before {
                  opacity: 1; }
                .flo-footer .flo-footer-copyrights-area-type-a__menu li ul li > a:before {
                  content: " ";
                  width: 100%;
                  height: 1px;
                  position: absolute;
                  bottom: 0;
                  left: 0;
                  opacity: 0;
                  transition: opacity 0.5s, border-color 0.5s;
                  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .flo-footer .flo-footer-copyrights-area-type-a__menu > li > ul {
            bottom: calc(100% + 1.25rem) !important;
            top: auto !important;
            left: 50%;
            transform: translateX(-50%); }
            .flo-footer .flo-footer-copyrights-area-type-a__menu > li > ul:before {
              content: " ";
              display: block;
              position: absolute;
              top: 100%;
              left: 0;
              height: 2.3125rem;
              width: 100%;
              -webkit-user-select: none;
                 -moz-user-select: none;
                  -ms-user-select: none;
                      user-select: none;
              cursor: pointer;
              outline: none; }
            .flo-footer .flo-footer-copyrights-area-type-a__menu > li > ul:after {
              content: " ";
              display: block;
              position: absolute;
              top: calc(100% - 0.0625rem);
              left: 50%;
              transform: translateX(-50%) rotate(180deg);
              width: 0;
              height: 0;
              border-style: solid;
              border-width: 0 0.4375rem 0.375rem 0.4375rem;
              border-color: transparent transparent transparent transparent; }
        .flo-footer .flo-footer-copyrights-area-type-a__copyright-notice {
          -ms-flex-negative: 0;
              flex-shrink: 0;
          width: 38.6%;
          text-align: right; } }
    @media screen and (max-width: 47.9375em) {
      .flo-footer .flo-footer-copyrights-area-type-a {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: stretch;
            align-items: stretch;
        -ms-flex-direction: column;
            flex-direction: column;
        padding: 1.25rem 2.03125rem;
        text-align: center; }
        .flo-footer .flo-footer-copyrights-area-type-a .flo-footer__flothemes-logo {
          margin-top: 1.25rem;
          -ms-flex-order: 1;
              order: 1; }
        .flo-footer .flo-footer-copyrights-area-type-a__menu-wrap {
          margin-bottom: 1.25rem; }
        .flo-footer .flo-footer-copyrights-area-type-a__menu {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-align: stretch;
              align-items: stretch;
          text-align: center; }
          .flo-footer .flo-footer-copyrights-area-type-a__menu > li > ul {
            display: none; }
          .flo-footer .flo-footer-copyrights-area-type-a__menu li {
            position: relative;
            padding: 0.3125rem 0; }
          .flo-footer .flo-footer-copyrights-area-type-a__menu .children-visible > .flo-footer-copyrights-area-type-a__menu-dropdown-toggle {
            transform: translateY(0%) rotate(0deg); }
          .flo-footer .flo-footer-copyrights-area-type-a__menu .flo-footer-copyrights-area-type-a__menu-dropdown-toggle {
            transform: rotate(45deg);
            font-size: 0.75rem;
            letter-spacing: 0;
            color: inherit;
            margin: 0.625rem 0;
            transition: transform 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .flo-footer .flo-footer-copyrights-area-type-a__menu .sub-menu {
            padding: 1.25rem 0; } }
  .flo-footer .flo-footer-copyrights-area-type-b {
    text-align: center; }
    .flo-footer .flo-footer-copyrights-area-type-b .flo-footer__flothemes-logo {
      display: block;
      margin-bottom: 2.0625rem; }
    @media screen and (min-width: 48em) {
      .flo-footer .flo-footer-copyrights-area-type-b {
        padding: 1.25rem 6.375rem; } }
    @media screen and (max-width: 47.9375em) {
      .flo-footer .flo-footer-copyrights-area-type-b {
        padding: 1.25rem 2.03125rem; } }

.flo-generic-fancybox-video {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000; }

.flo-generic-menu-wrap {
  /* START: MENU (dropdowns, links etc.) */
  /* END: MENU (dropdowns, links etc.) */ }
  .flo-generic-menu-wrap__menu {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    z-index: 23112312;
    -ms-flex-positive: 1;
        flex-grow: 1;
    /* Start: 2nd Level Dropdown */
    /* End: 2nd Level Dropdown */ }
    .flo-generic-menu-wrap__menu li {
      display: inline-block;
      position: relative;
      text-align: center;
      transition: border 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-generic-menu-wrap__menu li a {
        display: block;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: start;
            justify-content: flex-start;
        transition: color 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-generic-menu-wrap__menu > div > ul > li > a {
      padding: 0; }
    .flo-generic-menu-wrap__menu li:hover > ul {
      opacity: 1;
      pointer-events: initial; }
    .flo-generic-menu-wrap__menu li ul {
      border: 0;
      position: absolute;
      opacity: 0;
      pointer-events: none;
      width: 15.625rem;
      padding: 1.15625rem 0;
      z-index: 2;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-generic-menu-wrap__menu li ul li {
        width: 100%;
        padding: 0.40625rem 2.4375rem; }
        .flo-generic-menu-wrap__menu li ul li > a {
          padding: 0;
          position: relative;
          display: inline-block;
          background-color: transparent !important; }
          .flo-generic-menu-wrap__menu li ul li > a:hover:before {
            opacity: 1; }
          .flo-generic-menu-wrap__menu li ul li > a:before {
            content: " ";
            width: 100%;
            height: 1px;
            position: absolute;
            bottom: 0;
            left: 0;
            opacity: 0;
            transition: opacity 0.5s, border-color 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-generic-menu-wrap__menu > li > ul {
      top: calc(100% + 2.3125rem);
      left: 50%;
      transform: translateX(-50%); }
      .flo-generic-menu-wrap__menu > li > ul:before {
        content: " ";
        display: block;
        position: absolute;
        bottom: 100%;
        left: 0;
        height: 2.3125rem;
        width: 100%; }
      .flo-generic-menu-wrap__menu > li > ul:after {
        content: " ";
        display: block;
        position: absolute;
        bottom: calc(100% - 0.0625rem);
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0.4375rem 0.375rem 0.4375rem;
        border-color: transparent transparent transparent transparent; }

.flo-generic-slides__slide {
  position: relative;
  transform: translate3d(0, 0, 0); }

.flo-generic-slides__slide-content {
  box-sizing: border-box;
  width: 100%;
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-generic-slides__slide-img--bgi {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%; }

.flo-generic-slides__slide-background-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  overflow: hidden; }
  .flo-generic-slides__slide-background-video video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .flo-generic-slides__slide-background-video--cropped video {
    height: 100%; }
  .flo-generic-slides__slide-background-video--no-crop video {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%; }

@media screen and (max-width: 47.9375em) {
  .flo-generic-slides--image-type-bgi .flo-generic-slides__slide-content {
    box-sizing: border-box;
    width: 100vw;
    height: 100vh; } }

.flo-generic-slides__slide-img {
  background-image: url(https://42fccb.claudeassets.com/20240125002332im_/https://shaunaheron.com/wp-content/themes/porto2/theme-files/public/img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-generic-slides__slide-img {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-generic-slides__slide-img {
    background-image: var(--img-large); } }

.flo-mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow-y: scroll;
  padding: 2.1875rem 2.03125rem;
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  /* START: MENU */
  /* END: MENU */
  /* START: COPYRIGHTS AREA */
  /* END: COPYRIGHTS AREA */
  /* START: VISIBILITY */
  /* END: VISIBILITY */
  /* START: TYPES */
  /* END: TYPES */ }
  .flo-mobile-menu__menu a {
    color: inherit !important; }
  .flo-mobile-menu__text-above-copyright-notice {
    margin-bottom: 1.0625rem; }
  .flo-mobile-menu__copyright-notice {
    margin-bottom: 2.3125rem; }
  .body--flo-mobile-menu-popup-opened {
    overflow: hidden; }
    .body--flo-mobile-menu-popup-opened .flo-mobile-menu {
      opacity: 1;
      pointer-events: initial; }
  html .flo-mobile-menu, .body--flo-mobile-menu-popup-closed .flo-mobile-menu {
    opacity: 0;
    pointer-events: none; }
  @media screen and (min-width: 48em) {
    .flo-mobile-menu {
      display: none !important; } }
  .flo-mobile-menu--type-a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    /* START: FIRST LEVEL ITEM */
    /* END: FIRST LEVEL ITEM */
    /* START: DROPDOWN */
    /* END: DROPDOWN */
    /* START: DROPDOWN TOGGLING */
    /* END: DROPDOWN TOGGLING */ }
    .flo-mobile-menu--type-a .flo-mobile-menu__close {
      margin-bottom: 1.8125rem; }
    .flo-mobile-menu--type-a .flo-mobile-menu__menu {
      width: 100%;
      margin-bottom: 4.375rem; }
      .flo-mobile-menu--type-a .flo-mobile-menu__menu li {
        position: relative;
        text-align: center; }
      .flo-mobile-menu--type-a .flo-mobile-menu__menu a {
        width: 100%;
        text-align: center;
        position: relative; }
    .flo-mobile-menu--type-a .flo-mobile-menu__menu > li:not(:first-child) {
      padding-top: 0.8125rem; }
    .flo-mobile-menu--type-a .flo-mobile-menu__menu > li:not(:last-child) {
      padding-bottom: 0.5rem;
      border-bottom: 1px solid transparent; }
    .flo-mobile-menu--type-a .flo-mobile-menu__menu > li {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center; }
      .flo-mobile-menu--type-a .flo-mobile-menu__menu > li > ul {
        display: none;
        margin-bottom: 3.0625rem;
        margin-top: 1.5rem; }
    .flo-mobile-menu--type-a .flo-mobile-menu__menu-dropdown-toggle {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 0;
      padding: 1.25rem 0 1.25rem 2.5rem;
      width: 0.75rem;
      height: 0.75rem; }
      .flo-mobile-menu--type-a .flo-mobile-menu__menu-dropdown-toggle:before, .flo-mobile-menu--type-a .flo-mobile-menu__menu-dropdown-toggle:after {
        content: " ";
        display: inline-block;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%); }
      .flo-mobile-menu--type-a .flo-mobile-menu__menu-dropdown-toggle:before {
        width: 0.75rem;
        height: 1px; }
      .flo-mobile-menu--type-a .flo-mobile-menu__menu-dropdown-toggle:after {
        width: 1px;
        height: 0.75rem;
        transition: transform 0.5s, opacity 0.5s, height 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-mobile-menu--type-a .flo-mobile-menu__menu li.children-visible .flo-mobile-menu__menu-dropdown-toggle:after {
      height: 0;
      opacity: 0; }
    .flo-mobile-menu--type-a .flo-mobile-menu__copyright-area {
      padding: 0 3.125rem;
      text-align: center; }
  .flo-mobile-menu--type-b {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: end;
        align-items: flex-end;
    text-align: right;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    /* START: DROPDOWN */
    /* END: DROPDOWN */
    /* START: DROPDOWN TOGGLES */
    /* START: MAIN TOGGLE */
    /* END: MAIN TOGGLE */
    /* START: DUPLICATE TOGGLE FOR THE DROPDOWN MENU */
    /* END: DUPLICATE TOGGLE FOR THE DROPDOWN MENU */
    /* START: VISIBILITY */
    /* END: VISIBILITY */
    /* END: DROPDOWN TOGGLES */
    /* START: DROPDOWN OPENED STYLE */
    /* END: DROPDOWN OPENED STYLE */ }
    .flo-mobile-menu--type-b:before {
      content: " ";
      pointer-events: none;
      display: block;
      position: fixed;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0; }
    .flo-mobile-menu--type-b .flo-mobile-menu__close {
      position: relative;
      font-size: 1.0625rem;
      margin-bottom: 5.6875rem; }
    .flo-mobile-menu--type-b .flo-mobile-menu__menu {
      position: relative;
      margin-bottom: 6.1875rem;
      transition: transform 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-mobile-menu--type-b .flo-mobile-menu__menu li {
        position: relative; }
    .flo-mobile-menu--type-b .flo-mobile-menu__menu > li > ul {
      display: none;
      position: absolute;
      top: 0;
      left: calc(100% + 2.4375rem);
      text-align: left;
      padding-bottom: 3.125rem;
      width: 70%; }
    .flo-mobile-menu--type-b .flo-mobile-menu__menu-dropdown-toggle {
      display: inline-block;
      transform-origin: center;
      line-height: 1em !important; }
      .flo-mobile-menu--type-b .flo-mobile-menu__menu-dropdown-toggle i {
        display: block;
        transition: transform 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-mobile-menu--type-b .flo-mobile-menu__menu-dropdown-toggle i:before {
          margin: 0; }
    .flo-mobile-menu--type-b .flo-mobile-menu__menu > li > a .flo-mobile-menu__menu-dropdown-toggle {
      width: 1em;
      margin-left: 1.25rem;
      transition: opacity 0.5s, margin 0.5s, width 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-mobile-menu--type-b .flo-mobile-menu__menu > li > ul > .flo-mobile-menu__menu-dropdown-toggle {
      position: absolute;
      bottom: calc(100% + 1.625rem);
      left: 0;
      padding-left: 1.25rem;
      transform: rotate(180deg); }
    .flo-mobile-menu--type-b .flo-mobile-menu__menu li.children-visible > a .flo-mobile-menu__menu-dropdown-toggle {
      opacity: 0;
      pointer-events: none;
      width: 0;
      margin-left: 0; }
    .flo-mobile-menu--type-b .flo-mobile-menu__copyright-area {
      width: 50%;
      position: relative;
      transition: transform 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-mobile-menu--type-b.flo-mobile-menu--dropdown-opened {
      /* START: DROPDOWN TOGGLE STUFF */
      /* END: DROPDOWN TOGGLE STUFF */ }
      .flo-mobile-menu--type-b.flo-mobile-menu--dropdown-opened .flo-mobile-menu__menu,
      .flo-mobile-menu--type-b.flo-mobile-menu--dropdown-opened .flo-mobile-menu__copyright-area {
        transform: translateX(calc(-50vw + 2.03125rem)); }

.flo-header-mobile {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  width: 100%;
  padding: 1.5625rem 2.03125rem;
  z-index: 111;
  visibility: hidden;
  transition: background-color 0.5s, opacity 0.5s, padding 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  /* START: MENU TRIGGER */
  /* END: MENU TRIGGER */
  /* START: LOGO */
  /* END: LOGO */
  /* START: TYPES */
  /* END: TYPES */
  /* START: STICKY TYPE A */
  /* END: STICKY TYPE A */
  /* START: STICKY TYPE B */
  /* END: STICKY TYPE B */
  /* START: HIDE ON DESKTOP */
  /* END: HIDE ON DESKTOP */
  /* START: MOBILE LOGO */
  /* END: MOBILE LOGO */ }
  .flo-header-mobile__menu-trigger {
    font-size: 0.5rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-header-mobile__logo {
    display: block;
    width: 60%;
    position: relative;
    line-height: 1em !important;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header-mobile__logo--light .flo-header-mobile__logo-image--default {
      opacity: 0; }
    .flo-header-mobile__logo--light .flo-header-mobile__logo-image--light {
      opacity: 1; }
  .flo-header-mobile__logo-image {
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header-mobile__logo-image--sticky, .flo-header-mobile__logo-image--light {
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      width: 100%;
      transform: translate(-50%, -50%);
      opacity: 0; }
  .flo-header-mobile--type-a .flo-header-mobile__logo {
    text-align: right; }
  .flo-header-mobile--type-b {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; }
    .flo-header-mobile--type-b .flo-header-mobile__logo {
      text-align: left; }
  .flo-header-mobile--type-c {
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    -ms-flex-align: center;
        align-items: center;
    padding: 1.8125rem 2.03125rem; }
    .flo-header-mobile--type-c .flo-header-mobile__logo {
      text-align: center;
      margin-bottom: 0.875rem; }

/* START: STICKY BOTTOM ANIMATION */
@keyframes move_sticky_to_bottom {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

/* END: STICKY BOTTOM ANIMATION */
  .flo-header-mobile-sticky-wrapper {
    transition: height 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header-mobile-sticky-wrapper .flo-header-mobile.is-main {
      position: fixed;
      top: 0;
      left: 0;
      bottom: auto !important; }
    .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile {
      position: fixed !important;
      padding: 1.25rem 2.03125rem; }
      .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile.flo-header-mobile--sticky-style-a.flo-header-mobile--sticky-position-top {
        top: 0;
        bottom: auto !important; }
      .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile.flo-header-mobile--sticky-style-a.flo-header-mobile--sticky-position-bottom {
        animation-name: move_sticky_to_bottom;
        animation-duration: 0.5s;
        animation-fill-mode: forwards;
        top: auto !important;
        bottom: 0 !important; }
      .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile .flo-header-mobile__logo-image--default {
        opacity: 1; }
      .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile .flo-header-mobile__logo-image--light {
        opacity: 0; }
      .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile .flo-header-mobile__logo-image--sticky {
        opacity: 1; }
  .flo-header-mobile__sticky-icon {
    display: none;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 3.25rem;
    line-height: 3.25rem;
    overflow: hidden;
    text-align: center;
    font-size: 0.5rem;
    z-index: 1000;
    position: fixed; }
    .flo-header-mobile__sticky-icon--position-top-left {
      top: 1.4375rem;
      left: 1.3125rem; }
    .flo-header-mobile__sticky-icon--position-top-right {
      top: 1.4375rem;
      right: 1.3125rem; }
    .flo-header-mobile__sticky-icon--position-bottom-right {
      bottom: 1.4375rem;
      right: 1.3125rem; }
    .flo-header-mobile__sticky-icon--position-bottom-left {
      bottom: 1.4375rem;
      left: 1.3125rem; }
  @media screen and (min-width: 48em) {
    .flo-header-mobile {
      display: none; }
      .flo-header-mobile-sticky-wrapper {
        display: none; } }
  .body--flo-page-hero-elements-color-is-light .flo-header-and-flo-page-hero > header > .flo-header-mobile .flo-header-mobile__logo-image--default, .body--flo-page-hero-elements-color-is-light .flo-header-and-flo-page-hero .flo-header-mobile-sticky-wrapper:not(.is-sticky) .flo-header-mobile .flo-header-mobile__logo-image--default {
    opacity: 0; }
  .body--flo-page-hero-elements-color-is-light .flo-header-and-flo-page-hero > header > .flo-header-mobile .flo-header-mobile__logo-image--light, .body--flo-page-hero-elements-color-is-light .flo-header-and-flo-page-hero .flo-header-mobile-sticky-wrapper:not(.is-sticky) .flo-header-mobile .flo-header-mobile__logo-image--light {
    opacity: 1; }
  .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile {
    position: fixed !important;
    bottom: auto !important; }
  @media screen and (max-width: 47.9375em) {
    .sticky-container {
      height: auto !important; } }

.flo-header {
  position: relative;
  z-index: 999;
  transition: background-color 0.5s, border-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  /* START: HEADER COMMON ELEMENTS */
  /* START: MENU (dropdowns, links etc.) */
  /* END: MENU (dropdowns, links etc.) */
  /* END: HEADER COMMON ELEMENTS */
  /* START: HEADER LAYOUTS */
  /* START: Unique CSS for each Header Type */
  /* END: Unique CSS for each Header Type */
  /* START: WHEN STICKY ADJUST PADDINGS */
  /* END: WHEN STICKY ADJUST PADDINGS */
  /* START: Menu Items Gap */
  /* END: Menu Items Gap */
  /* START: Unique CSS for each Header Type */
  /* END: Unique CSS for each Header Type */
  /* START: WHEN STICKY ADJUST PADDINGS */
  /* END: WHEN STICKY ADJUST PADDINGS */
  /* START: Menu Items Gap */
  /* END: Menu Items Gap */
  /* START: Unique CSS for each Header Type */
  /* END: Unique CSS for each Header Type */
  /* START: Menu Items Gap */
  /* END: Menu Items Gap */
  /* START: Unique CSS for each Header Type */
  /* END: Unique CSS for each Header Type */
  /* START: WHEN STICKY ADJUSTS PADDINGS */
  /* END: WHEN STICKY ADJUSTS PADDINGS */
  /* START: Unique CSS for each Header Type */
  /* END: Unique CSS for each Header Type */
  /* END: HEADER LAYOUTS */ }
  .flo-header__menu {
    /* Start: 2nd Level Dropdown */
    /* End: 2nd Level Dropdown */ }
    .flo-header__menu > div > ul {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      z-index: 23112312;
      -ms-flex-positive: 1;
          flex-grow: 1; }
    .flo-header__menu li {
      display: inline-block;
      position: relative;
      text-align: center;
      transition: border 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-header__menu li a {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: start;
            justify-content: flex-start;
        transition: color 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header__menu > div > ul > li > a {
      padding: 0; }
    .flo-header__menu li:hover > ul {
      opacity: 1;
      pointer-events: initial; }
    .flo-header__menu li ul {
      border: 0;
      position: absolute;
      opacity: 0;
      pointer-events: none;
      width: 15.625rem;
      padding: 1.15625rem 0;
      z-index: 2;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-header__menu li ul li {
        width: 100%;
        padding: 0.40625rem 2.4375rem; }
        .flo-header__menu li ul li.current-menu-item > a:before, .flo-header__menu li ul li.current-menu-parent > a:before {
          display: none; }
        .flo-header__menu li ul li > a {
          padding: 0;
          position: relative;
          display: inline-block;
          background-color: transparent !important; }
          .flo-header__menu li ul li > a:hover:before {
            opacity: 1; }
          .flo-header__menu li ul li > a:before {
            content: " ";
            width: 100%;
            height: 1px;
            position: absolute;
            bottom: 0;
            left: 0;
            opacity: 0;
            transition: opacity 0.5s, border-color 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header__menu > div > ul > li > ul {
      top: calc(100% + 1.5rem);
      left: 50%;
      transform: translateX(-50%); }
      .flo-header__menu > div > ul > li > ul:before {
        content: " ";
        display: block;
        position: absolute;
        bottom: 100%;
        left: 0;
        height: 1.5rem;
        width: 100%; }
      .flo-header__menu > div > ul > li > ul:after {
        content: " ";
        display: block;
        position: absolute;
        bottom: calc(100% - 0.0625rem);
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0.4375rem 0.375rem 0.4375rem;
        border-color: transparent transparent transparent transparent; }
  .flo-header__menu-trigger-wrap .flo-header__menu-trigger {
    font-size: 1.0625rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-header__logo {
    display: inline-block;
    position: relative;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header__logo--is-light .flo-header__logo-image--default {
      opacity: 0; }
    .flo-header__logo--is-light .flo-header__logo-image--light {
      opacity: 1; }
    .flo-header__logo-image {
      display: block;
      width: 100%;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-header__logo-image--sticky, .flo-header__logo-image--light {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        opacity: 0; }
  .flo-header__search-form {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    background-color: transparent !important;
    width: 16.5rem;
    color: inherit; }
  .flo-header__search-form-label, .flo-header__search-form-input::-webkit-input-placeholder, .flo-header__search-icon {
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-header__search-form-label {
    margin-right: 1.3125rem;
    color: inherit; }
  .flo-header__search-form-input {
    color: inherit;
    border: none !important; }
  .flo-header__search-form-submit {
    margin-left: 2.1875rem;
    color: inherit;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
  .flo-header__search-icon {
    font-size: 0.8125rem; }
  .flo-header__social-links a:not(:last-child) {
    margin-right: 1.125rem; }
  .flo-header__social-links a:before {
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .reveal-overlay {
    z-index: 9999; }
  .flo-header__menu-popup {
    top: 0 !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    width: 26.25rem;
    height: auto;
    margin-left: 0;
    outline: none;
    border: 0;
    padding: 5.3125rem 4.9375rem 4.875rem 9.6875rem;
    overflow-x: visible;
    overflow-y: visible; }
  .flo-header__menu-popup-elements-wrap {
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .flo-header__menu-popup-logo-wrap {
    position: relative; }
    .flo-header__menu-popup-logo-wrap .flo-header__logo {
      max-width: 50% !important; }
  .flo-header__menu-popup-close {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -3.3125rem;
    font-size: 1.0625rem;
    line-height: 1;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
  .flo-header__menu-popup-menu-wrap {
    margin-bottom: 8.9375rem; }
    .flo-header__menu-popup-menu-wrap .flo-header__menu > div > ul {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-header__menu-popup-menu-wrap .flo-header__menu > div > ul > li {
        margin-bottom: 0.5625rem;
        text-align: left; }
      .flo-header__menu-popup-menu-wrap .flo-header__menu > div > ul > li > ul {
        left: calc(100% + 2.9375rem);
        top: 0;
        transform: none;
        font-size: inherit; }
        .flo-header__menu-popup-menu-wrap .flo-header__menu > div > ul > li > ul:after {
          top: 0.5em;
          bottom: auto;
          left: auto;
          right: 100%;
          transform: rotate(-90deg) translateX(-100%) translateY(75%);
          border-width: 0 0.4375rem 0.375rem 0.4375rem; }
        .flo-header__menu-popup-menu-wrap .flo-header__menu > div > ul > li > ul:before {
          width: 2.9375rem;
          height: 100%;
          right: 100%;
          left: auto;
          top: 0; }
  .flo-header__menu-popup-text-above-copyright-notice {
    margin-bottom: 1.0625rem; }
  .flo-header__menu-popup-flo-logo {
    margin-top: 3.9375rem;
    margin-bottom: 6.25rem;
    font-size: 1.0625rem; }
  .reveal-overlay {
    background-color: transparent !important; }
  .flo-header--type-a, .flo-header--type-b {
    padding: 0 6.375rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
    .flo-header--type-a .flo-header__menu-wrap, .flo-header--type-b .flo-header__menu-wrap {
      transition: padding-bottom 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header--type-a .flo-header__menu, .flo-header--type-b .flo-header__menu {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-header--type-a .flo-header__menu > div > ul, .flo-header--type-b .flo-header__menu > div > ul {
        width: 100%;
        -ms-flex-pack: center;
            justify-content: center; }
        .flo-header--type-a .flo-header__menu > div > ul > li, .flo-header--type-b .flo-header__menu > div > ul > li {
          border-right: 1px solid;
          border-color: inherit;
          -ms-flex-positive: 1;
              flex-grow: 1;
          -ms-flex-negative: 0;
              flex-shrink: 0;
          text-align: center;
          margin-bottom: 0.625rem; }
          .flo-header--type-a .flo-header__menu > div > ul > li:last-child, .flo-header--type-b .flo-header__menu > div > ul > li:last-child {
            border-width: 0px; }
          .flo-header--type-a .flo-header__menu > div > ul > li:nth-child(6n):last-child, .flo-header--type-a .flo-header__menu > div > ul > li:first-child:nth-last-child(6):first-child, .flo-header--type-b .flo-header__menu > div > ul > li:nth-child(6n):last-child, .flo-header--type-b .flo-header__menu > div > ul > li:first-child:nth-last-child(6):first-child {
            width: 13%;
            -ms-flex-positive: 0;
                flex-grow: 0; }
          .flo-header--type-a .flo-header__menu > div > ul > li:first-child:nth-last-child(6):first-child, .flo-header--type-b .flo-header__menu > div > ul > li:first-child:nth-last-child(6):first-child {
            text-align: left;
            border-left: 0; }
          .flo-header--type-a .flo-header__menu > div > ul > li:nth-child(6n):last-child, .flo-header--type-b .flo-header__menu > div > ul > li:nth-child(6n):last-child {
            text-align: right;
            border-width: 0; }
    .flo-header--type-a .flo-header__logo-wrap, .flo-header--type-b .flo-header__logo-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center;
      transition: padding-bottom 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-header--type-a .flo-header__menu-wrap {
    padding-top: 2.4375rem;
    padding-bottom: 5.25rem; }
  .flo-header--type-a .flo-header__logo-wrap {
    padding-bottom: 6.25rem; }
  .flo-header--type-b .flo-header__menu-wrap {
    padding-bottom: 3.4375rem; }
  .flo-header--type-b .flo-header__logo-wrap {
    padding-top: 3.5rem;
    padding-bottom: 4.5625rem; }
  .flo-header--sticky .is-sticky .flo-header--type-a .flo-header__logo-wrap, .flo-header--sticky .is-sticky .flo-header--type-b .flo-header__logo-wrap {
    padding-bottom: 2rem; }
  .flo-header--sticky .is-sticky .flo-header--type-a .flo-header__menu-wrap, .flo-header--sticky .is-sticky .flo-header--type-b .flo-header__menu-wrap {
    padding-bottom: 2rem; }
  .flo-header--type-c, .flo-header--type-d {
    padding: 1.875rem 6.375rem 3.0625rem 6.375rem;
    transition: padding 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header--type-c .flo-header__top-wrap, .flo-header--type-d .flo-header__top-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      padding-bottom: 1.625rem;
      transition: padding 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header--type-c .flo-header__search-wrap, .flo-header--type-d .flo-header__search-wrap {
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-header--type-c .flo-header__social-links, .flo-header--type-d .flo-header__social-links {
      -ms-flex-positive: 1;
          flex-grow: 1;
      text-align: right; }
    .flo-header--type-c .flo-header__bottom-wrap, .flo-header--type-d .flo-header__bottom-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; }
    .flo-header--type-c .flo-header__logo-wrap, .flo-header--type-d .flo-header__logo-wrap {
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-header--type-c .flo-header__menu, .flo-header--type-d .flo-header__menu {
      -ms-flex-positive: 1;
          flex-grow: 1; }
    .flo-header--type-c > div > ul, .flo-header--type-d > div > ul {
      width: 100%;
      display: -ms-flexbox;
      display: flex; }
  .flo-header--type-c .flo-header__menu > div > ul {
    width: 100%;
    -ms-flex-pack: end;
        justify-content: flex-end; }
    .flo-header--type-c .flo-header__menu > div > ul > li {
      margin-left: 9.0625rem; }
  .flo-header--type-d .flo-header__menu > div > ul {
    margin-right: -1.5625rem;
    width: calc(100% + 1.5625rem);
    -ms-flex-pack: start;
        justify-content: flex-start; }
    .flo-header--type-d .flo-header__menu > div > ul > li {
      margin-right: 9.0625rem; }
  .flo-header--sticky .is-sticky .flo-header--type-c, .flo-header--sticky .is-sticky .flo-header--type-d {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem; }
    .flo-header--sticky .is-sticky .flo-header--type-c .flo-header__top-wrap, .flo-header--sticky .is-sticky .flo-header--type-d .flo-header__top-wrap {
      padding-bottom: 0.625rem; }
  .flo-header--type-e, .flo-header--type-f {
    padding: 0 6.375rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    padding-top: 2.1875rem;
    padding-bottom: 2.1875rem; }
    .flo-header--type-e .flo-header__logo-wrap, .flo-header--type-f .flo-header__logo-wrap {
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-header--type-e .flo-header__menu-wrap, .flo-header--type-f .flo-header__menu-wrap {
      -ms-flex-positive: 1;
          flex-grow: 1; }
    .flo-header--type-e .flo-header__menu, .flo-header--type-f .flo-header__menu {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      height: auto; }
      .flo-header--type-e .flo-header__menu > div > ul, .flo-header--type-f .flo-header__menu > div > ul {
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center; }
        .flo-header--type-e .flo-header__menu > div > ul > li, .flo-header--type-f .flo-header__menu > div > ul > li {
          padding: 0.46875rem 0; }
  .flo-header--type-e .flo-header__menu > div > ul {
    width: 100%;
    -ms-flex-pack: end;
        justify-content: flex-end; }
    .flo-header--type-e .flo-header__menu > div > ul > li {
      margin-left: 9.0625rem; }
  .flo-header--type-f .flo-header__menu > div > ul {
    margin-right: -1.5625rem;
    width: calc(100% + 1.5625rem); }
    .flo-header--type-f .flo-header__menu > div > ul > li {
      margin-right: 9.0625rem; }
  .flo-header--type-g, .flo-header--type-h {
    padding: 0 6.375rem; }
    .flo-header--type-g .flo-header__addons-wrap, .flo-header--type-h .flo-header__addons-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-align: center;
          align-items: center;
      transition: padding 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header--type-g .flo-header__search-wrap, .flo-header--type-h .flo-header__search-wrap {
      width: 30%; }
    .flo-header--type-g .flo-header__logo-wrap, .flo-header--type-h .flo-header__logo-wrap {
      width: 40%;
      -ms-flex-align: center;
          align-items: center;
      text-align: center; }
    .flo-header--type-g .flo-header__social-links, .flo-header--type-h .flo-header__social-links {
      width: 30%;
      text-align: right; }
    .flo-header--type-g .flo-header__menu-wrap, .flo-header--type-h .flo-header__menu-wrap {
      transition: padding 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header--type-g .flo-header__menu, .flo-header--type-h .flo-header__menu {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-header--type-g .flo-header__menu > div > ul, .flo-header--type-h .flo-header__menu > div > ul {
        width: 100%;
        -ms-flex-pack: center;
            justify-content: center; }
        .flo-header--type-g .flo-header__menu > div > ul > li, .flo-header--type-h .flo-header__menu > div > ul > li {
          width: 24%;
          border-right: 1px solid;
          border-color: inherit;
          -ms-flex-positive: 0;
              flex-grow: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
          text-align: center;
          margin-bottom: 0.625rem; }
          .flo-header--type-g .flo-header__menu > div > ul > li:last-child, .flo-header--type-h .flo-header__menu > div > ul > li:last-child {
            border-width: 0px; }
          .flo-header--type-g .flo-header__menu > div > ul > li:nth-child(5n):last-child, .flo-header--type-g .flo-header__menu > div > ul > li:first-child:nth-last-child(5):first-child, .flo-header--type-h .flo-header__menu > div > ul > li:nth-child(5n):last-child, .flo-header--type-h .flo-header__menu > div > ul > li:first-child:nth-last-child(5):first-child {
            width: 14%; }
          .flo-header--type-g .flo-header__menu > div > ul > li:first-child:nth-last-child(5):first-child, .flo-header--type-h .flo-header__menu > div > ul > li:first-child:nth-last-child(5):first-child {
            text-align: left;
            border-left: 0; }
          .flo-header--type-g .flo-header__menu > div > ul > li:nth-child(5n):last-child, .flo-header--type-h .flo-header__menu > div > ul > li:nth-child(5n):last-child {
            text-align: right;
            border-width: 0; }
  .flo-header--type-g .flo-header__addons-wrap {
    padding-top: 3.5625rem;
    padding-bottom: 3rem; }
  .flo-header--type-g .flo-header__menu-wrap {
    padding-bottom: 3.5625rem; }
  .flo-header--type-h .flo-header__addons-wrap {
    padding-bottom: 4.25rem; }
  .flo-header--type-h .flo-header__menu-wrap {
    padding-top: 2.1875rem;
    padding-bottom: 3.4375rem; }
  .flo-header--sticky .is-sticky .flo-header--type-g .flo-header__addons-wrap, .flo-header--sticky .is-sticky .flo-header--type-h .flo-header__addons-wrap {
    padding-top: 0.9375rem;
    padding-bottom: 0.8125rem; }
  .flo-header--sticky .is-sticky .flo-header--type-g .flo-header__menu-wrap, .flo-header--sticky .is-sticky .flo-header--type-h .flo-header__menu-wrap {
    padding-top: 0.9375rem;
    padding-bottom: 1.5625rem; }
  .flo-header--type-i, .flo-header--type-j {
    display: -ms-flexbox;
    display: flex;
    padding: 2.1875rem 6.375rem 2.5625rem 6.375rem; }
    .flo-header--type-i .flo-header__left-side, .flo-header--type-j .flo-header__left-side {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-positive: 1;
          flex-grow: 1;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center; }
    .flo-header--type-i .flo-header__right-side, .flo-header--type-j .flo-header__right-side {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-positive: 1;
          flex-grow: 1;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: center;
          align-items: center; }
    .flo-header--type-i .flo-header__search-wrap, .flo-header--type-j .flo-header__search-wrap {
      margin-right: 4.75rem; }
  .flo-header--type-i .flo-header__menu-trigger-wrap {
    margin-right: 2.25rem; }
  .flo-header--type-j .flo-header__menu-trigger-wrap {
    margin-left: 2.25rem; }
  .flo-header--type-k {
    display: -ms-flexbox;
    display: flex;
    padding: 1.375rem 6.375rem;
    border-bottom: 1px solid;
    border-color: inherit;
    /* START: Menu Items Gap */
    /* END: Menu Items Gap */ }
    .flo-header--type-k .flo-header__left-column {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      width: 16.5rem; }
    .flo-header--type-k .flo-header__middle-column {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-positive: 2;
          flex-grow: 2;
      -ms-flex-direction: column;
          flex-direction: column;
      padding: 0 2.3125rem;
      border-left: 1px solid;
      border-right: 1px solid;
      border-color: inherit; }
    .flo-header--type-k .flo-header__top-part {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: justify;
          justify-content: space-between;
      padding: 1rem 1.4375rem 1.3125rem 1.4375rem;
      border-bottom: 1px solid;
      border-color: inherit; }
    .flo-header--type-k .flo-header__pre-title {
      padding-right: 1.25rem; }
    .flo-header--type-k .flo-header__title {
      padding-left: 1.25rem; }
    .flo-header--type-k .flo-header__button {
      padding: 0.375rem 1.1875rem 0.1875rem 1.1875rem; }
    .flo-header--type-k .flo-header__bottom-part {
      padding: 1.5rem 1.4375rem 1.375rem 1.4375rem; }
    .flo-header--type-k .flo-header__menu {
      width: 100%; }
      .flo-header--type-k .flo-header__menu > div > ul {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
            justify-content: space-between;
        width: 100%;
        margin-left: -4.375rem;
        width: calc(100% + 4.375rem); }
        .flo-header--type-k .flo-header__menu > div > ul > li {
          margin-left: 4.375rem; }
    .flo-header--type-k .flo-header__right-column {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-direction: column;
          flex-direction: column;
      border-color: inherit;
      width: 16.5rem; }
    .flo-header--type-k .flo-header__social-links-line {
      width: 1.25rem;
      height: 1px;
      border-top-width: 1px;
      border-top-style: solid;
      border-color: inherit;
      margin-bottom: 1.6875rem; }
    .flo-header--type-k .flo-header__social-links > a {
      font-size: 0.8125rem; }
    .flo-header--type-k .flo-header__social-links-text {
      margin-top: 1.5rem; }
    .flo-header--type-k .flo-header__pre-title,
    .flo-header--type-k .flo-header__title,
    .flo-header--type-k .flo-header__button,
    .flo-header--type-k .flo-header__social-links-line,
    .flo-header--type-k .flo-header__title-divider,
    .flo-header--type-k .flo-header__social-links-text {
      transition: color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header--type-k .flo-header__button {
      transition: background-color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-header--type-l {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    padding: 2.4375rem 6.375rem;
    width: 100%;
    -ms-flex-align: center;
        align-items: center; }
    .flo-header--type-l.align-flex-start .flo-header__menu--left, .flo-header--type-l.align-flex-start .flo-header__menu--right {
      padding-top: 0.625rem; }
    .flo-header--type-l .flo-header__centered-logo-wrap {
      text-align: center;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
      .flo-header--type-l .flo-header__centered-logo-wrap .flo-header__social-links {
        margin-top: 1.5625rem; }
    .flo-header--type-l .flo-header__menu--left .flo-header__menu-items > li {
      margin-right: 3.1875rem; }
    .flo-header--type-l .flo-header__menu--left > div > ul {
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: end;
          justify-content: flex-end; }
    .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap {
      margin-left: 3.1875rem;
      margin-right: 0;
      display: -ms-inline-flexbox;
      display: inline-flex;
      position: relative; }
      .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .flo-icon-close,
      .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .flo-icon-search {
        transition: opacity 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .flo-icon-close {
        opacity: 0;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%); }
      .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .search-visible + .flo-header__search-trigger .flo-icon-search {
        opacity: 0; }
      .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .search-visible + .flo-header__search-trigger .flo-icon-close {
        opacity: 1; }
      .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .flo-header__search-form {
        position: absolute;
        right: -1.625rem;
        left: auto;
        padding: 0.825rem 0.625rem;
        background-color: #F8F6F5 !important;
        top: calc(100% + 1.225rem);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .flo-header__search-form.search-visible {
          opacity: 1;
          pointer-events: auto; }
        .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .flo-header__search-form:before {
          content: " ";
          display: block;
          position: absolute;
          bottom: 100%;
          right: 1.5625rem;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 0 0.57812rem 0.59375rem 0.57812rem;
          border-top-color: transparent;
          border-right-color: transparent;
          border-left-color: transparent;
          border-bottom-color: #F8F6F5; }
        .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .flo-header__search-form .flo-header__search-form-input {
          background-color: #F8F6F5 !important;
          color: #000 !important; }
      .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .flo-header__search-trigger {
        cursor: pointer;
        color: inherit;
        transition: color 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header--type-l .flo-header__menu--right .flo-header__menu-items > li {
      margin-left: 3.1875rem; }
    .flo-header--type-l .flo-header__menu--right > div > ul {
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  @media screen and (max-width: 47.9375em) {
    .flo-header {
      display: none; } }

* {
  border-color: inherit; }

/* START: STICKY HEADER STYLES */
.flo-header--sticky .sticky-wrapper {
  transition: height 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-header--sticky .sticky-wrapper.is-sticky .flo-header {
    position: fixed !important;
    top: 0 !important;
    bottom: auto !important; }
    .flo-header--sticky .sticky-wrapper.is-sticky .flo-header__logo-image--default {
      opacity: 0; }
    .flo-header--sticky .sticky-wrapper.is-sticky .flo-header__logo-image--light {
      opacity: 0; }
    .flo-header--sticky .sticky-wrapper.is-sticky .flo-header__logo-image--sticky {
      opacity: 1; }

/* END: STICKY HEADER STYLES */
.flo-header-topbar--simple {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  position: relative; }
  .flo-header-topbar--simple__button {
    position: relative; }
    .flo-header-topbar--simple__button:after, .flo-header-topbar--simple__button:before {
      content: '';
      position: absolute;
      bottom: -5px;
      height: 1px;
      left: 50%;
      transform: translateX(-50%);
      border-bottom: 1px solid; }
    .flo-header-topbar--simple__button:after {
      width: 100%; }
    .flo-header-topbar--simple__button:before {
      width: 0px;
      z-index: 2;
      transition: width 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header-topbar--simple__button:hover:before {
      width: 100%; }
  .flo-header-topbar--simple__close {
    position: absolute;
    top: 50%;
    font-size: 0.75rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-header-topbar--extended {
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }
  .flo-header-topbar--extended__text {
    margin-top: 1.25rem; }
  .flo-header-topbar--extended__button {
    padding: 0.625rem 1.875rem;
    transition: color 0.5s, box-shadow 0.5s, transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header-topbar--extended__button:hover {
      transform: scale(1.02);
      box-shadow: 0 0 30px 5px rgba(0, 0, 0, 0.1); }
    .flo-header-topbar--extended__button:active, .flo-header-topbar--extended__button:focus {
      transform: scale(0.95); }
  .flo-header-topbar--extended__close {
    font-size: 0.75rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@media screen and (min-width: 48em) {
  .flo-header-topbar--simple {
    padding: 20px 100px; }
    .flo-header-topbar--simple__button {
      margin-left: 65px; }
    .flo-header-topbar--simple__close {
      right: 6.25rem;
      transform: translateY(-50%); }
  .flo-header-topbar--extended {
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    padding: 25px 0; }
    .flo-header-topbar--extended__image-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      width: 180px;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      margin-left: 45px; }
      .flo-header-topbar--extended__image-wrap .flo-header-topbar__image {
        width: 100%;
        height: auto; }
    .flo-header-topbar--extended__text-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-pack: center;
          justify-content: center;
      margin-left: 5.625rem;
      margin-right: 5.625rem;
      -ms-flex-positive: 1;
          flex-grow: 1; }
    .flo-header-topbar--extended__actions-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: end;
          align-items: flex-end;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-item-align: stretch;
          align-self: stretch;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-header-topbar--extended__close {
      position: relative;
      margin-bottom: 0.625rem; } }

@media screen and (min-width: 48em) and (max-width: 64em) {
  .flo-header-topbar--extended__image-wrap {
    margin-left: 0; } }

@media screen and (max-width: 47.9375em) {
  .flo-header-topbar--simple {
    padding: 1.875rem 0;
    -ms-flex-direction: column;
        flex-direction: column;
    text-align: center; }
    .flo-header-topbar--simple__text {
      margin-bottom: 0.625rem; }
    .flo-header-topbar--simple__close {
      top: 0.4375rem; }
  .flo-header-topbar--extended {
    display: none !important; } }

.flo_page_wrap {
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  position: relative; }
  .flo_page_wrap--padding-top-large {
    padding-top: 9.375rem; }

.flo_page {
  -ms-flex-positive: 1;
      flex-grow: 1;
  width: 100%; }

.flo-post-wrap {
  margin: 0 auto; }

.flo-post--not-found {
  padding-bottom: 3.125rem; }

.flo-post, .flo-post__styles {
  position: relative;
  /*--------------------------------------------------------------
  3.0 Alignments
  --------------------------------------------------------------*/
  /*--------------------------------------------------------------
  8.0 Lists
  --------------------------------------------------------------*/
  /*--------------------------------------------------------------
  16.0 Media
  --------------------------------------------------------------*/
  /* Make sure embeds and iframes fit their containers. */
  /* Media Elements */
  /* Audio Player */
  /*--------------------------------------------------------------
  16.1 Galleries
  --------------------------------------------------------------*/
  /* spacing below image */ }
  .flo-post img, .flo-post__styles img {
    max-width: 100%; }
  .flo-post .blocks-gallery-item, .flo-post__styles .blocks-gallery-item {
    margin-bottom: 0; }
  .flo-post p, .flo-post__styles p {
    margin-bottom: 0.9375rem; }
    .flo-post p:last-of-type, .flo-post__styles p:last-of-type {
      margin-bottom: 0; }
  .flo-post blockquote, .flo-post__styles blockquote {
    padding: 0;
    border: 0;
    margin-bottom: 1.875rem; }
    .flo-post blockquote p, .flo-post__styles blockquote p {
      padding: 0;
      margin-bottom: 0.9375rem; }
      .flo-post blockquote p:last-of-type, .flo-post__styles blockquote p:last-of-type {
        margin-bottom: 0; }
  .flo-post h1, .flo-post h2, .flo-post h3, .flo-post h4, .flo-post h5, .flo-post h6, .flo-post__styles h1, .flo-post__styles h2, .flo-post__styles h3, .flo-post__styles h4, .flo-post__styles h5, .flo-post__styles h6 {
    padding-bottom: 1.5rem; }
  .flo-post .alignleft, .flo-post__styles .alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em; }
  .flo-post .alignright, .flo-post__styles .alignright {
    display: inline;
    float: right;
    margin-left: 1.5em; }
  .flo-post .aligncenter, .flo-post__styles .aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .flo-post ul,
  .flo-post ol, .flo-post__styles ul,
  .flo-post__styles ol {
    margin: 0 0 1.5em;
    padding: 0; }
  .flo-post ul, .flo-post__styles ul {
    list-style: disc; }
  .flo-post ol, .flo-post__styles ol {
    list-style: decimal; }
  .flo-post li > ul,
  .flo-post li > ol, .flo-post__styles li > ul,
  .flo-post__styles li > ol {
    margin-bottom: 0;
    margin-left: 1.5em; }
  .flo-post dt, .flo-post__styles dt {
    font-weight: 700; }
  .flo-post dd, .flo-post__styles dd {
    margin: 0 1.5em 1.5em; }
  .flo-post img,
  .flo-post video, .flo-post__styles img,
  .flo-post__styles video {
    height: auto;
    /* Make sure images are scaled correctly. */
    max-width: 100%;
    /* Adhere to container width. */
    margin: 0 auto; }
  .flo-post .comment-content .wp-smiley, .flo-post__styles .comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0; }
  .flo-post embed,
  .flo-post iframe,
  .flo-post object, .flo-post__styles embed,
  .flo-post__styles iframe,
  .flo-post__styles object {
    margin-bottom: 0.3125rem;
    max-width: 100%; }
  .flo-post .wp-caption,
  .flo-post .wp-caption a,
  .flo-post .gallery-caption, .flo-post__styles .wp-caption,
  .flo-post__styles .wp-caption a,
  .flo-post__styles .gallery-caption {
    color: #666;
    font-size: 0.6125rem;
    font-style: italic;
    margin-bottom: 1.5em;
    max-width: 100%;
    line-height: 1em; }
  .flo-post .wp-caption img[class*="wp-image-"], .flo-post__styles .wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .flo-post .wp-caption .wp-caption-text, .flo-post .wp-caption-text a, .flo-post__styles .wp-caption .wp-caption-text, .flo-post__styles .wp-caption-text a {
    margin: 0.8075em 0; }
  .flo-post .wp-caption p, .flo-post__styles .wp-caption p {
    margin-bottom: 0; }
  .flo-post .mejs-container, .flo-post__styles .mejs-container {
    margin-bottom: 0.3125rem;
    max-width: 100%; }
  .flo-post .mejs-controls a.mejs-horizontal-volume-slider,
  .flo-post .mejs-controls a.mejs-horizontal-volume-slider:focus,
  .flo-post .mejs-controls a.mejs-horizontal-volume-slider:hover, .flo-post__styles .mejs-controls a.mejs-horizontal-volume-slider,
  .flo-post__styles .mejs-controls a.mejs-horizontal-volume-slider:focus,
  .flo-post__styles .mejs-controls a.mejs-horizontal-volume-slider:hover {
    background: transparent;
    border: 0; }
  .flo-post .gallery-item, .flo-post__styles .gallery-item {
    display: inline-block;
    text-align: left;
    vertical-align: top;
    margin: 0 0 1.5em;
    padding: 0 1em 0 0;
    width: 50%; }
  .flo-post .gallery-columns-1 .gallery-item, .flo-post__styles .gallery-columns-1 .gallery-item {
    width: 100%; }
    .flo-post .gallery-columns-1 .gallery-item a, .flo-post__styles .gallery-columns-1 .gallery-item a {
      display: block; }
  .flo-post .gallery-columns-2 .gallery-item, .flo-post__styles .gallery-columns-2 .gallery-item {
    max-width: 50%; }
  .flo-post .gallery-item a,
  .flo-post .gallery-item a:hover,
  .flo-post .gallery-item a:focus, .flo-post__styles .gallery-item a,
  .flo-post__styles .gallery-item a:hover,
  .flo-post__styles .gallery-item a:focus {
    box-shadow: none;
    background: none;
    display: inline-block;
    max-width: 100%; }
  .flo-post .gallery-item a img, .flo-post__styles .gallery-item a img {
    display: block;
    transition: filter 0.2s ease-in;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  .flo-post .gallery-item a:hover img,
  .flo-post .gallery-item a:focus img, .flo-post__styles .gallery-item a:hover img,
  .flo-post__styles .gallery-item a:focus img {
    filter: opacity(60%); }
  .flo-post .gallery-caption, .flo-post__styles .gallery-caption {
    display: block;
    text-align: left;
    padding: 0 10px 0 0;
    margin-bottom: 0; }
  .flo-post a img, .flo-post img, .flo-post img.alignleft, .flo-post img.alignright, .flo-post img.aligncenter, .flo-post__styles a img, .flo-post__styles img, .flo-post__styles img.alignleft, .flo-post__styles img.alignright, .flo-post__styles img.aligncenter {
    margin-bottom: 1.25rem; }
  @media screen and (min-width: 48em) {
    .flo-post, .flo-post__styles {
      /* Gallery Columns */ }
      .flo-post div.gallery, .flo-post__styles div.gallery {
        font-size: 0px; }
      .flo-post .gallery-item, .flo-post__styles .gallery-item {
        max-width: 25%; }
      .flo-post .gallery-columns-1 .gallery-item, .flo-post__styles .gallery-columns-1 .gallery-item {
        max-width: 100%; }
      .flo-post .gallery-columns-2 .gallery-item, .flo-post__styles .gallery-columns-2 .gallery-item {
        max-width: 50%; }
      .flo-post .gallery-columns-3 .gallery-item, .flo-post__styles .gallery-columns-3 .gallery-item {
        max-width: 33.33%; }
      .flo-post .gallery-columns-4 .gallery-item, .flo-post__styles .gallery-columns-4 .gallery-item {
        max-width: 25%; }
      .flo-post .gallery-columns-5 .gallery-item, .flo-post__styles .gallery-columns-5 .gallery-item {
        max-width: 20%; }
      .flo-post .gallery-columns-6 .gallery-item, .flo-post__styles .gallery-columns-6 .gallery-item {
        max-width: 16.66%; }
      .flo-post .gallery-columns-7 .gallery-item, .flo-post__styles .gallery-columns-7 .gallery-item {
        max-width: 14.285%; }
      .flo-post .gallery-columns-8 .gallery-item, .flo-post__styles .gallery-columns-8 .gallery-item {
        max-width: 12.5%; }
      .flo-post .gallery-columns-9 .gallery-item, .flo-post__styles .gallery-columns-9 .gallery-item {
        max-width: 11.111%; } }

.post-password-form {
  max-width: 800px;
  margin: 0 auto 60px; }
  .post-password-form input[type="password"] {
    border: 1px solid #bbbbbb !important;
    margin-bottom: 30px;
    height: auto; }

.flo-related-items__title {
  text-align: center;
  border-bottom: 1px solid;
  padding-bottom: 2.0625rem;
  margin-bottom: 3.75rem; }

.flo-related-items__item {
  text-align: center;
  display: block; }

.flo-related-items__item-image {
  display: block;
  margin-bottom: 1.875rem;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-related-items__item-title {
  display: block; }

@media screen and (min-width: 48em) {
  .flo-related-items__items {
    display: -ms-flexbox;
    display: flex; }
  .flo-related-items__item {
    width: 44.625rem; }
    .flo-related-items__item:not(:last-child) {
      margin-right: 9.5625rem; }
    .flo-related-items__item:hover .flo-related-items__item-image {
      opacity: 0.5; }
  .flo-related-items__item-image {
    height: 13.84375rem;
    width: 100%;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-related-items__item-title {
    padding: 0 6.375rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-related-items__item {
    margin-bottom: 2rem; }
  .flo-related-items__item-image {
    height: 12.5rem; } }

.flo-reveal {
  height: 100vh;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: -100%;
  opacity: 0;
  z-index: 1000001; }
  .flo-reveal--visible {
    pointer-events: initial; }
  .flo-reveal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh; }
  .flo-reveal--ready {
    opacity: 1;
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-reveal[data-initial-position="left"] {
    left: 0;
    right: auto;
    transform: translateX(-100%); }
    .flo-reveal[data-initial-position="left"].flo-reveal--visible {
      transform: translate(0); }
  .flo-reveal[data-initial-position="right"] {
    left: auto;
    right: 0;
    transform: translateX(100%); }
    .flo-reveal[data-initial-position="right"].flo-reveal--visible {
      transform: translate(0); }
  .flo-reveal-overlay {
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-reveal-overlay:not(.flo-reveal-overlay--visible) {
      opacity: 0 !important;
      pointer-events: none; }
  .flo-reveal-overlay {
    z-index: 100000; }

.flo-slideshow {
  height: 100vh;
  width: 100vw;
  /* START: ONE SLIDE MODIFICATOR */
  /* END: ONE SLIDE MODIFICATOR */
  /* START: COUNTER */
  /* END: COUNTER */
  /* START: TITLE AREA */
  /* END: TITLE AREA */
  /* START: FEATURED LINK */
  /* END: FEATURED LINK */ }
  .flo-slideshow--one-slide .slick-list {
    height: auto !important; }
  .flo-slideshow__slides {
    -ms-flex-positive: 1;
        flex-grow: 1;
    height: 100%; }
    .flo-slideshow__slides .slick-list,
    .flo-slideshow__slides .slick-track,
    .flo-slideshow__slides .slick-slide,
    .flo-slideshow__slides .flo-slideshow__slide-content {
      height: 100%; }
  .flo-slideshow .flo-slideshow__slide-img--bgi {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  .flo-slideshow .flo-slideshow__slide {
    position: relative;
    transform: translate3d(0, 0, 0); }
  .flo-slideshow .flo-slideshow__slide-content {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block--merged-with-header .flo-slideshow__slide-content {
      height: 100vh; }
  .flo-slideshow .flo-slideshow__slide-img {
    display: none; }
    .flo-slideshow .flo-slideshow__slide-img--bgi {
      width: 100%;
      height: 100%; }
  .flo-slideshow .flo-slideshow__slide-background-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    overflow: hidden; }
    .flo-slideshow .flo-slideshow__slide-background-video video {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .flo-slideshow .flo-slideshow__slide-background-video--cropped video {
      height: 100%; }
    .flo-slideshow .flo-slideshow__slide-background-video--no-crop video {
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      width: 100%; }
  @media screen and (min-width: 48em) {
    .flo-slideshow .flo-slideshow__slide.gradient-visible .flo-slideshow__slide-img:after {
      opacity: 0.666; }
    .flo-slideshow .flo-slideshow__slide-img {
      position: relative; }
      .flo-slideshow .flo-slideshow__slide-img:after {
        content: " ";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: opacity 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-slideshow .flo-slideshow__slide-img--bgi {
        display: block; } }
  @media screen and (max-width: 47.9375em) {
    .flo-slideshow .flo-slideshow__slide-content {
      box-sizing: border-box;
      width: 100vw;
      height: 100vh; }
      .flo-block--merged-with-header .flo-slideshow__slide-content {
        height: 100vh; }
    .flo-slideshow .flo-slideshow__slide-img--bgi {
      display: block; } }
  .flo-slideshow__layout {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: 100%;
    height: 100%; }
  @media screen and (min-width: 48em) {
    .flo-slideshow__layout--type-a .flo-slideshow__title-area,
    .flo-slideshow__layout--type-a .flo-hero-video-embed__button {
      cursor: none; }
    .flo-slideshow__layout--type-a .flo-slideshow__slides {
      cursor: none; }
    .flo-slideshow__layout--type-a .flo-slideshow__title-area {
      left: 6.0625rem;
      bottom: 20.6875rem;
      transform: translateY(50%); }
    .flo-slideshow__layout--type-a .flo-slideshow__counter {
      bottom: 4.375rem;
      left: 4.5625rem;
      right: initial;
      pointer-events: none; }
    .flo-slideshow__layout--type-a .flo-slideshow__featured-link {
      bottom: 4.375rem;
      right: 4.5625rem; }
    .flo-slideshow__layout--type-a .flo-slideshow__featured-link-title-area {
      text-align: right; }
    .flo-slideshow__layout--type-a:hover .flo-slideshow__arrow-next {
      opacity: 1; }
    .flo-slideshow__layout--type-a .flo-slideshow__arrow-next {
      position: absolute;
      opacity: 0;
      font-size: 0.8125rem;
      pointer-events: none;
      transform-origin: center;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none;
      transition: color 0.5s, opacity 0.5s, transform 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-slideshow__layout--type-a .flo-slideshow__arrow-next.inverted {
        transform: rotate(-180deg); }
      .flo-slideshow__layout--type-a .flo-slideshow__arrow-next.vertical {
        transform: rotate(-90deg) !important; }
      .flo-slideshow__layout--type-a .flo-slideshow__arrow-next i {
        display: inline-block; } }
  .flo-slideshow__layout--type-b .flo-slideshow__background {
    transition: background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__layout--type-b .flo-slideshow__arrows {
    font-size: 0.5rem; }
  .flo-slideshow__layout--type-b .flo-slideshow__slide-image {
    width: 100%;
    height: 100%;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  @media screen and (min-width: 48em) {
    .flo-slideshow__layout--type-b .flo-slideshow__background {
      position: absolute;
      left: 0;
      width: calc(100vw - 6.375rem);
      height: 100%;
      pointer-events: none; }
    .flo-slideshow__layout--type-b .flo-slideshow__arrows {
      position: absolute;
      right: 19.125rem;
      transform: translateY(50%);
      top: 23.1875rem;
      z-index: 10; }
    .flo-slideshow__layout--type-b .flo-slideshow__arrow {
      opacity: 0.8;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-slideshow__layout--type-b .flo-slideshow__arrow:hover {
        opacity: 1; }
      .flo-slideshow__layout--type-b .flo-slideshow__arrow--next {
        margin-bottom: 2.8125rem; }
    .flo-slideshow__layout--type-b .flo-slideshow__slides {
      z-index: 1; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide:not(.slick-current) .flo-slideshow__title-area {
      opacity: 0; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide:not(.slick-current) .flo-slideshow__slide-image-wrap {
      height: calc(100% - 5.3125rem); }
    .flo-slideshow__layout--type-b .flo-slideshow__slide.gradient-visible .flo-slideshow__slide-image:after {
      opacity: 0.5; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide-main-wrap {
      position: relative;
      width: 68.125rem;
      padding-left: 6.375rem;
      padding-right: 6.375rem;
      padding-bottom: 6.375rem; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide-image-wrap {
      position: relative;
      width: 100%;
      height: 100%;
      overflow: hidden;
      transition: height 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__layout--type-b .flo-slideshow__slide-image {
      width: 100%;
      position: relative;
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; }
      .flo-slideshow__layout--type-b .flo-slideshow__slide-image:after {
        content: " ";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: opacity 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__layout--type-b .flo-slideshow__title-area {
      bottom: 5.4375rem;
      left: 6.0625rem;
      width: 50%;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__layout--type-b .flo-slideshow__title-area-pretitle {
      margin-bottom: 0.875rem; }
    .flo-slideshow__layout--type-b .flo-slideshow__counter {
      left: 69.0625rem;
      bottom: 6.5625rem;
      z-index: 1; }
    .flo-slideshow__layout--type-b .flo-slideshow__counter-index {
      margin-right: 2rem; }
    .flo-slideshow__layout--type-b .flo-slideshow__counter-separator {
      display: none !important; }
    .flo-slideshow__layout--type-b .flo-slideshow__counter-count {
      opacity: 1; } }
  @media screen and (max-width: 47.9375em) {
    .flo-slideshow__layout--type-b .flo-slideshow__arrow {
      position: absolute; }
    .flo-slideshow__layout--type-b .flo-slideshow__background {
      display: none; }
    .flo-slideshow__layout--type-b .flo-slideshow__counter {
      display: none; }
    .flo-slideshow__layout--type-b .flo-slideshow__slides {
      height: 100vh; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide {
      height: 100vh;
      width: 100vw; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide-image {
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; } }
  .flo-slideshow-block--type-c.flo-block--merged-with-header .flo-header {
    display: none !important; }
  .flo-slideshow-block--type-c .flo-header-mobile__logo-image--default {
    opacity: 1 !important; }
  .flo-slideshow-block--type-c .flo-header-mobile__logo-image--light {
    opacity: 0 !important; }
  .flo-slideshow__layout--type-c {
    /* START: TOP AREA */
    /* END: TOP AREA */
    /* START: SLIDES */
    /* END: SLIDES */
    /* START: FEATURED LINK */
    /* END: FEATURED LINK */
    /* START: SLIDE SELECTOR */
    /* END: SLIDE SELECTOR */
    /* START: RIGHT BAR */
    /* END: RIGHT BAR */ }
    .flo-slideshow__layout--type-c .flo-slideshow__top-area-logo .flo-header-logo {
      transition: color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__layout--type-c .flo-slideshow__top-area-social-links a:before {
      transition: color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-wrap {
      z-index: 1;
      position: relative; }
    @media screen and (min-width: 48em) {
      .flo-slideshow__layout--type-c {
        /* START: TOP AREA */
        /* END: TOP AREA */
        /* START: SLIDES */
        /* END: SLIDES */
        /* START: FEATURED LINK */
        /* END: FEATURED LINK */
        /* START: SLIDE SELECTOR */
        /* END: SLIDE SELECTOR */
        /* START: RIGHT BAR */
        /* START: HEADER POPUP STYLE */
        /* END: HEADER POPUP STYLE */
        /* END: RIGHT BAR */ }
        .flo-slideshow__layout--type-c .flo-slideshow__top-area {
          position: absolute;
          top: 0;
          left: 0;
          width: calc(100% - 6.375rem);
          z-index: 1;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-pack: justify;
              justify-content: space-between;
          -ms-flex-align: start;
              align-items: flex-start;
          padding: 1.875rem 6.375rem 0 6.375rem; }
        .flo-slideshow__layout--type-c .flo-slideshow__top-area-social-links a:not(:last-child) {
          margin-right: 1.75rem; }
        .flo-slideshow__layout--type-c .flo-slideshow__slides {
          width: calc(100vw - 6.375rem);
          height: calc(100vh - 5rem); }
        .flo-slideshow__layout--type-c .flo-slideshow__featured-link {
          bottom: 12.0625rem;
          left: 0;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selectors {
          width: calc(100vw - 6.375rem);
          height: 5rem; }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selectors .slick-list {
            overflow: visible;
            transform: translateX(7.625rem); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector {
          position: relative;
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          cursor: pointer;
          outline: none;
          transition: background-color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector.slick-current:before, .flo-slideshow__layout--type-c .flo-slideshow__slide-selector:hover:before {
            opacity: 0.9; }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector.slick-current .flo-slideshow__slide-selector-pretitle {
            opacity: 1; }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector:before {
            content: " ";
            display: block;
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            height: calc(100% + 0.625rem);
            opacity: 0;
            transition: opacity 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-wrap {
          padding: 0.8125rem 1.625rem;
          padding-right: 7.625rem;
          height: 5rem;
          position: relative;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: end;
              justify-content: flex-end;
          -ms-flex-align: start;
              align-items: flex-start; }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-pretitle {
          position: absolute;
          left: 1.625rem;
          bottom: calc(100% + 2.3125rem);
          pointer-events: none;
          opacity: 0;
          transition: opacity 0.5s, color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-pretitle:before {
            content: " ";
            display: inline-block;
            vertical-align: middle;
            width: 1.46875rem;
            height: 1px;
            margin-right: 0.9375rem;
            transition: background-color 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-second-pretitle {
          margin-bottom: 0.3125rem;
          transition: color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-slideshow__layout--type-c .flo-slideshow__right-bar {
          position: absolute;
          right: 0;
          top: 0;
          box-sizing: border-box;
          height: 100vh;
          width: 6.375rem;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-align: center;
              align-items: center;
          -ms-flex-pack: justify;
              justify-content: space-between;
          padding-top: 3.125rem;
          padding-bottom: 1.875rem; }
        .flo-slideshow__layout--type-c .flo-slideshow__right-bar-search-trigger {
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          cursor: pointer;
          outline: none; }
        .flo-slideshow__layout--type-c .flo-slideshow__right-bar-link {
          -webkit-writing-mode: tb-rl;
              -ms-writing-mode: tb-rl;
                  writing-mode: tb-rl; }
        .flo-slideshow__layout--type-c .flo-slideshow__right-bar-menu-trigger {
          font-size: 0.6875rem;
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          cursor: pointer;
          outline: none; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup:before {
          display: none; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__main-wrap {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-align: flex-stretch;
              align-items: flex-stretch;
          padding-right: 1.625rem;
          padding-top: 3.125rem;
          padding-left: 6.375rem; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__top-bar {
          position: absolute;
          bottom: 1.875rem;
          right: 1.625rem;
          margin: 0;
          pointer-events: none; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__close {
          pointer-events: initial; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__search {
          margin-bottom: 5rem;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-align: start;
              align-items: flex-start; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__search-input {
          padding-top: 0 !important; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__menu {
          height: 50vh; }
          .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__menu > div > ul > li {
            padding-left: 12.75rem; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__social-links {
          position: absolute;
          bottom: 1.875rem;
          left: 6.375rem;
          margin: 0;
          pointer-events: none; } }
    @media screen and (max-width: 47.9375em) {
      .flo-slideshow__layout--type-c {
        /* START: TOP AREA */
        /* END: TOP AREA */
        /* START: SLIDES */
        /* END: SLIDES */
        /* START: FEATURED LINK */
        /* END: FEATURED LINK */
        /* START: SLIDE SELECTOR */
        /* END: SLIDE SELECTOR */
        /* START: RIGHT BAR */
        /* END: RIGHT BAR */ }
        .flo-slideshow__layout--type-c .flo-slideshow__top-area {
          display: none; }
        .flo-slideshow__layout--type-c .flo-slideshow__title-area {
          display: none; }
        .flo-slideshow__layout--type-c .flo-slideshow__featured-link {
          display: none; }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selectors {
          height: 5rem; }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selectors .slick-list {
            overflow: visible;
            transform: translateX(1.25rem); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector {
          position: relative;
          width: calc(100vw - 2.5rem);
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          cursor: pointer;
          outline: none; }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector.slick-current .flo-slideshow__slide-selector-wrap:before {
            opacity: 0.9; }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-wrap {
          padding: 0.8125rem 1.625rem;
          position: absolute;
          bottom: 0;
          left: 0;
          width: calc(100vw - 2.5rem); }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-wrap:before {
            content: " ";
            display: block;
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            height: calc(100% + 0.625rem);
            opacity: 0; }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-pretitle {
          position: absolute;
          left: 1.625rem;
          bottom: calc(100% + 2.3125rem);
          pointer-events: none;
          transition: color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-pretitle:before {
            content: " ";
            display: inline-block;
            vertical-align: middle;
            width: 1.46875rem;
            height: 1px;
            margin-right: 0.9375rem;
            transition: background-color 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-second-pretitle {
          position: relative;
          z-index: 1;
          margin-bottom: 0.5rem;
          transition: color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-title {
          position: relative;
          z-index: 1; }
        .flo-slideshow__layout--type-c .flo-slideshow__right-bar {
          display: none; } }
  .flo-slideshow--one-slide .flo-slideshow__slides {
    cursor: default; }
  .flo-slideshow--one-slide .flo-slideshow__counter,
  .flo-slideshow--one-slide .flo-slideshow__arrow-next,
  .flo-slideshow--one-slide .flo-slideshow__slide-selectors {
    display: none !important; }
  .flo-slideshow__counter {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    position: absolute; }
  .flo-slideshow__counter-index {
    padding-bottom: 0 !important;
    line-height: 1em !important;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__counter-separator, .flo-slideshow__counter-count {
    opacity: 0.5; }
  .flo-slideshow__counter-separator {
    height: 1px;
    width: 0.6875rem;
    margin: 0 0.25rem;
    transition: background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__counter-count {
    padding-bottom: 0 !important;
    line-height: 1em !important;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (min-width: 48em) {
    .flo-slideshow__counter {
      bottom: 2.1875rem;
      right: 3.4375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-slideshow__counter {
      bottom: 2.1875rem;
      left: 50%;
      transform: translateX(-50%); } }
  .flo-slideshow__title-area {
    position: absolute;
    width: 90%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-pack: start;
        justify-content: flex-start; }
  .flo-slideshow__title-area-pretitle {
    margin-bottom: 1.4375rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__title-area-pretitle:before {
      content: " ";
      display: inline-block;
      vertical-align: middle;
      width: 1.4375rem;
      height: 1px;
      margin-right: 1.3125rem;
      transition: background-color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__title-area-title {
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (min-width: 48em) {
    .flo-slideshow__title-area {
      width: calc(100% / 3.1); } }
  @media screen and (max-width: 47.9375em) {
    .flo-slideshow__title-area {
      left: 50%;
      bottom: 30%;
      transform: translateX(-50%);
      -ms-flex-align: center;
          align-items: center;
      text-align: center; } }
  .flo-slideshow__featured-link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    position: absolute; }
  .flo-slideshow__featured-link-title-area {
    display: block;
    padding: 1.5625rem; }
  .flo-slideshow__featured-link-pretitle {
    display: block;
    margin-bottom: 0.625rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__featured-link-title {
    display: block;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__featured-link-title p {
      margin-bottom: 0; }
  .flo-slideshow__featured-link-image {
    display: block;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -ms-flex-positive: 0;
        flex-grow: 0;
    width: 7.34375rem;
    height: 7.34375rem;
    border: 0.78125rem solid;
    box-sizing: border-box;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transition: border-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__featured-link-divider {
    height: 5rem;
    width: 1px;
    transition: background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (max-width: 47.9375em) {
    .flo-slideshow__featured-link {
      display: none; } }
  @media screen and (min-width: 48em) {
    .flo-block--merged-with-header.flo-slideshow-block--type-a .flo-header.is-not-sticky {
      background-color: transparent !important; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block--merged-with-header {
      padding-top: 0 !important; }
      .flo-block--merged-with-header.flo-slideshow-block--type-a .flo-header-mobile.not-sticky.is-main {
        background-color: transparent !important; } }

.flo-splash {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #ffffff;
  display: block;
  z-index: 1000000000;
  overflow: hidden;
  transition: all 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-splash__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none; }
    .flo-splash__content .flo-header__logo,
    .flo-splash__content .flo-header-mobile__logo,
    .flo-splash__content img {
      -ms-flex-pack: center;
          justify-content: center;
      max-width: none !important; }
  .flo-splash__custom-preloader {
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 1;
    right: 0;
    margin: 0 auto; }
  @media screen and (min-width: 48em) {
    .flo-splash__content--medium-up {
      opacity: 1; }
    .flo-splash__content--small-only {
      opacity: 0; } }
  @media screen and (max-width: 47.9375em) {
    .flo-splash__content--medium-up {
      opacity: 0; }
    .flo-splash__content--small-only {
      opacity: 1; }
      .flo-splash__content--small-only .flo-header-mobile__logo img {
        width: 100%;
        height: auto; } }
  .flo-splash__custom-preloader {
    background-image: url(https://42fccb.claudeassets.com/20240125002332im_/https://shaunaheron.com/wp-content/themes/porto2/theme-files/public/img/no-image.jpg);
    background-image: var(--img-small); }
  @media (min-width: 768px) {
    .flo-splash__custom-preloader {
      background-image: var(--img-medium); } }
  @media (min-width: 1025px) {
    .flo-splash__custom-preloader {
      background-image: var(--img-large); } }

.flo-text-content {
  max-width: none;
  padding: 2.5rem 0; }

.flo-hero-video-embed__container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: 0;
  background-color: black;
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-hero-video-embed__container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.flo-hero-video-embed__button {
  position: absolute;
  top: 2.5rem;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;
  z-index: 100;
  width: 4.0625rem;
  height: 4.0625rem;
  border-radius: 4.0625rem;
  font-size: 0.97345rem;
  color: inherit;
  border: 1px solid;
  border-color: initial;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  transition: color 0.5s, top 0.5s, bottom 0.5s, opacity 0.5s, border 0.5s, transform 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-hero-video-embed__button:hover {
    opacity: 0.4; }

.flo-hero-video-embed__button-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-hero-video-embed__button-icon--play {
    opacity: 0; }
  .flo-hero-video-embed__button-icon--stop {
    opacity: 0; }

.flo-hero-video-embed__button {
  top: 50%;
  opacity: 1; }

.flo-hero-video-embed__button-icon--play {
  opacity: 1; }

.flo-hero-video-embed--button-at-bottom .flo-hero-video-embed__button {
  top: 80%; }

@media screen and (max-width: 47.9375em) {
  .flo-hero-video-embed--button-mobile-bottom .flo-hero-video-embed__button {
    top: 80%; } }

/* START: BUTTON HIDDEN */
.flo-hero-video-embed--button-hidden .flo-hero-video-embed__button {
  opacity: 0;
  pointer-events: none; }

/* END: BUTTON HIDDEN */
.video-is-playing .flo-block__header, .video-is-playing .flo-header-mobile, .video-is-playing .flo-slideshow__centered-logo, .video-is-playing .flo-slideshow__type-a-menu, .video-is-playing .flo-slideshow__slide-content, .video-is-playing .flo-slideshow__counter, .video-is-playing .flo-slideshow__title-area, .video-is-playing .flo-slideshow__featured-link, .video-is-playing .flo-slideshow__top-area, .video-is-playing .flo-slideshow__slide-image, .video-is-playing .flo-block-slideshow-1__content-wrap, .video-is-playing .flo-block-slideshow-2__content-wrap, .video-is-playing .flo-block-slideshow-3__content-wrap, .video-is-playing .flo-block-slideshow-4__arrows, .video-is-playing .flo-block-slideshow-4__counter {
  z-index: 1;
  opacity: 0;
  pointer-events: none !important;
  visibility: hidden; }

.video-is-playing .flo-slideshow__arrow-next {
  display: none !important; }

.video-is-playing .flo-hero-video-embed__button {
  cursor: pointer; }

@media screen and (max-width: 47.9375em) {
  .video-is-playing .flo-slideshow__slide-selectors {
    z-index: 1;
    opacity: 0;
    pointer-events: none; } }

.video-is-playing .flo-hero-video-embed__container {
  opacity: 1;
  pointer-events: initial; }

.video-is-playing .flo-hero-video-embed__button {
  top: 6.25rem !important;
  color: white !important;
  border-color: white !important;
  opacity: 1;
  pointer-events: initial; }

.video-is-playing .flo-hero-video-embed__button-icon--play {
  opacity: 0;
  pointer-events: initial; }

.video-is-playing .flo-hero-video-embed__button-icon--stop {
  opacity: 1;
  pointer-events: initial; }

.video-is-playing:not(:hover) .flo-hero-video-embed__button {
  opacity: 0; }

.flo-wp-content-with-pagination__pagination {
  pointer-events: none; }

.flo-wp-content-with-pagination__link {
  pointer-events: initial; }

@media screen and (min-width: 48em) {
  .flo-wp-content-with-pagination {
    position: relative; }
    .flo-wp-content-with-pagination__content {
      padding: 0 12.75rem; }
    .flo-wp-content-with-pagination__pagination {
      position: absolute;
      top: 3.125rem;
      left: 0;
      width: 100vw !important;
      padding: 0 6.375rem;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center; }
    .flo-wp-content-with-pagination__link {
      -webkit-writing-mode: vertical-rl;
          -ms-writing-mode: tb-rl;
              writing-mode: vertical-rl;
      position: relative;
      padding: 2.5rem 0; }
      .flo-wp-content-with-pagination__link:before {
        content: " ";
        display: inline-block;
        position: absolute;
        right: -3.1875rem;
        top: 50%;
        transform: translate(50%, -50%);
        width: 1.46875rem;
        height: 1px; }
      .flo-wp-content-with-pagination__link--prev {
        transform-origin: center;
        transform: rotate(180deg); } }

@media screen and (max-width: 47.9375em) {
  .flo-wp-content-with-pagination {
    padding: 0 2.03125rem; }
    .flo-wp-content-with-pagination__pagination {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between; }
    .flo-wp-content-with-pagination__link {
      width: 45;
      -ms-flex-positive: 0;
          flex-grow: 0; } }

.flo-wp-title {
  text-align: center; }
  .flo-wp-title__title {
    padding-bottom: 0 !important; }

.flo_sidebar {
  width: 25%;
  padding: 0 2.5rem 2.5rem;
  -ms-flex-positive: 0;
      flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0; }
  .flo_sidebar .column, .flo_sidebar .columns {
    margin-bottom: 2.5rem;
    padding: 0 2.5rem; }
    .flo_sidebar .column:last-child, .flo_sidebar .columns:last-child {
      margin-bottom: 0; }
  .flo_sidebar .figure-hide-img {
    background-image: none !important;
    height: auto; }
    .flo_sidebar .figure-hide-img img {
      display: block; }
  .flo_sidebar .widget {
    margin-bottom: 1.875rem; }
  .flo_sidebar * {
    color: inherit;
    border-color: inherit; }
  .flo_sidebar .widget_search .search-field {
    border-top: 0;
    border-left: 0;
    border-right: 0; }
  .flo_sidebar .widget_search input[type="submit"] {
    margin-top: 1.25rem; }
  @media screen and (min-width: 48em) {
    .flo_sidebar {
      padding-top: 1.09375rem; }
      .flo_sidebar--on-left {
        -ms-flex-order: -1;
            order: -1;
        padding-left: 2.5rem;
        padding-right: 0; } }
  @media screen and (max-width: 47.9375em) {
    .flo_sidebar {
      display: none; } }

/* BOF WOOCOMMERCE SUPPORT */
.flo-woocommerce-wrap {
  max-width: 62.5rem;
  margin: 0 auto; }

.woocommerce-page .flo-block {
  padding-top: 0px; }

.woocommerce-page .flo-post a {
  text-decoration: none; }

.woocommerce thead, .woocommerce tbody, .woocommerce tfoot {
  border: 0px;
  background: transparent; }

.woocommerce .flo-post a {
  text-decoration: none; }

.woocommerce .quantity .qty, .woocommerce .quantity input[type="number"] {
  width: 5em;
  height: 1.5625rem;
  padding: 0.1em;
  border-color: #e5e5e5;
  font-size: 1rem; }

.woocommerce .woocommerce-breadcrumb a {
  box-shadow: 0 1px 0;
  text-decoration: none; }
  .woocommerce .woocommerce-breadcrumb a:hover {
    box-shadow: 0 3px 0; }

.woocommerce .cart input.button:disabled {
  color: #ffffff; }

.woocommerce span.onsale {
  padding: 0; }

.woocommerce ul.products li.product .price del {
  display: inline-block; }

.woocommerce ul.products a.button {
  padding: 0.6em 1em; }

.woocommerce div.product .variations td.label {
  background-color: transparent;
  padding-top: 20px;
  vertical-align: middle; }

.woocommerce div.product .variations .value select {
  margin-bottom: 0; }

.woocommerce div.product .variations .reset_variations {
  box-shadow: 0 1px 0; }
  .woocommerce div.product .variations .reset_variations:hover {
    box-shadow: 0 3px 0; }

.woocommerce div.product .product_meta a {
  box-shadow: 0 1px 0; }
  .woocommerce div.product .product_meta a:hover {
    box-shadow: 0 3px 0; }

.woocommerce div.product .product_meta .tagged_as {
  clear: both;
  display: block; }

.woocommerce div.product .related h2 {
  margin-bottom: 0.9375rem; }

.woocommerce div.product .woocommerce-tabs li.active a, .woocommerce div.product .woocommerce-tabs a:hover {
  box-shadow: 0 3px 0; }

.woocommerce div.product .woocommerce-tabs a {
  box-shadow: 0 1px 0; }

.woocommerce div.product .woocommerce-tabs .panel {
  margin-bottom: 4em; }

.woocommerce div.product .woocommerce-tabs ul.tabs {
  border: 0px;
  overflow: visible;
  padding-left: 5px;
  background-color: transparent; }
  .woocommerce div.product .woocommerce-tabs ul.tabs:before {
    border: 0px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: 0px;
    background-color: transparent; }
    .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
      background-color: transparent; }
    .woocommerce div.product .woocommerce-tabs ul.tabs li:before, .woocommerce div.product .woocommerce-tabs ul.tabs li:after {
      border: 0px;
      box-shadow: none; }
    .woocommerce div.product .woocommerce-tabs ul.tabs li:first-child {
      padding-left: 0; }

.woocommerce .checkout #customer_details {
  margin-bottom: 1.875rem; }

.woocommerce .checkout .wc_payment_method .input-radio {
  position: relative;
  top: -10px; }

.woocommerce p.woocommerce-thankyou-order-received {
  margin-bottom: 1.25rem !important; }

.woocommerce .woocommerce-thankyou-order-details {
  padding-left: 0;
  margin-bottom: 2.5rem; }
  .woocommerce .woocommerce-thankyou-order-details li {
    list-style: disc;
    border-right: 0px;
    clear: both; }
    .woocommerce .woocommerce-thankyou-order-details li strong {
      display: inline-block; }

.woocommerce .woocommerce-MyAccount-content .addresses {
  margin-top: 1.875rem; }

.woocommerce .woocommerce-MyAccount-content .woocommerce-Message br {
  display: none; }

.woocommerce .woocommerce-MyAccount-navigation .is-active a {
  box-shadow: 0 3px 0; }
  .woocommerce .woocommerce-MyAccount-navigation .is-active a:hover {
    box-shadow: 0 3px 0; }

.woocommerce .woocommerce-MyAccount-navigation a:hover {
  box-shadow: 0 1px 0; }

.woocommerce .woocommerce-Address-title .edit {
  clear: both;
  margin-top: 1.875rem;
  float: left !important;
  box-shadow: 0 1px 0; }
  .woocommerce .woocommerce-Address-title .edit:hover {
    box-shadow: 0 3px 0; }

.woocommerce .order_details .product-name a {
  box-shadow: 0 1px 0; }
  .woocommerce .order_details .product-name a:hover {
    box-shadow: 0 3px 0; }

.woocommerce .order_details li {
  border-right: 0px !important;
  margin-bottom: 10px; }

.woocommerce .actions .coupon input[type="submit"] {
  height: 2.625rem;
  text-decoration: none !important; }

.woocommerce .actions p {
  margin-bottom: 0px; }

.woocommerce .actions input.button[type="submit"] {
  height: 2.625rem;
  text-decoration: none !important;
  color: #515151; }

.woocommerce form p, .woocommerce table p {
  margin-bottom: 0px !important; }

.woocommerce .order-number a br {
  display: none; }

.woocommerce #coupon_code {
  min-width: 15em;
  height: 2.55rem; }

.woocommerce .button br {
  display: none; }

.woocommerce .single_add_to_cart_button.button, .woocommerce .single_add_to_cart_button.button.disabled {
  padding: 0.35em 0.5em; }

.woocommerce .wc-proceed-to-checkout p {
  margin-bottom: 0 !important; }

.woocommerce .wc-proceed-to-checkout .checkout-button {
  margin-bottom: 0 !important; }

.woocommerce input[type='submit'] {
  text-decoration: none !important; }

.woocommerce input[type]:not([type="submit"]), .woocommerce textarea {
  border: 1px solid;
  padding: 0.5rem; }

.woocommerce textarea {
  background-image: none !important;
  margin-bottom: 1.25rem;
  line-height: 1rem !important; }

/* EOF WOOCOMMERCE SUPPORT */
.body_has_sidebar .flo-icon-sidebar {
  display: block; }

.flo_sidebar--active {
  overflow: hidden; }

/* END: COMPONENTS (KEEP THIS ONE AT THE BOTTOM ALL THE TIME) */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJhcHAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCJnbG9iYWwvbGV0dGVyLWljb25zLWZvbnRlbGxvLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19wcm9ncmVzcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3JhbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiZ2xvYmFsL2dsb2JhbC5zY3NzIiwiZ2xvYmFsL3otaW5kZXgtbWFwLnNjc3MiLCIuLi9jb21wb25lbnRzLzAvY29tbWVudHMtYmxvY2svY29tbWVudHMtYmxvY2subWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8wL2Zsby1ibG9jay9mbG8tYmxvY2subWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8wL2Zsby1mb3JtL2Zsby1mb3JtLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMC9mbG8tbHFpcC9mbG8tbHFpcC5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzAvZmxvLXBhZ2Utd3JhcC9mbG8tcGFnZS13cmFwLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMC9mbG8tc2hhcmUtcm9sbG92ZXIvZmxvLXNoYXJlLXJvbGxvdmVyLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMC9mbG8tc2xpZGVyL2Zsby1zbGlkZXIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8wL2Zsby12aWRlby1lbWJlZC9mbG8tdmlkZW8tZW1iZWQtZHVtbXkubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8wL2Zsby12aWRlby1lbWJlZC9mbG8tdmlkZW8tZW1iZWQubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8wL3NvY2lhbC1saW5rcy9zb2NpYWwtbGlua3MubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1idXR0b24vZmxvLWJsb2NrLWJ1dHRvbi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyL2Zsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWNvbW1lbnRzL2Zsby1ibG9jay1jb21tZW50cy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMS9mbG8tYmxvY2stY29udGFjdC1ibG9jay0xLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stY29udGFjdC1ibG9jay0yL2Zsby1ibG9jay1jb250YWN0LWJsb2NrLTIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1jb250YWN0LWJsb2NrLTMvZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zL2Zsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWRlbGltaXRlci0xL2Zsby1ibG9jay1kZWxpbWl0ZXItMS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZhcS1ibG9jay0xL2Zsby1ibG9jay1mYXEtYmxvY2stMS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZhcS1ibG9jay0yL2Zsby1ibG9jay1mYXEtYmxvY2stMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstMi9mbG8tYmxvY2stZmVhdHVyZWQtbGluay0yLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zL2Zsby1ibG9jay1mZWF0dXJlZC1saW5rLTMubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1mZWF0dXJlZC1saW5rcy0zL2Zsby1ibG9jay1mZWF0dXJlZC1saW5rcy0zLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNC9mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNC5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xL2Zsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0yL2Zsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03L2Zsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctNy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xL2Zsby1ibG9jay1nYWxsZXJ5LXZpZXctMS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWdhbGxlcnktdmlldy0yL2Zsby1ibG9jay1nYWxsZXJ5LXZpZXctMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zL2Zsby1ibG9jay1nYWxsZXJ5LXZpZXctMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWJsb2NrLTEvZmxvLWJsb2NrLWltYWdlLWJsb2NrLTEubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1pbWFnZS1ibG9jay0yL2Zsby1ibG9jay1pbWFnZS1ibG9jay0yLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2staW1hZ2UtYmxvY2stMy9mbG8tYmxvY2staW1hZ2UtYmxvY2stMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTIvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1pbWFnZS1saW5rcy00L2Zsby1ibG9jay1pbWFnZS1saW5rcy00Lm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2staW1hZ2UtbGlua3MtNS9mbG8tYmxvY2staW1hZ2UtbGlua3MtNS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTYvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTYubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1pbWFnZS1saW5rcy03L2Zsby1ibG9jay1pbWFnZS1saW5rcy03Lm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2staW50cm8tYmxvY2svZmxvLWJsb2NrLWludHJvLWJsb2NrLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2staXRlbS1jb250ZW50L2Zsby1ibG9jay1pdGVtLWNvbnRlbnQubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1pdGVtLXBhZ2luYXRpb24vZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMi9mbG8tYmxvY2staXRlbS10aXRsZS0yLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2staXRlbS10aXRsZS9mbG8tYmxvY2staXRlbS10aXRsZS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWxpc3RpbmctMS9mbG8tYmxvY2stbGlzdGluZy0xLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbGlzdGluZy0yL2Zsby1ibG9jay1saXN0aW5nLTIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1saXN0aW5nLTMvZmxvLWJsb2NrLWxpc3RpbmctMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWxpc3RpbmctNC9mbG8tYmxvY2stbGlzdGluZy00Lm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbGlzdGluZy01L2Zsby1ibG9jay1saXN0aW5nLTUubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1saXN0aW5nLTYvZmxvLWJsb2NrLWxpc3RpbmctNi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbi0yL2Zsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24tMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbi9mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzL2Zsby1ibG9jay1udW1lcmljLWRldGFpbHMubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1wcmVzcy9mbG8tYmxvY2stcHJlc3MubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1wcmljaW5nLXBhY2thZ2UtMS9mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTEubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTIvZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXMvZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXMubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1zaGFyZS1hbmQtdGFncy9mbG8tYmxvY2stc2hhcmUtYW5kLXRhZ3MubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1zbGlkZXNob3ctMS9mbG8tYmxvY2stc2xpZGVzaG93LTEubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1zbGlkZXNob3ctMS9mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1hcmVhLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXNsaWRlc2hvdy0yL2Zsby1ibG9jay1zbGlkZXNob3ctMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXNsaWRlc2hvdy0zL2Zsby1ibG9jay1zbGlkZXNob3ctMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXNsaWRlc2hvdy00L2Zsby1ibG9jay1zbGlkZXNob3ctNC5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXNvY2lhbC1saW5rcy9mbG8tYmxvY2stc29jaWFsLWxpbmtzLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGVzdGltb25pYWxzLTEvZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGV4dC1ibG9jay0xL2Zsby1ibG9jay10ZXh0LWJsb2NrLTEubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay10ZXh0LWJsb2NrLTIvZmxvLWJsb2NrLXRleHQtYmxvY2stMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRleHQtYmxvY2stMy9mbG8tYmxvY2stdGV4dC1ibG9jay0zLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGV4dC1ibG9jay00L2Zsby1ibG9jay10ZXh0LWJsb2NrLTQubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay10ZXh0LWJsb2NrLTUvZmxvLWJsb2NrLXRleHQtYmxvY2stNS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRpdGxlLTEvZmxvLWJsb2NrLXRpdGxlLTEubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay10aXRsZS0yL2Zsby1ibG9jay10aXRsZS0yLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGl0bGUtMy9mbG8tYmxvY2stdGl0bGUtMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRpdGxlLTQvZmxvLWJsb2NrLXRpdGxlLTQubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay12ZW5kb3JzL2Zsby1ibG9jay12ZW5kb3JzLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdmlkZW8tYmxvY2stMS9mbG8tYmxvY2stdmlkZW8tYmxvY2stMS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTIvZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1jb21tZW50cy9mbG8tY29tbWVudHMubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1mb290ZXItc2lkZWJhcnMvZmxvLWZvb3Rlci1zaWRlYmFycy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWZvb3Rlci9mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWUubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1mb290ZXIvZmxvLWZvb3Rlci5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWZvb3Rlci9mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWEuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tZm9vdGVyL2Zsby1mb290ZXItYXJlYS0xLXR5cGUtYi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1mb290ZXIvZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWZvb3Rlci9mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWQuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tZm9vdGVyL2Zsby1mb290ZXItYXJlYS0yLXR5cGUtYS5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1mb290ZXIvZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWZvb3Rlci9mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWEuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tZm9vdGVyL2Zsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvL2Zsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tZ2VuZXJpYy1tZW51LXdyYXAvZmxvLWdlbmVyaWMtbWVudS13cmFwLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tZ2VuZXJpYy1zbGlkZXMvZmxvLWdlbmVyaWMtc2xpZGVzLXRlbXBsYXRlLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyLW1vYmlsZS1tZW51L2Zsby1oZWFkZXItbW9iaWxlLW1lbnUubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXItbW9iaWxlLW1lbnUvZmxvLWhlYWRlci1tb2JpbGUtbWVudS0tdHlwZS1hLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci1tb2JpbGUtbWVudS9mbG8taGVhZGVyLW1vYmlsZS1tZW51LS10eXBlLWIuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyLW1vYmlsZS9mbG8taGVhZGVyLW1vYmlsZS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci1tb2JpbGUvZmxvLWhlYWRlci1tb2JpbGUtLXR5cGUtYS5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXItbW9iaWxlL2Zsby1oZWFkZXItbW9iaWxlLS10eXBlLWIuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyLW1vYmlsZS9mbG8taGVhZGVyLW1vYmlsZS0tdHlwZS1jLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci9mbG8taGVhZGVyLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXJfX21lbnUuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXItLXR5cGUtYS1hbmQtYi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXIvZmxvLWhlYWRlci0tdHlwZS1jLWFuZC1kLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci9mbG8taGVhZGVyLS10eXBlLWUtYW5kLWYuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXItLXR5cGUtZy1hbmQtaC5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXIvZmxvLWhlYWRlci0tdHlwZS1pLWFuZC1qLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci9mbG8taGVhZGVyX19tZW51LXRyaWdnZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXJfX2xvZ28uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXJfX3NlYXJjaC5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXIvZmxvLWhlYWRlcl9fc29jaWFsLWxpbmtzLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci9mbG8taGVhZGVyX19tZW51LXBvcHVwLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci9mbG8taGVhZGVyLS10eXBlLWsuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXItLXR5cGUtbC5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXIvZmxvLWhlYWRlcl9fdG9wYmFyLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLXBhZ2Utd3JhcC9mbG8tcGFnZS13cmFwLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tcG9zdC9mbG8tcG9zdC5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLXJlbGF0ZWQtaXRlbXMvZmxvLXJlbGF0ZWQtaXRlbXMubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1yZXZlYWwvZmxvLXJldmVhbC5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLXNsaWRlc2hvdy9mbG8tc2xpZGVzaG93Lm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tc2xpZGVzaG93L2Zsby1zbGlkZXNob3dfX3NsaWRlcy5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1zbGlkZXNob3cvZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWEuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tc2xpZGVzaG93L2Zsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLXNsaWRlc2hvdy9mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYy5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1zcGxhc2gvZmxvLXNwbGFzaC5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLXRleHQtY29udGVudC9mbG8tdGV4dC1jb250ZW50Lm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tdmlkZW8tYnV0dG9uL2Zsby1oZXJvLXZpZGVvLWVtYmVkLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb24vZmxvLXdwLWNvbnRlbnQtd2l0aC1wYWdpbmF0aW9uLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8td3AtdGl0bGUvZmxvLXdwLXRpdGxlLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9zaWRlYmFyL3NpZGViYXIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL3dvb2NvbW1lcmNlL3dvb2NvbW1lcmNlLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMi9ib2R5LWhhcy1zaWRlYmFyL2JvZHktaGFzLXNpZGViYXIubWFpbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQixtQkFBbUI7QUNBbkI7Ozs7O0dBS0c7QUN3Q0QsaUVBQWlFO0FBRy9EO29GQUNnRjtBQUVoRjs7Ozs7T0FLRztBQ3hEUCxtREFBWTtBRDBEUjtFQUNFLHdCRTFDdUI7RUYwQ1MsT0FBTztFQVFyQyxrQkFBaUI7RUFBRyxPQUFPO0VBRTdCLDJCQUEwQjtFQUFHLE9BQU87RUFDcEMsK0JBQThCO0VBQUcsT0FBTyxFQUN6Qzs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSDtFQUNFLFVBQVMsRUFDVjs7QUFFRDs7T0FFRztBQUVIOzs7Ozs7RUFNRSxlQUFjLEVBQ2Y7O0FBRUQ7OztPQUdHO0FBRUg7RUc5RUYsZUFYdUM7RUhvR2pDLGlCQUFnQixFQUVuQjs7QUFv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RkosaUJDZXFELEVMMkVoRDs7QUFJQztFTTdGSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVOaUc5Qzs7QUFFRDtFTWpHSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVOcUc5Qzs7QUFNSDtFTTlFSix1QkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixXQ2VxRCxFTDJFaEQ7O0FBSUM7RU03RkosbUJBQWtCO0VBQ2xCLFVBSG1ELEVOaUc5Qzs7QUFFRDtFTWpHSixtQkFBa0I7RUFDbEIsV0FIbUQsRU5xRzlDOztBQU1IO0VNOUVKLHVCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLGlCQ2VxRCxFTDJFaEQ7O0FBSUM7RU03RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFTmlHOUM7O0FBRUQ7RU1qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosaUJEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosaUJDZXFELEVMMkVoRDs7QUFJQztFTTdGSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVOaUc5Qzs7QUFFRDtFTWpHSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVOcUc5Qzs7QUFNSDtFTTlFSix1QkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixZQ2VxRCxFTDJFaEQ7O0FBZ0JEO0VNOUVKLHVCRGJxRCxFTDZGaEQ7O0FBS0Q7RU96R0YsWVYrRXVEO0VVOUV2RCxZQUF1QixFQWlDeEI7RVB1RUc7SU9qRkEsWUFBVyxFQUNaO0VQZ0ZDO0lPN0VBLFlBQVcsRUFDWjtFUDRFQztJT3pFQSxZVitDcUQsRVU5Q3REOztBUHdFQztFT3pHRixZVitFdUQ7RVU5RXZELFdBQXVCLEVBaUN4QjtFUHVFRztJT2pGQSxZQUFXLEVBQ1o7RVBnRkM7SU83RUEsWUFBVyxFQUNaO0VQNEVDO0lPekVBLFlWK0NxRCxFVTlDdEQ7O0FQd0VDO0VPekdGLFlWK0V1RDtFVTlFdkQsaUJBQXVCLEVBaUN4QjtFUHVFRztJT2pGQSxZQUFXLEVBQ1o7RVBnRkM7SU83RUEsWUFBVyxFQUNaO0VQNEVDO0lPekVBLFlWK0NxRCxFVTlDdEQ7O0FQd0VDO0VPekdGLFlWK0V1RDtFVTlFdkQsV0FBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVYrQ3FELEVVOUN0RDs7QVB3RUM7RU96R0YsWVYrRXVEO0VVOUV2RCxXQUF1QixFQWlDeEI7RVB1RUc7SU9qRkEsWUFBVyxFQUNaO0VQZ0ZDO0lPN0VBLFlBQVcsRUFDWjtFUDRFQztJT3pFQSxZVitDcUQsRVU5Q3REOztBUHdFQztFT3pHRixZVitFdUQ7RVU5RXZELGlCQUF1QixFQWlDeEI7RVB1RUc7SU9qRkEsWUFBVyxFQUNaO0VQZ0ZDO0lPN0VBLFlBQVcsRUFDWjtFUDRFQztJT3pFQSxZVitDcUQsRVU5Q3REOztBUHdFQztFT3pHRixZVitFdUQ7RVU5RXZELGlCQUF1QixFQWlDeEI7RVB1RUc7SU9qRkEsWUFBVyxFQUNaO0VQZ0ZDO0lPN0VBLFlBQVcsRUFDWjtFUDRFQztJT3pFQSxZVitDcUQsRVU5Q3REOztBUHdFQztFT3pHRixZVitFdUQ7RVU5RXZELGFBQXVCLEVBaUN4QjtFUHVFRztJT2pGQSxZQUFXLEVBQ1o7RVBnRkM7SU83RUEsWUFBVyxFQUNaO0VQNEVDO0lPekVBLFlWK0NxRCxFVTlDdEQ7O0FQOEVEO0VFL0dBLGlCQUZxQztFQUdyQyxnQkFIcUMsRUZrSFc7O0FBRGhEO0VBSUksZ0JBQWU7RUFDZixlQUFjLEVBQ2Y7O0FBR0g7RUFDRSxnQkFBZTtFQUNmLGVBQWMsRUFDZjs7QUFFRDtFRTdIQSx3QkFGcUM7RUFHckMsdUJBSHFDLEVGZ0lvQjs7QUFJekQ7RU1qSUEsbUJBQWtCO0VBQ2xCLGtCQUFpQixFTmtJaEI7RU12SUQ7SUFDRSxZQUFXO0lBQ1gsWUFBVyxFQUNaOztBTnVJRDs7O0VNNUhGLGlCQUFnQjtFQUNoQixZQUFXO0VBQ1gsZ0JBQWU7RUFDZixlQUFjLEVONkhYOztBR05DO0VIckRBO0lJeEZKLGdCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixnQkRoQmdDLEVMZ0czQjtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHNCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosWUNlcUQsRUwyRWhEO0VBZ0JEO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFLRDtJT3pHRixZVitFdUQ7SVU5RXZELFlBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlWK0NxRCxFVTlDdEQ7RVB3RUM7SU96R0YsWVYrRXVEO0lVOUV2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVitDcUQsRVU5Q3REO0VQd0VDO0lPekdGLFlWK0V1RDtJVTlFdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlWK0NxRCxFVTlDdEQ7RVB3RUM7SU96R0YsWVYrRXVEO0lVOUV2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVitDcUQsRVU5Q3REO0VQd0VDO0lPekdGLFlWK0V1RDtJVTlFdkQsV0FBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVYrQ3FELEVVOUN0RDtFUHdFQztJT3pHRixZVitFdUQ7SVU5RXZELGlCQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVitDcUQsRVU5Q3REO0VQd0VDO0lPekdGLFlWK0V1RDtJVTlFdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlWK0NxRCxFVTlDdEQ7RVB3RUM7SU96R0YsWVYrRXVEO0lVOUV2RCxhQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVitDcUQsRVU5Q3REO0VQOEVEO0lFL0dBLGlCQUZxQztJQUdyQyxnQkFIcUMsRUZrSFc7RUFEaEQ7SUFJSSxnQkFBZTtJQUNmLGVBQWMsRUFDZjtFQUdIO0lBQ0UsZ0JBQWU7SUFDZixlQUFjLEVBQ2Y7RUFFRDtJRTdIQSx5QkFGcUM7SUFHckMsd0JBSHFDLEVGZ0lvQjtFQUl6RDtJTWpJQSxtQkFBa0I7SUFDbEIsa0JBQWlCLEVOa0loQjtJTXZJRDtNQUNFLFlBQVc7TUFDWCxZQUFXLEVBQ1o7RU51SUQ7OztJTTVIRixpQkFBZ0I7SUFDaEIsWUFBVztJQUNYLGdCQUFlO0lBQ2YsZUFBYyxFTjZIWCxFQUFBOztBR05DO0VIckRBO0lJeEZKLGdCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixnQkRoQmdDLEVMZ0czQjtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHNCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosWUNlcUQsRUwyRWhEO0VBZ0JEO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFLRDtJT3pHRixZVitFdUQ7SVU5RXZELFlBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlWK0NxRCxFVTlDdEQ7RVB3RUM7SU96R0YsWVYrRXVEO0lVOUV2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVitDcUQsRVU5Q3REO0VQd0VDO0lPekdGLFlWK0V1RDtJVTlFdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlWK0NxRCxFVTlDdEQ7RVB3RUM7SU96R0YsWVYrRXVEO0lVOUV2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVitDcUQsRVU5Q3REO0VQd0VDO0lPekdGLFlWK0V1RDtJVTlFdkQsV0FBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVYrQ3FELEVVOUN0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O1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSw2QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIseUJBRnlCO0VDdkJ2Qix3Q0FBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSw2QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0ZoQ2tDO0VJQWxDLDZCQUE0QixFTEUzQjs7QUFVRDtFR29CQSxXRmhDcUMsRURjcEM7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRi9Ca0M7RUlEbEMsNkJBQTRCLEVMRTNCOztBQVVEO0VHb0JBLFdGL0JxQyxFRGFwQzs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLCtDR3JDbUM7RUhxQ25DLHNCRjVCbUQ7RU1HakQsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLCtDR3BDcUM7RUhvQ3JDLHdCRjNCcUQ7RU1FbkQsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDhDR25DaUM7RUhtQ2pDLHlCRjFCc0Q7RU1DcEQsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDhDR2xDK0I7RUhrQy9CLHVCRnpCb0Q7RU1BbEQsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLCtDR3JDbUM7RUhxQ25DLHlCR0NlO0VDMUJiLHdDQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwrQ0dwQ3FDO0VIb0NyQyx5QkdDZTtFQzFCYix3Q0FBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENHUjhDO0VIUTlDLHNCRnRCbUQ7RU1IakQsd0NBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLCtDR3JDbUM7RUN1QmpDLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENHUjhDO0VIUTlDLHdCRnJCcUQ7RU1KbkQsd0NBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLCtDR3BDcUM7RUNzQm5DLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENHUjhDO0VIUTlDLHlCRnBCc0Q7RU1McEQsd0NBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLDhDR25DaUM7RUNxQi9CLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENHUjhDO0VIUTlDLHVCRm5Cb0Q7RU1ObEQsd0NBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLDhDR2xDK0I7RUNvQjdCLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENHUjhDO0VIUTlDLHlCR0NlO0VDMUJiLHdDQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSwrQ0dyQ21DO0VDdUJqQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5Qyx5QkdDZTtFQzFCYix3Q0FBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsK0NHcENxQztFQ3NCbkMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixzQkFGeUI7RUszQnZCLHdDQUF1QztFQUN2QyxXQUEyQixFUkY1Qjs7QUFVRDtFR29CQSxvQkFGeUI7RUtoQnZCLFdBQTJCLEVSQTVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0JBRnlCO0VLM0J2Qix3Q0FBdUM7RUFDdkMsV0FBMkIsRVJGNUI7O0FBVUQ7RUdvQkEsb0JBRnlCO0VLaEJ2QixXQUEyQixFUkE1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9CQUZ5QjtFSzNCdkIsd0NBQXVDO0VBQ3ZDLFdBQThCLEVSRi9COztBQVVEO0VHb0JBLHNCQUZ5QjtFS2hCdkIsV0FBOEIsRVJBL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvQkFGeUI7RUszQnZCLHdDQUF1QztFQUN2QyxXQUE4QixFUkYvQjs7QUFVRDtFR29CQSxzQkFGeUI7RUtoQnZCLFdBQThCLEVSQS9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNkJBRnlCO0VNM0J2Qix3Q0FBdUM7RUFDdkMsV0FBMkIsRVRGNUI7O0FBVUQ7RUdvQkEscUJBRnlCO0VNaEJ2QixXQUEyQixFVEE1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHFCQUZ5QjtFTTNCdkIsd0NBQXVDO0VBQ3ZDLFdBQThCLEVURi9COztBQVVEO0VHb0JBLDRCQUZ5QjtFTWhCdkIsV0FBOEIsRVRBL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0QkFGeUI7RU0zQnZCLHdDQUF1QztFQUN2QyxXQUEyQixFVEY1Qjs7QUFVRDtFR29CQSxxQkFGeUI7RU1oQnZCLFdBQTJCLEVUQTVCOztBQWREO0VDbEJGLDJC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eEpnQjJDLEV3SmY1QztNRnpFYjtRRTRFYyxpQnhKWTJDLEV3Slg1QztNRjdFYjtRRWdGTSxXQUFVO1FBQ1YsdUJBQXNCO1FBQ3RCLHlCQUF3QjtRQUN4QixzQkFBcUI7UUFDckIsd0J4SkltRDtRcUVwQ3ZELDhCQUYyRTtRQUczRSxpRUFma0QsRW1GaUQvQztNRnZGTDtRRXlGUSx5QnhKRGlELEV3SkVsRCxFQUFBO0VuSnNFRDtJaUpoS047TUVpR0ksbUJBQWtCO01BQ2xCLDZCeEpWcUQsRXdKbUR4RDtNRjNJRDtRRW9HTSxzQnhKWm1ELEV3SmFwRDtNRnJHTDtRRXVHUSx3QnhKZmlELEV3SmdCbEQ7TUZ4R1A7UUUwR1UseUJ4SmxCK0MsRXdKbUJoRDtNRjNHVDs7UUV5SFksWUFIcUIsRUFPdEI7UUY3SFg7O1VFMkhjLHVCeEpuQzJDLEV3Sm9DNUM7TUY1SGI7UUUrSGMsaUJ4SnZDMkMsRXdKd0M1QztNRmhJYjtRRXFJUSx5QnhKN0NpRCxFd0o4Q2xELEVBQUE7RW5KMEJEO0lpSmhLTjtNR2tDSSxxQkFBYTtNQUFiLGNBQWE7TUFDYix1QkFBbUI7VUFBbkIsb0JBQW1CO01BRW5CLGlEekptRHFELEV5SmdEeEQ7TUh4SUQ7UUcwQ00sc0J6SjhDbUQ7UXlKN0NuRCx5QnpKNkNtRCxFeUo1Q3BEO01INUNMO1FHK0NNLFdBQVU7UUFDVix5QnpKd0NtRCxFeUp2Q3BEO01IakRMO1FHd0RNLG1CQUFrQjtRQUNsQixXQUFVO1FBQ1Ysd0J6SjhCbUQ7UXlKN0JuRCx5QnpKNkJtRDtReUozQm5ELG1CQUFrQjtRQUNsQix1QkFBc0I7UUFDdEIseUJBQXdCO1FBQ3hCLHdCQUF1QjtRQUN2QiwwQkFBeUI7UUFDekIsc0JBQXFCO1FwRmR6Qiw4QkFGMkU7UUFHM0UsaUVBZmtELEVvRjhCL0M7TUhwRUw7UUdzRVEsbUJBQWtCO1FBQ2xCLFVBQVM7UUFDVCw0QkFBMkI7UUFDM0IsOEJBQW9DLEVBQ3JDO01IMUVQO1FHK0VVLG9CekpTK0MsRXlKRmhEO1FIdEZUO1VHaUZZLGdCQUFlLEVBQ2hCO1FIbEZYO1VHb0ZZLGlCQUFnQixFQUNqQjtNSHJGWDtRR3lGTSxXQUFVO1FBQ1Ysa0JBQWlCLEVBQ2xCLEVBQUE7RXBKcUVDO0lpSmhLTjtNR2tHSSxxQkFBYTtNQUFiLGNBQWE7TUFDYiwyQkFBc0I7VUFBdEIsdUJBQXNCO01BQ3RCLHVCQUFtQjtVQUFuQixvQkFBbUI7TUFDbkIsNkJ6SmJxRDtNeUplckQsbUJBQWtCLEVBaUNyQjtNSHhJRDtRRzBHTSxZQUFXO1FBQ1gsdUJ6Sm5CbUQsRXlKb0JwRDtNSDVHTDtRR2lIVSxtQkFBa0IsRUFDbkI7TUhsSFQ7UUdxSE0sdUJ6SjdCbUQsRXlKOEJwRDtNSHRITDtRR3dIUSx5QnpKaENpRCxFeUppQ2xEO01IekhQO1FHOEhVLGVBQWMsRUFDZixFQUFBO0VIL0hUO0lJSUksbUJBQWtCLEVBQ25CO0VKTEg7SUlhUSx5QjFKMkVpRCxFMEoxRWxEO0VKZFA7SUlnQlEsNkIxSndFaUQ7STBKdkVqRCxvQkFBbUI7SUFDbkIsa0JBQWlCO0lBQ2pCLHNCQUFxQjtJckZpQzNCLDhCQUYyRTtJQUczRSxpRUFma0QsRXFGakI3QztFSnJCUDtJSXdCTSxXQUFVLEVBQ1g7RUp6Qkw7SUk0QlUsNkJBQTJCLEVBSzVCO0lKakNUO01JOEJZLHFCQUFhO01BQWIsY0FBYTtNQUNiLHdCQUFtQjtVQUFuQixvQkFBbUIsRUFDcEI7RUpoQ1g7SUlvQ1UsbUJBQWtCO0lBQ2xCLHdCMUptRCtDLEUwSjlDaEQ7SUoxQ1Q7TUl3Q1ksaUJBQWdCLEVBQ2pCO0VKekNYO0lJNENZLG9CMUo0QzZDO0kwSjNDN0MscUIxSjJDNkMsRTBKMUM5QztFSjlDWDtJSWdEWSxtQkFBa0I7SUFDbEIsVUFBUztJQUNULGFBQVk7SUFDWiwrQkFBOEI7SUFDOUIsY0FBYTtJQUNiLDRCQUEwQixFQUMzQjtFSnREWDtJSTJEVSwyQkFBMEIsRUF1QjNCO0lKbEZUO01JOERZLHNCQUFxQjtNQUNyQixvQjFKeUI2QztNcUVwQ3ZELHlCQUYyRTtNQUczRSxpRUFma0QsRXFGbUN6QztNSnpFWDtRSW1FYyxhQUFZLEVBQ2I7TUpwRWI7UUl1RWMsV0FBVSxFQUNYO0lKeEViO01JMkVjLHlCQUFnQjtTQUFoQixzQkFBZ0I7Y0FBaEIsaUJBQWdCO01BQ2hCLGVBQWM7TXJGdUIxQiwwQkFBaUI7U0FBakIsdUJBQWlCO1VBQWpCLHNCQUFpQjtjQUFqQixrQkFBaUI7TUFDakIsZ0JBQWU7TUFDZixjQUFhLEVxRnBCRjtNSmpGYjtRSStFZ0IsY0FBYSxFQUNkO0VKaEZmO0lJc0ZNLFdBQVU7SUFDVix1QjFKQ21ELEUwSkFwRDtFSnhGTDtJSTJGUSx3QjFKSGlELEUwSklsRDtFSjVGUDtJSThGUSx5QjFKTmlELEUwSk9sRDtFSi9GUDtJSXFHSSxXQUFVLEVBQ1g7RXJKMERHO0lpSmhLTjtNSThHTSxxQkFBYTtNQUFiLGNBQWE7TUFDYixzQkFBdUI7VUFBdkIsd0JBQXVCO01BQ3ZCLGlEMUp4Qm1EO00wSnlCbkQsWUFBVyxFQUNaO0lKbEhMO01Jb0hRLFdBQVU7TUFDVix1QjFKN0JpRCxFMEo4QmxEO0lKdEhQO01Ja0lRLFdBQVU7TUFDVixvQjFKM0NpRDtNMEo2Q2pELHVCQUFzQjtNQUN0Qix5QkFBd0I7TUFDeEIsd0JBQXVCO01BQ3ZCLDBCQUF5QjtNQUN6QixzQkFBcUI7TXJGckYzQiw4QkFGMkU7TUFHM0UsaUVBZmtELEVxRnFHN0M7SUozSVA7TUkrSlEsV0FBVTtNQUNWLHdCMUp4RWlELEUwSnlFbEQ7SUpqS1A7TUk2S00sMkIxSnJGbUQsRTBKc0ZwRCxFQUFBO0VySmRDO0lpSmhLTjtNSW9MSSw2QjFKNUZxRCxFMEpvSnhEO01KNU9EO1FJc0xNLHNCMUo5Rm1ELEUwSitGcEQ7TUp2TEw7UUl5TFEsdUIxSmpHaUQsRTBKa0dsRDtNSjFMUDtRSXNNUSx1QjFKOUdpRCxFMEorR2xEO01Kdk1QO1FJeU9NLHVCMUpqSm1ELEUwSmtKcEQsRUFBQTtFSjFPTDtJS1FJLDhCM0pnRnFELEUySi9FdEQ7RXRKdUpHO0lpSmhLTjtNS1lJLG1CQUFrQixFQWdEckI7TUw1REQ7O1FLb0JRLGtDQUFrQyxFQUNuQztNTHJCUDtRS3VCVSx3QkFOOEIsRUFPL0I7TUx4QlQ7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SyxrQkFBaUI7RUFDakIsZ0J2TXZMb0QsRXVNd0xwRDs7QUFuUUw7RUFxUUssa0NBQWlDO0VBRWpDLHVCdk01TG9EO0V1TTZMcEQsNkJBQTRCLEVBQzVCOztBQUlMLDZCQUE2QjtBQzFSN0I7RUFHSSxlQUFjLEVBQ2Y7O0FBR0g7RUFDRSxpQkFBZ0IsRUFDakI7O0EvTXVHRCxnRUFBZ0UiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIFNUQVJUOiBWRU5ET1IgKi9cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjMuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG4vKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5AaW1wb3J0IHVybChcIi4uL2ZvbnRzL2ZvbnRlbGxvL2Nzcy9mbG8taWNvbnMuY3NzXCIpO1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQ4ZW0mbGFyZ2U9NjQuMDYyNWVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5yb3c6OmJlZm9yZSwgLnJvdzo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAucm93OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAucm93LmV4cGFuZGVkIC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5ndXR0ZXItc21hbGwgPiAuY29sdW1uLCAucm93Lmd1dHRlci1zbWFsbCA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC5yb3cuZ3V0dGVyLW1lZGl1bSA+IC5jb2x1bW4sIC5yb3cuZ3V0dGVyLW1lZGl1bSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuY29sdW1uLmVuZDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQsIC5lbmQuY29sdW1uczpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0xNi42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtcHVzaC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAyNSU7IH1cblxuLnNtYWxsLXB1bGwtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTQxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtcHVzaC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7IH1cblxuLnNtYWxsLXB1bGwtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTY2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtcHVzaC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA3NSU7IH1cblxuLnNtYWxsLXB1bGwtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTgzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMCU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMi41JTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtY29sbGFwc2UgLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmV4cGFuZGVkLnJvdyAuc21hbGwtY29sbGFwc2Uucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuXG4uc21hbGwtY2VudGVyZWQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1jZW50ZXJlZCwgLnNtYWxsLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5zbWFsbC11bmNlbnRlcmVkLFxuLnNtYWxsLXB1c2gtMCxcbi5zbWFsbC1wdWxsLTAge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjAlOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmV4cGFuZGVkLnJvdyAubWVkaXVtLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLm1lZGl1bS1jZW50ZXJlZCwgLm1lZGl1bS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS11bmNlbnRlcmVkLFxuICAubWVkaXVtLXB1c2gtMCxcbiAgLm1lZGl1bS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLmxhcmdlLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5sYXJnZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmxhcmdlLWNlbnRlcmVkLCAubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS11bmNlbnRlcmVkLFxuICAubGFyZ2UtcHVzaC0wLFxuICAubGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5jb2x1bW4tYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb2x1bW4tYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCxcbiAgaDIgc21hbGwsXG4gIGgzIHNtYWxsLFxuICBoNCBzbWFsbCxcbiAgaDUgc21hbGwsXG4gIGg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogI2NhY2FjYTsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDUge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtOyB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMTc3OWJhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzE0NjhhMDsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NhY2FjYTsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM4YThhOGE7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICM4YThhOGE7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmFiYnIge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxuLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfSB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYWNhY2E7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGhlaWdodDogMi41cmVtOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZWNlYTsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQ2NzllO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyNjE5NTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICAgICAgY29sb3I6ICMwYzNkNWQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzBjM2Q1ZDtcbiAgICAgICAgY29sb3I6ICMwYzNkNWQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3Mge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMxNzc5YmE7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgcGFkZGluZzogMC4zZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYmFkZ2Uud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYmFkZ2UuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgY29sb3I6ICNjYWNhY2E7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9XG4gICAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkOjpiZWZvcmUsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygyMCUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNiksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjYxOTU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkN2VjZmE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZTRlMTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNhcmQge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWRpdmlkZXIge1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAuY2FyZC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICM4YThhOGE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24sIC5jbG9zZS1idXR0b24ubWVkaXVtIHtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ubWVudSB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5tZW51ID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBzZWxlY3QsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSA+IGxpID4gYSBpbWcsXG4gIC5tZW51ID4gbGkgPiBhIGksXG4gIC5tZW51ID4gbGkgPiBhIHN2ZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5tZW51ID4gbGkgPiBhIGltZyArIHNwYW4sXG4gICAgLm1lbnUgPiBsaSA+IGEgaSArIHNwYW4sXG4gICAgLm1lbnUgPiBsaSA+IGEgc3ZnICsgc3BhbiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZW51ID4gbGkgPiBhIGltZyxcbiAgLm1lbnUgPiBsaSA+IGEgaSxcbiAgLm1lbnUgPiBsaSA+IGEgc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51ID4gbGksIC5tZW51Lmhvcml6b250YWwgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAubWVudS5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuICAgIC5tZW51LmV4cGFuZGVkID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubWVudS52ZXJ0aWNhbCA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuICAgICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAubWVudS5sYXJnZS1leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuICAgICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm1lbnUuc2ltcGxlIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAubWVudS5zaW1wbGUgYSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWVudS5zaW1wbGUgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAubWVudS5zaW1wbGUuYWxpZ24tcmlnaHQgbGkge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudS5hbGlnbi1yaWdodDo6YmVmb3JlLCAubWVudS5hbGlnbi1yaWdodDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubWVudS5hbGlnbi1yaWdodDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0ID4gbGkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubWVudS5pY29uLXRvcCA+IGxpID4gYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXRvcC52ZXJ0aWNhbCBhID4gc3BhbiB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLm1lbnUubWVudS1ib3JkZXJlZCBsaSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAgIC5tZW51Lm1lbnUtYm9yZGVyZWQgbGk6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAubWVudS5tZW51LWhvdmVyIGxpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG5cbi5tZW51LXRleHQge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5tZW51LWNlbnRlcmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmVmZWZlLCAwIDE0cHggMCAjZmVmZWZlO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2NhY2FjYSwgMCAxNHB4IDAgI2NhY2FjYTsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzBhMGEwYSwgMCAxNHB4IDAgIzBhMGEwYTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDVweDtcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWlkZGxlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5ib3R0b20ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEwOyB9XG4gICAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAyNTBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAucG9zaXRpb24tbGVmdC5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2g6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTtcbiAgICBjb250ZW50OiBcIiBcIjsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2g6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpO1xuICAgIGNvbnRlbnQ6IFwiIFwiOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7XG4gICAgY29udGVudDogXCIgXCI7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7XG4gICAgY29udGVudDogXCIgXCI7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtYnVsbGV0cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAwLjFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5wYWdpbmF0aW9uIGE6aG92ZXIsXG4gICAgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb250ZW50OiAnXFwyMDI2JztcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBhYic7IH1cblxuLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbi5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGJiJzsgfVxuXG4ucHJvZ3Jlc3Mge1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7IH1cbiAgLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhOyB9XG4gIC5wcm9ncmVzcy5zZWNvbmRhcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2OyB9XG4gIC5wcm9ncmVzcy5zdWNjZXNzIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjsgfVxuICAucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7IH1cbiAgLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNzsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi5zbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5zbGlkZXItZmlsbC5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5zbGlkZXItaGFuZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQ2NzllOyB9XG4gIC5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXIuZGlzYWJsZWQsXG4uc2xpZGVyW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnNsaWRlci52ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuNXJlbTtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMC41cmVtO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1OyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyxcbiAgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbCAucmV2ZWFsIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uc3dpdGNoIHtcbiAgaGVpZ2h0OiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07IH1cbiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRoZWFkLCB0Ym9keSwgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGhlYWQgdHIsIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCwgdGhlYWQgdGQsIHRmb290IHRoLCB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdGgsIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7IH1cbiAgdGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC50YWJsZS1zY3JvbGwgdGFibGUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNjczYjE7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICMxNDY4YTA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC50YWJzLXBhbmVsW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiBzb2xpZCA0cHggI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yKTtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuYS50aHVtYm5haWwge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0OyB9XG4gIGEudGh1bWJuYWlsOmhvdmVyLCBhLnRodW1ibmFpbDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgyMywgMTIxLCAxODYsIDAuNSk7IH1cbiAgYS50aHVtYm5haWwgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRpdGxlLWJhcjo6YmVmb3JlLCAudGl0bGUtYmFyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC50aXRsZS1iYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTtcbiAgei1pbmRleDogMTIwMDtcbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC50b29sdGlwOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhO1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4udG9wLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTsgfVxuICAudG9wLWJhcjo6YmVmb3JlLCAudG9wLWJhcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudG9wLWJhcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50b3AtYmFyLFxuICAudG9wLWJhciB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuICAudG9wLWJhciBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLnRvcC1iYXIgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnRvcC1iYXIgaW5wdXQuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4udG9wLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwOyB9XG4gIC50b3AtYmFyLXRpdGxlIC5tZW51LWljb24ge1xuICAgIGJvdHRvbTogMnB4OyB9XG5cbi50b3AtYmFyLWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4udG9wLWJhci1yaWdodCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bzsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7IH1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLyogRU5EOiBWRU5ET1IgKi9cbi8qIFNUQVJUOiBHTE9CQUwgKi9cbi8qIFNUQVJUOiBURU1QT1JBUlkgKi9cbi8qIEVORDogVEVNUE9SQVJZICovXG4vKiBTVEFSVDogRkxPIElDT05TICovXG5ib2R5LmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIHtcbiAgLyogJ++FpycgKi9cbiAgLyogJ++MgycgKi9cbiAgLyogJ++MhicgKi9cbiAgLyogJ++MiScgKi9cbiAgLyogJ++MjCcgKi9cbiAgLyogJ++MjycgKi9cbiAgLyogJ++MkicgKi9cbiAgLyogJ++MlScgKi9cbiAgLyogJ++MmCcgKi9cbiAgLyogJ++MmycgKi9cbiAgLyogJ++MrScgKi9cbiAgLyogJ+6ghCcgKi9cbiAgLyogJ+6ghScgKi9cbiAgLyogJ+6ghicgKi8gfVxuICBib2R5LmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIC5mbG8taWNvbi15b3V0dWJlOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1lUJzsgfVxuICBib2R5LmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIC5mbG8taWNvbi1mbGlja3I6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnRksnOyB9XG4gIGJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIgLmZsby1pY29uLXZpbWVvOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1ZJJzsgfVxuICBib2R5LmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIC5mbG8taWNvbi10d2l0dGVyOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1RXJzsgfVxuICBib2R5LmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIC5mbG8taWNvbi1mYWNlYm9vazpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdGQic7IH1cbiAgYm9keS5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLWljb24tZ3BsdXM6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnR1AnOyB9XG4gIGJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIgLmZsby1pY29uLXBpbnRlcmVzdDpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdQSSc7IH1cbiAgYm9keS5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLWljb24tdHVtYmxyOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1RNJzsgfVxuICBib2R5LmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIC5mbG8taWNvbi1saW5rZWRpbjpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdMSyc7IH1cbiAgYm9keS5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLWljb24tZHJpYmJibGU6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnREInOyB9XG4gIGJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIgLmZsby1pY29uLWluc3RhZ3JhbTpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdJRyc7IH1cbiAgYm9keS5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLWljb24teWFob286bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnWUgnOyB9XG4gIGJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIgLmZsby1pY29uLWRlbGljaW91czpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdERSc7IH1cbiAgYm9keS5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLWljb24tbWFpbDpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdNTCc7IH1cblxuLyogRU5EOiBGTE8gSUNPTlMgKi9cbi8qIFNUQVJUOiBDT0xPUlMgKi9cbi8qIEVORDogQ09MT1JTICovXG4vKiBTVEFSVDogV0lEVEggVkFSSUFCTEVTICovXG4vKiBFTkQ6IFdJRFRIIFZBUklBQkxFUyAqL1xuLyogU1RBUlQ6IE1JWElOUyAqL1xuLyogRW5kOiBUcmFuc2l0aW9ucyAqL1xuLyogRW5kOiBUcmFuc2l0aW9ucyAqL1xuLyogU3RhcnQ6IEJhY2tncm91bmQgaW1hZ2UgKi9cbi8qIEVuZDogQmFja2dyb3VuZCBpbWFnZSAqL1xuLyogU3RhcnQ6IEJveCBTaXppbmcgKi9cbi8qIEVuZDogQm94IHNpemluZyAqL1xuLmZsby1nbG9iYWwtY2xpY2thYmxlIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTsgfVxuICAuZmxvLWdsb2JhbC1jbGlja2FibGUtd2l0aC1hbmltYXRpb24ge1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzLCBjb2xvciAwLjVzLCBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tZ2xvYmFsLWNsaWNrYWJsZS13aXRoLWFuaW1hdGlvbjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG5cbi8qIFNUQVJUOiBSZXNwb25zaXZlIEltYWdlcyBGb3IgQmFja2dyb3VuZCAqL1xuLyogRU5EOiBSZXNwb25zaXZlIEltYWdlcyBGb3IgQmFja2dyb3VuZCAqL1xuLyogRU5EOiBNSVhJTlMgKi9cbi8qIFNUQVJUOiBHTE9CQUwgU1RZTEVTICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogMS4xMTExMXZ3OyB9IH1cblxuKiB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuKjpub3QoLmZsby1wb3N0KSBhOmZvY3VzLCAqOm5vdCguZmxvLXBvc3RfX3N0eWxlcykgYTpmb2N1cyB7XG4gIGNvbG9yOiAjMzMyRjJGOyB9XG5cbio6bm90KC5mbG8tcG9zdCkgLmhvdmVyLWJsb2NrLCAqOm5vdCguZmxvLXBvc3RfX3N0eWxlcykgLmhvdmVyLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgKjpub3QoLmZsby1wb3N0KSAuaG92ZXItYmxvY2sgZmlndXJlLCAqOm5vdCguZmxvLXBvc3RfX3N0eWxlcykgLmhvdmVyLWJsb2NrIGZpZ3VyZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICo6bm90KC5mbG8tcG9zdCkgLmhvdmVyLWJsb2NrIGZpZ3VyZTpob3ZlciwgKjpub3QoLmZsby1wb3N0X19zdHlsZXMpIC5ob3Zlci1ibG9jayBmaWd1cmU6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC42OyB9XG4gICo6bm90KC5mbG8tcG9zdCkgLmhvdmVyLWJsb2NrOmhvdmVyLCAqOm5vdCguZmxvLXBvc3RfX3N0eWxlcykgLmhvdmVyLWJsb2NrOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4qOm5vdCguZmxvLXBvc3QpIHVsLCAqOm5vdCguZmxvLXBvc3RfX3N0eWxlcykgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuYm9keSB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgY29sb3I6ICMzMzJGMkY7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbjogMDtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG5bY2xhc3NePVwiZmxvLWljb24tXCJdOmJlZm9yZSxcbltjbGFzcyo9XCIgZmxvLWljb24tXCJdOmJlZm9yZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuYnV0dG9uIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxucCB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5wcmUge1xuICB3aGl0ZS1zcGFjZTogaW5pdGlhbDsgfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICB3aWR0aDogaW5pdGlhbDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yb3ctZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIHBhZGRpbmc6IDA7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIFNUQVJUOiBJTlBVVFMgKi9cbmlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSksXG50ZXh0YXJlYSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6OnBsYWNlaG9sZGVyLFxuICB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6Zm9jdXMsIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsXG4gIHRleHRhcmVhOmZvY3VzLFxuICB0ZXh0YXJlYTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7IH1cbiAgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKS5mbG8tbm8tc3R5bGluZyxcbiAgdGV4dGFyZWEuZmxvLW5vLXN0eWxpbmcge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLmZsby1uby1zdHlsaW5nLCBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLmZsby1uby1zdHlsaW5nOmhvdmVyLCBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLmZsby1uby1zdHlsaW5nOmZvY3VzLFxuICAgIHRleHRhcmVhLmZsby1uby1zdHlsaW5nLFxuICAgIHRleHRhcmVhLmZsby1uby1zdHlsaW5nOmhvdmVyLFxuICAgIHRleHRhcmVhLmZsby1uby1zdHlsaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gIGJvcmRlcjogMDtcbiAgbGluZS1oZWlnaHQ6IDFlbSAhaW1wb3J0YW50OyB9XG5cbmlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiAwO1xuICBvdXRsaW5lOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogY29sb3IgMC41cywgbGV0dGVyLXNwYWNpbmcgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7IH1cblxuLyogRU5EOiBJTlBVVFMgKi9cbi8qIFNUQVJUOiBCVVRUT05TICovXG4uZmxvLWJ1dHRvbiwgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fbGluay0tc3R5bGUtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtaW4td2lkdGg6IDguNDM3NXJlbTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMi41cmVtO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIGJhY2tncm91bmQtY29sb3IgMC41cywgY29sb3IgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgbWluLWhlaWdodDogMS42ODc1cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmZsby1idXR0b246bm90KC5mbG8tYnV0dG9uLS13aXRob3V0LWJvcmRlciksIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xpbmstLXN0eWxlLWJ1dHRvbjpub3QoLmZsby1idXR0b24tLXdpdGhvdXQtYm9yZGVyKSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpub3QoLmZsby1idXR0b24tLXdpdGhvdXQtYm9yZGVyKSB7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuXG4vKiBFTkQ6IEJVVFRPTlMgKi9cbi8qIEVORDogR0xPQkFMIFNUWUxFUyAqL1xuLyogU1RBUlQ6IEFQUEVBUiBBTklNQVRJT04gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAvKiBTVEFSVDogQVBQRUFSIEFOSU1BVElPTiAqL1xuICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmxheW91dC1zZWN0aW9ucy0tc2Nyb2xsLW5vcm1hbCAuZmxvLWJsb2NrLFxuICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpLFxuICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1wb3N0LndpdGgtYXBwZWFyID4gKixcbiAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tZm9vdGVyOm5vdCguZGlzYWJsZS1hcHBlYXIpLFxuICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhcixcbiAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC53aWRnZXQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmxheW91dC1zZWN0aW9ucy0tc2Nyb2xsLW5vcm1hbCAuZmxvLWJsb2NrOm5vdCgudmlzaWJsZSksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG9fcGFnZSA+IC5mbG8tYmxvY2s6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoLmRpc2FibGUtYXBwZWFyKTpub3QoLnZpc2libGUpLFxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLXBvc3Qud2l0aC1hcHBlYXIgPiAqOm5vdCgudmlzaWJsZSksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tZm9vdGVyOm5vdCguZGlzYWJsZS1hcHBlYXIpOm5vdCgudmlzaWJsZSksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC50by1hcHBlYXI6bm90KC52aXNpYmxlKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLndpZGdldDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnZpc2libGUpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3LjVyZW0pO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2s6bnRoLWNoaWxkKDFuKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpOm50aC1jaGlsZCgxbiksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICo6bnRoLWNoaWxkKDFuKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhcik6bnRoLWNoaWxkKDFuKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhcjpudGgtY2hpbGQoMW4pLFxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpOm50aC1jaGlsZCgxbikge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxLjI1cywgdHJhbnNmb3JtIDAuNXMsIGNvbG9yIDAuNXM7IH1cbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmxheW91dC1zZWN0aW9ucy0tc2Nyb2xsLW5vcm1hbCAuZmxvLWJsb2NrOm50aC1jaGlsZCgybiksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG9fcGFnZSA+IC5mbG8tYmxvY2s6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoLmRpc2FibGUtYXBwZWFyKTpudGgtY2hpbGQoMm4pLFxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLXBvc3Qud2l0aC1hcHBlYXIgPiAqOm50aC1jaGlsZCgybiksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tZm9vdGVyOm5vdCguZGlzYWJsZS1hcHBlYXIpOm50aC1jaGlsZCgybiksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC50by1hcHBlYXI6bnRoLWNoaWxkKDJuKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLndpZGdldDpub3QoOmZpcnN0LWNoaWxkKTpudGgtY2hpbGQoMm4pIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMS4yNXMgMC4xcywgdHJhbnNmb3JtIDAuNXMgMC4xcywgY29sb3IgMC41czsgfVxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2sudmlzaWJsZSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpLnZpc2libGUsXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICoudmlzaWJsZSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhcikudmlzaWJsZSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhci52aXNpYmxlLFxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpLnZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAvKiBFTkQ6IEFQUEVBUiBBTklNQVRJT04gKi8gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAvKiBTVEFSVDogQVBQRUFSIEFOSU1BVElPTiAqL1xuICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5sYXlvdXQtc2VjdGlvbnMtLXNjcm9sbC1ub3JtYWwgLmZsby1ibG9jayxcbiAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvX3BhZ2UgPiAuZmxvLWJsb2NrOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KC5kaXNhYmxlLWFwcGVhciksXG4gIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1wb3N0LndpdGgtYXBwZWFyID4gKixcbiAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLWZvb3Rlcjpub3QoLmRpc2FibGUtYXBwZWFyKSxcbiAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAudG8tYXBwZWFyLFxuICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC53aWRnZXQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5sYXlvdXQtc2VjdGlvbnMtLXNjcm9sbC1ub3JtYWwgLmZsby1ibG9jazpub3QoLnZpc2libGUpLFxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpOm5vdCgudmlzaWJsZSksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLXBvc3Qud2l0aC1hcHBlYXIgPiAqOm5vdCgudmlzaWJsZSksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLWZvb3Rlcjpub3QoLmRpc2FibGUtYXBwZWFyKTpub3QoLnZpc2libGUpLFxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhcjpub3QoLnZpc2libGUpLFxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLndpZGdldDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnZpc2libGUpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3LjVyZW0pO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmxheW91dC1zZWN0aW9ucy0tc2Nyb2xsLW5vcm1hbCAuZmxvLWJsb2NrOm50aC1jaGlsZCgxbiksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvX3BhZ2UgPiAuZmxvLWJsb2NrOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KC5kaXNhYmxlLWFwcGVhcik6bnRoLWNoaWxkKDFuKSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICo6bnRoLWNoaWxkKDFuKSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tZm9vdGVyOm5vdCguZGlzYWJsZS1hcHBlYXIpOm50aC1jaGlsZCgxbiksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAudG8tYXBwZWFyOm50aC1jaGlsZCgxbiksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpOm50aC1jaGlsZCgxbikge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxLjI1cywgdHJhbnNmb3JtIDAuNXMsIGNvbG9yIDAuNXM7IH1cbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5sYXlvdXQtc2VjdGlvbnMtLXNjcm9sbC1ub3JtYWwgLmZsby1ibG9jazpudGgtY2hpbGQoMm4pLFxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpOm50aC1jaGlsZCgybiksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLXBvc3Qud2l0aC1hcHBlYXIgPiAqOm50aC1jaGlsZCgybiksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLWZvb3Rlcjpub3QoLmRpc2FibGUtYXBwZWFyKTpudGgtY2hpbGQoMm4pLFxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhcjpudGgtY2hpbGQoMm4pLFxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLndpZGdldDpub3QoOmZpcnN0LWNoaWxkKTpudGgtY2hpbGQoMm4pIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMS4yNXMgMC4xcywgdHJhbnNmb3JtIDAuNXMgMC4xcywgY29sb3IgMC41czsgfVxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmxheW91dC1zZWN0aW9ucy0tc2Nyb2xsLW5vcm1hbCAuZmxvLWJsb2NrLnZpc2libGUsXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvX3BhZ2UgPiAuZmxvLWJsb2NrOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KC5kaXNhYmxlLWFwcGVhcikudmlzaWJsZSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICoudmlzaWJsZSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tZm9vdGVyOm5vdCguZGlzYWJsZS1hcHBlYXIpLnZpc2libGUsXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAudG8tYXBwZWFyLnZpc2libGUsXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpLnZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAvKiBFTkQ6IEFQUEVBUiBBTklNQVRJT04gKi8gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLyogU1RBUlQ6IEFQUEVBUiBBTklNQVRJT04gKi9cbiAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2ssXG4gIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpLFxuICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICosXG4gIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhciksXG4gIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhcixcbiAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2s6bm90KC52aXNpYmxlKSxcbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG9fcGFnZSA+IC5mbG8tYmxvY2s6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoLmRpc2FibGUtYXBwZWFyKTpub3QoLnZpc2libGUpLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1wb3N0LndpdGgtYXBwZWFyID4gKjpub3QoLnZpc2libGUpLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhcik6bm90KC52aXNpYmxlKSxcbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC50by1hcHBlYXI6bm90KC52aXNpYmxlKSxcbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC53aWRnZXQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KC52aXNpYmxlKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNy41cmVtKTtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5sYXlvdXQtc2VjdGlvbnMtLXNjcm9sbC1ub3JtYWwgLmZsby1ibG9jazpudGgtY2hpbGQoMW4pLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpOm50aC1jaGlsZCgxbiksXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLXBvc3Qud2l0aC1hcHBlYXIgPiAqOm50aC1jaGlsZCgxbiksXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLWZvb3Rlcjpub3QoLmRpc2FibGUtYXBwZWFyKTpudGgtY2hpbGQoMW4pLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhcjpudGgtY2hpbGQoMW4pLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLndpZGdldDpub3QoOmZpcnN0LWNoaWxkKTpudGgtY2hpbGQoMW4pIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMS4yNXMsIHRyYW5zZm9ybSAwLjVzLCBjb2xvciAwLjVzOyB9XG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2s6bnRoLWNoaWxkKDJuKSxcbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG9fcGFnZSA+IC5mbG8tYmxvY2s6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoLmRpc2FibGUtYXBwZWFyKTpudGgtY2hpbGQoMm4pLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1wb3N0LndpdGgtYXBwZWFyID4gKjpudGgtY2hpbGQoMm4pLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhcik6bnRoLWNoaWxkKDJuKSxcbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC50by1hcHBlYXI6bnRoLWNoaWxkKDJuKSxcbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC53aWRnZXQ6bm90KDpmaXJzdC1jaGlsZCk6bnRoLWNoaWxkKDJuKSB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEuMjVzIDAuMXMsIHRyYW5zZm9ybSAwLjVzIDAuMXMsIGNvbG9yIDAuNXM7IH1cbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5sYXlvdXQtc2VjdGlvbnMtLXNjcm9sbC1ub3JtYWwgLmZsby1ibG9jay52aXNpYmxlLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpLnZpc2libGUsXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLXBvc3Qud2l0aC1hcHBlYXIgPiAqLnZpc2libGUsXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLWZvb3Rlcjpub3QoLmRpc2FibGUtYXBwZWFyKS52aXNpYmxlLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhci52aXNpYmxlLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLndpZGdldDpub3QoOmZpcnN0LWNoaWxkKS52aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLyogRU5EOiBBUFBFQVIgQU5JTUFUSU9OICovIH1cblxuLyogRU5EOiBBUFBFQVIgQU5JTUFUSU9OICovXG4vKiBTVEFSVDogWi1JTkRFWCBNQVAgKi9cbi5mbG8tcGFnZS1oYXMtc2lkZWJhcl9fc2lkZWJhciB7XG4gIHotaW5kZXg6IDk7IH1cblxuLmZsby1zbGlkZXItYXJyb3cge1xuICB6LWluZGV4OiA5OyB9XG5cbi5mbG8tcGFnZS1oZXJvX19sb2dvIHtcbiAgei1pbmRleDogMTE7IH1cblxuLmZsby1oZWFkZXIge1xuICB6LWluZGV4OiA5OTk5OTk7IH1cblxuLmZsby1wYWdlLWFib3V0LXR5cGUtYV9fZmVhdHVyZWQtaW5mbyB7XG4gIHotaW5kZXg6IDk7IH1cblxuLyogRU5EOiBaLUlOREVYIE1BUCAqL1xuYm9keSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1pbjsgfVxuICBib2R5LmZsby1kZWNvcmF0aW9uLXR5cGUtLXdhdmVzIC5mbG8taWNvbi1xdW90ZS1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgxMCc7IH1cbiAgYm9keS5mbG8tZGVjb3JhdGlvbi10eXBlLS13YXZlcyAuZmxvLWljb24tcXVvdGUtcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxlODAzJzsgfVxuICBib2R5LmZsby1kZWNvcmF0aW9uLXR5cGUtLXN0YXJzIC5mbG8taWNvbi1xdW90ZS1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgyMSc7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuICBib2R5LmZsby1kZWNvcmF0aW9uLXR5cGUtLXN0YXJzIC5mbG8taWNvbi1xdW90ZS1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGU4MjInO1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cbiAgYm9keS5mbG8tZGVjb3JhdGlvbi10eXBlLS1yYWluZHJvcHMgLmZsby1pY29uLXF1b3RlLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxlODIwJztcbiAgICBmb250LXNpemU6IDEuODc1cmVtOyB9XG4gIGJvZHkuZmxvLWRlY29yYXRpb24tdHlwZS0tcmFpbmRyb3BzIC5mbG8taWNvbi1xdW90ZS1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGU4MjAnO1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH1cbiAgYm9keS5mbG8tZGVjb3JhdGlvbi10eXBlLS13aW5kIC5mbG8taWNvbi1xdW90ZS1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgyMyc7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICBib2R5LmZsby1kZWNvcmF0aW9uLXR5cGUtLXdpbmQgLmZsby1pY29uLXF1b3RlLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgyNCc7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuXG4ub3ZlcmZsb3ctaGlkZSB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG4vKiBFTkQ6IEhUTUwgT1ZFUkZMT1cgRk9SIFNBRkFSSSBGSVggKi9cbi8qIFNUQVJUOiBGSVggUk9XUyBJTiBTQUZBUkkgKi9cbi5yb3c6YmVmb3JlIHtcbiAgd2lkdGg6IDA7IH1cblxuLyogRU5EOiBGSVggUk9XUyBJTiBTQUZBUkkgKi9cbi8qIEVORDogR0xPQkFMICovXG4vKiBTVEFSVDogQ09NUE9ORU5UUyAoS0VFUCBUSElTIE9ORSBBVCBUSEUgQk9UVE9NIEFMTCBUSEUgVElNRSkgKi9cbi5jb21tZW50cy1ibG9jayB7XG4gIHBhZGRpbmctdG9wOiA1LjMxMjVyZW07IH1cbiAgLmNvbW1lbnRzLWJsb2NrIC5mbG8taWNvbi1yZXBseSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuY29tbWVudHMtYmxvY2sgLnBhcmVudCAuY29tbWVudCAuY29tbWVudC1ib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuMTg3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjE4NzVyZW07IH1cbiAgLmNvbW1lbnRzLWJsb2NrIC5wYXJlbnQgLmNvbW1lbnQuZGVwdGgtMyAuY29tbWVudC1ib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMuMTI1cmVtOyB9XG4gIC5jb21tZW50cy1ibG9jayAucGFyZW50IC5jb21tZW50LmRlcHRoLTQgLmNvbW1lbnQtYm9keSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0LjA2MjVyZW07IH1cbiAgLmNvbW1lbnRzLWJsb2NrIC5wYXJlbnQgLmNvbW1lbnQuZGVwdGgtNSAuY29tbWVudC1ib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVyZW07IH1cbiAgLmNvbW1lbnRzLWJsb2NrIC5wYXJlbnQgLmNvbW1lbnQuZGVwdGgtNSAuY29tbWVudC1ib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDUuOTM3NXJlbTsgfVxuICAuY29tbWVudHMtYmxvY2sgLmNvbW1lbnQtYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDEuMzc1cmVtIDA7IH1cbiAgLmNvbW1lbnRzLWJsb2NrIC5jb21tZW50LW5hbWUtYW5kLXJlcGx5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5jb21tZW50cy1ibG9jayAuY29tbWVudC1hdmF0YXItYW5kLW5hbWUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY29tbWVudHMtYmxvY2sgLmZsby1wb3J0bzItY29tbWVudHMtYmxvY2tfX3JlcGx5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwLjYyNXJlbSAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5jb21tZW50cy1ibG9jayAuZmxvLXBvcnRvMi1jb21tZW50cy1ibG9ja19fcmVwbHkgLmNvbW1lbnQtcmVwbHktbGluayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY29tbWVudHMtYmxvY2sgLmZsby1wb3J0bzItY29tbWVudHMtYmxvY2tfX3JlcGx5OmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYmJiYmJiOyB9XG4gIC5jb21tZW50cy1ibG9jayAuY29tbWVudC1ibG9jay1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTsgfVxuICAuY29tbWVudHMtYmxvY2sgLmNvbW1lbnQtbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07IH1cbiAgLmNvbW1lbnRzLWJsb2NrIC5jb21tZW50LWF2YXRhciB7XG4gICAgcGFkZGluZy1yaWdodDogMC44NzVyZW07IH1cbiAgICAuY29tbWVudHMtYmxvY2sgLmNvbW1lbnQtYXZhdGFyIGltZyB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB3aWR0aDogMi4yNXJlbTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY29tbWVudHMtYmxvY2sgLmNvbW1lbnQtcmVzcG9uZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmNvbW1lbnRzLWJsb2NrIC5jb21tZW50LXJlc3BvbmQgaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5jb21tZW50cy1ibG9ja19fdG9wLWJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtOyB9XG4gIC5jb21tZW50cy1ibG9ja19fc2hvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci1oaWRlLWJ1dHRvbiAuZmxvLWljb24ge1xuICAgIGZvbnQtc2l6ZTogMC41cmVtOyB9XG4gIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci1zaG93LWJ1dHRvbiAuZmxvLWljb24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItaGlkZS1idXR0b24sIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci1zaG93LWJ1dHRvbiwgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXRvZ2dsZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCB2aXNpYmlsaXR5IDAuNXMsIGhlaWdodCAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXRvZ2dsZS1idXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbi1sYWJlbC13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXRvZ2dsZS1idXR0b24tbGFiZWwge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXRvZ2dsZS1idXR0b24tbGFiZWwtLWhpZGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbi1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC43ODEyNXJlbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmNvbW1lbnRzLWJsb2NrX19jb2xsYXBzZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY29tbWVudHMtYmxvY2tfX3Bvc3RzIHtcbiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDAuNXMsIG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5jb21tZW50cy1ibG9jay0tZXhwYW5kZWQgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXNob3ctYnV0dG9uIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgLmNvbW1lbnRzLWJsb2NrLS1leHBhbmRlZCAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItaGlkZS1idXR0b24ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7IH1cbiAgLmNvbW1lbnRzLWJsb2NrLS1leHBhbmRlZCAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbi1sYWJlbC0tc2hvdyB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuY29tbWVudHMtYmxvY2stLWV4cGFuZGVkIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci10b2dnbGUtYnV0dG9uLWxhYmVsLS1oaWRlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jb21tZW50cy1ibG9jay0tY29sbGFwc2VkIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci1zaG93LWJ1dHRvbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jb21tZW50cy1ibG9jay0tY29sbGFwc2VkIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci1oaWRlLWJ1dHRvbiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNvbW1lbnRzLWJsb2NrLS1jb2xsYXBzZWQgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXRvZ2dsZS1idXR0b24tbGFiZWwtLXNob3cge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNvbW1lbnRzLWJsb2NrLS1jb2xsYXBzZWQgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXRvZ2dsZS1idXR0b24tbGFiZWwtLWhpZGUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNvbW1lbnRzLWJsb2NrLS1jb2xsYXBzZWQgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXRvZ2dsZS1idXR0b24taWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgLmNvbW1lbnRzLWJsb2NrX19wb3N0LWZvcm0ge1xuICAgIHBhZGRpbmctdG9wOiAyLjc1cmVtO1xuICAgIC8qIFNUQVJUOiBQQVJTTEVZICovXG4gICAgLyogRU5EOiBQQVJTTEVZICovIH1cbiAgICAuY29tbWVudHMtYmxvY2tfX3Bvc3QtZm9ybSAuZm9ybS1zdWJtaXQge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07IH1cbiAgICAuY29tbWVudHMtYmxvY2tfX3Bvc3QtZm9ybSAucGFyc2xleS1lcnJvcnMtbGlzdCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jb21tZW50cy1ibG9ja19fcG9zdC1mb3JtIC5wYXJzbGV5LXJlcXVpcmVkIHtcbiAgICAgIGNvbG9yOiByZWQ7XG4gICAgICBtYXJnaW46IDAuNjI1cmVtIDA7IH1cbiAgLmNvbW1lbnRzLWJsb2NrX19mb3JtLXRpdGxlLWFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jb21tZW50cy1ibG9ja19fZm9ybS10aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuMjVyZW07IH1cbiAgLmNvbW1lbnRzLWJsb2NrX19mb3JtLWZpZWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmNvbW1lbnRzLWJsb2NrX19mb3JtLWZpZWxkOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jb21tZW50cy1ibG9jayAuZm9ybS1zdWJtaXQge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29tbWVudHMtYmxvY2sgLmNvbW1lbnQtY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC44NzVyZW07IH1cbiAgICAuY29tbWVudHMtYmxvY2tfX2Zvcm0tZmllbGQgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUuNjI1cmVtOyB9XG4gICAgICAuY29tbWVudHMtYmxvY2tfX2Zvcm0tZmllbGQgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNvbW1lbnRzLWJsb2NrIC5jb21tZW50LWJsb2NrLWNvbnRlbnQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5jb21tZW50cy1ibG9ja19fZm9ybS1maWVsZCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAuY29tbWVudHMtYmxvY2tfX2Zvcm0tZmllbGQgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTsgfVxuICAgICAgICAuY29tbWVudHMtYmxvY2tfX2Zvcm0tZmllbGQgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKTpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuY29tbWVudHMtYmxvY2tfX3Bvc3QtZm9ybSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9IH1cblxuLmNvbW1lbnQtcmVwbHktdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNvbW1lbnQtcmVwbHktdGl0bGUgLmZsby1pY29uLWNsb3NlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5jb21tZW50cy1wYWdpbmF0aW9uIGgyLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNvbW1lbnRzLXBhZ2luYXRpb24gLm5hdi1saW5rcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY29tbWVudHMtcGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLnByZXYgLnNjcmVlbi1yZWFkZXItdGV4dCwgLmNvbW1lbnRzLXBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5uZXh0IC5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb21tZW50cy1wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMucHJldiB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb21tZW50cy1wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMubmV4dCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uZmxvLWJsb2NrIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay0tbWVyZ2VkLXdpdGgtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5mbG8tYmxvY2stLWZ1bGwtd2lkdGgge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5mbG8tYmxvY2stLW5vLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAuZmxvLWJsb2NrLS1ub3QtZm91bmQge1xuICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH1cbiAgLmZsby1ibG9jay0taGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mbG8tYmxvY2tfX2hlYWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDk5OTk7IH1cbiAgLmZsby1ibG9ja19fY29udGFpbmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmxvLWJsb2NrOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrIHtcbiAgICAgIHBhZGRpbmc6IDMuMTI1cmVtIDYuMzc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrX19jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWJsb2NrLS1uby10b3AtcGFkZGluZyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgLmZsby1ibG9jay0tZnVsbC13aWR0aCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgLmZsby1ibG9jay0tbWVkaXVtLXdpZHRoIC5mbG8tYmxvY2tfX2NvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogNDcuNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLS1oZWFkZXItaGlkZGVuLW9uLWRlc2t0b3AgLmZsby1ibG9ja19faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmZsby1ibG9jazpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1ibG9jayB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAwOyB9XG4gICAgICAuZmxvLWJsb2NrOm5vdCguZmxvLWJsb2NrLS1mdWxsLXdpZHRoKSB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDIuMDMxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2suZmxvLWJsb2NrLW1vYmlsZS0tbm8tdmVydGljYWwtcGFkZGluZyB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5mbG8tYmxvY2s6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi5mbG8tZm9ybSBpbnB1dFt0eXBlXSB7XG4gIG1hcmdpbjogMDsgfVxuXG4uZmxvLWZvcm1fX2ZpZWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMS40Njg3NXJlbTsgfVxuICAuZmxvLWZvcm1fX2ZpZWxkOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZmxvLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTsgfVxuXG4uZmxvLW1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZsby1tb2RhbCAudGh4LW1zZyB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMTgwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTE3MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2U1ZTVlNTsgfVxuXG4uY29udGFjdC1yZXNwb25zZSBwIHtcbiAgYm9yZGVyLXJhZGl1czogMC43ODEyNXJlbTtcbiAgYm9yZGVyOiAycHggZGFzaGVkICNmOWY5Zjk7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICBjb2xvcjogI2RkZGNkYjsgfVxuXG4qW2RhdGEtbHFpcC1zcmNdIHtcbiAgdHJhbnNpdGlvbjogZmlsdGVyIDAuNXMsIGJhY2tncm91bmQtaW1hZ2UgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAqW2RhdGEtbHFpcC1zcmNdOm5vdCguZmxvLWxxaXAtLW9yaWdpbmFsLWxvYWRlZCkge1xuICAgIGZpbHRlcjogYmx1cig0MHB4KTsgfVxuXG4uZmxvLXBhZ2UtaGVhZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA1cmVtKTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmZsby1wYWdlLWhlYWQtLXdpdGgtYm9yZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYmJiYjsgfVxuICAuZmxvLXBhZ2UtaGVhZF9fZHJvcGRvd24ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIC5mbG8tcGFnZS1oZWFkX19kcm9wZG93biAuZmxvLWRyb3Bkb3duLW1lbnUge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbG8tcGFnZS1oZWFkLS1oYXMtZHJvcGRvd24tbWVudSAuZmxvLXBhZ2UtaGVhZF9fZHJvcGRvd24ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmZsby1wYWdlLWhlYWRfX2RlY29yYXRpb24taW1hZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDUuNTVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZmxvLXBhZ2UtaGVhZF9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAxZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tcGFnZS1oZWFkX190aXRsZSB7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgcGFkZGluZzogMi42ODc1cmVtIDA7IH1cbiAgICAuZmxvLXBhZ2UtaGVhZF9fbGVmdC1zaWRlIHtcbiAgICAgIHdpZHRoOiAyMCU7IH1cbiAgICAuZmxvLXBhZ2UtaGVhZF9fZHJvcGRvd24ge1xuICAgICAgd2lkdGg6IDIwJTsgfVxuICAgIC5mbG8tcGFnZS1oZWFkIC5mbG8tZHJvcGRvd24tbWVudV9fYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1wYWdlLWhlYWQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMy43NXJlbSk7XG4gICAgICBwYWRkaW5nLXRvcDogMi42ODc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgICAuZmxvLXBhZ2UtaGVhZCAuZmxvLWRyb3Bkb3duLW1lbnVfX2J0biB7XG4gICAgICAgIHBhZGRpbmc6IDEuNDM3NXJlbSAwIDIuNjg3NXJlbTsgfSB9XG5cbi5mbG8tc2hhcmUtcm9sbG92ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZmxvLXNoYXJlLXJvbGxvdmVyX190cmlnZ2VyIHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLXNoYXJlLXJvbGxvdmVyX19zaGFyZS13cmFwIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgICAuZmxvLXNoYXJlLXJvbGxvdmVyX19zaGFyZS13cmFwIGEge1xuICAgICAgbWFyZ2luOiAwIDAuNDM3NXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1zaGFyZS1yb2xsb3Zlci52aXNpYmxlIC5mbG8tc2hhcmUtcm9sbG92ZXJfX3RyaWdnZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmZsby1zaGFyZS1yb2xsb3Zlci52aXNpYmxlIC5mbG8tc2hhcmUtcm9sbG92ZXJfX3NoYXJlLXdyYXAge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0LFxuLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGUsXG4uc2xpY2stc2xpZGVyIGEge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uc2xpY2stYXJyb3cge1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmZsby12aWRlby1lbWJlZC1kdW1teSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuZmxvLXZpZGVvLWVtYmVkLWR1bW15X192aWRlby1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB3aWR0aDogNC4zNzVyZW07XG4gICAgaGVpZ2h0OiA0LjM3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA0LjM3NXJlbTtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCB0b3AgMC41cywgb3BhY2l0eSAwLjVzLCBib3JkZXIgMC41cywgdHJhbnNmb3JtIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tdmlkZW8tZW1iZWQtZHVtbXlfX3ZpZGVvLWJ1dHRvbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgLmZsby12aWRlby1lbWJlZC1kdW1teV9fdmlkZW8tYnV0dG9uLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLXZpZGVvLWVtYmVkLWR1bW15X192aWRlby1idXR0b24taWNvbi0tcGxheSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tdmlkZW8tZW1iZWQtZHVtbXlfX3ZpZGVvLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogM3JlbTtcbiAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNyZW07XG4gICAgICBmb250LXNpemU6IDAuNzE4ODZyZW07IH0gfVxuXG4uZmxvLXZpZGVvLWVtYmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5mbG8tdmlkZW8tZW1iZWRfX3NjcmVlbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tdmlkZW8tZW1iZWRfX3NjcmVlbiBpZnJhbWUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbiB7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHdpZHRoOiA0LjM3NXJlbTtcbiAgICBoZWlnaHQ6IDQuMzc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDQuMzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXMsIHRvcCAwLjVzLCBvcGFjaXR5IDAuNXMsIGJvcmRlciAwLjVzLCB0cmFuc2Zvcm0gMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby12aWRlby1lbWJlZF9fdmlkZW8tYnV0dG9uOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNDsgfVxuICAuZmxvLXZpZGVvLWVtYmVkX192aWRlby1idXR0b24taWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbi1pY29uLS1wbGF5IHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmxvLXZpZGVvLWVtYmVkX192aWRlby1idXR0b24taWNvbi0tc3RvcCB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5mbG8tdmlkZW8tZW1iZWQ6bm90KC5mbG8tdmlkZW8tZW1iZWQtLWxvYWRlZCkgLmZsby12aWRlby1lbWJlZF9fc2NyZWVuIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5mbG8tdmlkZW8tZW1iZWQ6bm90KC5mbG8tdmlkZW8tZW1iZWQtLWxvYWRlZCkgLmZsby12aWRlby1lbWJlZF9fdmlkZW8tYnV0dG9uIHtcbiAgICB0b3A6IDUwJTsgfVxuICAuZmxvLXZpZGVvLWVtYmVkOm5vdCguZmxvLXZpZGVvLWVtYmVkLS1sb2FkZWQpIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbi1pY29uLS1wbGF5IHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5mbG8tdmlkZW8tZW1iZWQtLWxvYWRlZCAuZmxvLXZpZGVvLWVtYmVkX19zY3JlZW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgLmZsby12aWRlby1lbWJlZC0tbG9hZGVkIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbiB7XG4gICAgdG9wOiA2LjI1cmVtOyB9XG4gIC5mbG8tdmlkZW8tZW1iZWQtLWxvYWRlZCAuZmxvLXZpZGVvLWVtYmVkX192aWRlby1idXR0b24taWNvbi0tc3RvcCB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZmxvLXZpZGVvLWVtYmVkLS1sb2FkZWQ6bm90KDpob3ZlcikgLmZsby12aWRlby1lbWJlZF9fdmlkZW8tYnV0dG9uIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogM3JlbTtcbiAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNyZW07XG4gICAgICBmb250LXNpemU6IDAuNTYyNXJlbTsgfSB9XG5cbi5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYSAuZmxvLXNvY2lhbC1saW5rc19fbGluayB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uZmxvLXNvY2lhbC1saW5rcy10eXBlLWIgLmZsby1zb2NpYWwtbGlua3NfX2xpbms6YmVmb3JlIHtcbiAgbGluZS1oZWlnaHQ6IDFlbSAhaW1wb3J0YW50OyB9XG4gIC5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLXNvY2lhbC1saW5rc19fbGluazpiZWZvcmU6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjEyNXJlbTsgfVxuXG4uZmxvLWJsb2NrLWJ1dHRvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXJfX2NhdGVnb3J5IHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42ODc1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXJfX2NhdGVnb3J5IHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyX19jYXRlZ29yeTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZmxvLWJsb2NrLWNvbW1lbnRzX19mYl9jb21tZW50cyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLWNvbW1lbnRzX19mYl9jb21tZW50cyAuZmxvLWJsb2NrLWNvbW1lbnRzX190aXRsZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQge1xuICBtYXJnaW4tYm90dG9tOiAyLjMxMjVyZW07IH1cblxuLmZsby1ibG9jay1jb21tZW50c19fY29tbWVudC1hdmF0YXIge1xuICBoZWlnaHQ6IDMuMTI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogMS4wNjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQtYXZhdGFyLFxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX19jb21tZW50LWF2YXRhciBpbWcge1xuICAgIHdpZHRoOiAzLjEyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX19jb21tZW50LWF2YXRhciBpbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZmxvLWJsb2NrLWNvbW1lbnRzX19jb21tZW50LWF1dGhvciB7XG4gIG1hcmdpbi1ib3R0b206IDEuMDYyNXJlbTsgfVxuXG4uZmxvLWJsb2NrLWNvbW1lbnRzX19jb21tZW50LWRhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCIvXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTsgfVxuXG4uZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtIHtcbiAgcGFkZGluZy10b3A6IDIuMzc1cmVtOyB9XG5cbi5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkLXdyYXAtLWJpZyAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkICsgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZC1sYWJlbCxcbiAgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZC13cmFwLS1iaWcgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZCArIHVsICsgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgdG9wOiAwOyB9XG4gIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtd3JhcC0tc21hbGwgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZCArIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtbGFiZWwsXG4gIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtd3JhcC0tc21hbGwgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZCArIHVsICsgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZDpmb2N1cyArIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtbGFiZWwsXG4gIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQ6Zm9jdXMgKyB1bCArIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtbGFiZWwsIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQ6bm90KC5lbXB0eSkgKyAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkLWxhYmVsLFxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkOm5vdCguZW1wdHkpICsgdWwgKyAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkLWxhYmVsIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IHRvcCAwLjVzLCB0cmFuc2Zvcm0gMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stY29tbWVudHMge1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtIDEzLjgxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbW1lbnRzX19saXN0LXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX3RpdGxlIHtcbiAgICAgIHdpZHRoOiAyMi42MiU7XG4gICAgICBmbGV4LXNocmluazogMDsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2xpc3Qge1xuICAgICAgd2lkdGg6IDc3LjM4JTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUuNDM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5jb21tZW50IC5jb21tZW50IC5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQge1xuICAgICAgcGFkZGluZzogMy4yNXJlbSAyLjM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQtbGVmdC13cmFwIHtcbiAgICAgIHdpZHRoOiAxMS4yNXJlbTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0td3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS10aXRsZSB7XG4gICAgICB3aWR0aDogMjIuNjIlOyB9XG4gICAgLmZsby1ibG9jay1jb21tZW50cyAuY29tbWVudC1yZXNwb25kIHtcbiAgICAgIHdpZHRoOiA3Ny4zOCU7XG4gICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtd3JhcC0tc21hbGwge1xuICAgICAgd2lkdGg6IDI3LjglO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41NjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtd3JhcC0tc21hbGw6bm90KDpudGgtY2hpbGQoMykpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjk2ODc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZC13cmFwLS1iaWcge1xuICAgICAgd2lkdGg6IGNhbGMoNTUuNiUgKyAzLjk2ODc1cmVtKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuMTg3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2xpc3QgLmNvbW1lbnQtcmVzcG9uZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2xpc3QgLmNvbW1lbnQtcmVzcG9uZCAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkLXdyYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2xpc3QgLmNvbW1lbnQtcmVzcG9uZCAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmZsby1ibG9jay1jb21tZW50c19fbGlzdCAuY29tbWVudC1yZXNwb25kIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtLXNtYWxsLCAuZmxvLWJsb2NrLWNvbW1lbnRzX19saXN0IC5jb21tZW50LXJlc3BvbmQgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZC0tYmlnIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHMgLmZvcm0tc3VibWl0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stY29tbWVudHMge1xuICAgIHBhZGRpbmc6IDEuODc1cmVtIDIuMDMxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbW1lbnRzX190aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHMgLmNvbW1lbnQgLmNvbW1lbnQgLmZsby1ibG9jay1jb21tZW50c19fY29tbWVudCB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbW1lbnRzX19jb21tZW50LWxlZnQtd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS10aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjU2MjVyZW0gIWltcG9ydGFudDsgfSB9XG5cbi5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fdGV4dC1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fdGl0bGUtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX190aXRsZS1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fdGV4dC1kZXNjcmlwdGlvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tc2VjdGlvbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1zZWN0aW9uLS1jdXN0b20gZm9ybSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXNlY3Rpb24tLWN1c3RvbSBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1zZWN0aW9uLS1jdXN0b20gdGV4dGFyZWEge1xuICAgICAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1zZWN0aW9uLS1jdXN0b20gLmFwcC1mbG8tZm9ybXMgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1zZWN0aW9uLS1jdXN0b20gLmVycm9yIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgICAgIGNvbG9yOiByZWQgIWltcG9ydGFudDsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXNlY3Rpb24tLWN1c3RvbSBsYWJlbCB7XG4gICAgICBsaW5lLWhlaWdodDogMWVtOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLWZpZWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIWltcG9ydGFudDsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLWZpZWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tZmllbGQgaW5wdXQsXG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tZmllbGQgbGFiZWwsXG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tZmllbGQgdGV4dGFyZWEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1maWVsZCBsYWJlbCB7XG4gICAgICBsaW5lLWhlaWdodDogMWVtOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXN1Ym1pdCB7XG4gICAgcGFkZGluZzogMS4xMjVyZW0gMy44NzVyZW0gMC44MTI1cmVtIDMuNjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDFlbSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDIuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fdGV4dC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDAgMnJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19kZWNvcmF0aXZlLWljb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNC42ODc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX3RpdGxlLXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fc3VidGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX190ZXh0LWRlc2NyaXB0aW9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogNi4yNXJlbSA4LjE4NzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1zdWJtaXQge1xuICAgICAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fdGV4dC1zZWN0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDIuMDMxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19kZWNvcmF0aXZlLWljb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjE4NzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX190aXRsZS13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXNlY3Rpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMi4wMzEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tc3VibWl0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41NjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX190aXRsZS1zZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX3RpdGxlLXNlY3Rpb24gLmZsby1oZWFkZXJfX3NlYXJjaC1mb3JtIC5mbG8taGVhZGVyX19zZWFyY2gtZm9ybS1pbnB1dCB7XG4gICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19oZWFkZXItYXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9faGVhZGVyLWFyZWEgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlciB7XG4gICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLXNlY3Rpb24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIGZvcm0ge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIC5hcHAtZmxvLWZvcm1zIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSkge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLXNlY3Rpb24tLWN1c3RvbSBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1zZWN0aW9uLS1jdXN0b20gdGV4dGFyZWEge1xuICAgICAgICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1zZWN0aW9uLS1jdXN0b20gLmVycm9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgICAgICBjb2xvcjogcmVkICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2ZpZWxkcy13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLWZpZWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1maWVsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLWZpZWxkIGlucHV0LFxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLWZpZWxkIGxhYmVsLFxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLWZpZWxkIHRleHRhcmVhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc3VibWl0IHtcbiAgICBwYWRkaW5nOiAxLjEyNXJlbSAzLjg3NXJlbSAwLjgxMjVyZW0gMy42MjVyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMi42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yLS1oZWFkZXItaXMtdmlzaWJsZSAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fdGl0bGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEzLjMxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMjpub3QoLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTItLWhlYWRlci1pcy12aXNpYmxlKSAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fdGl0bGUtc2VjdGlvbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX190aXRsZSB7XG4gICAgICBwYWRkaW5nOiAwIDE0cmVtOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc2VjdGlvbiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjhyZW0pO1xuICAgICAgbWFyZ2luOiAwIDE0cmVtO1xuICAgICAgcGFkZGluZzogNC44MTI1cmVtIDMuNzVyZW0gNS4wNjI1cmVtIDMuNzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtNy4wNjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1zZWN0aW9uLS1jdXN0b20gLmxlZnRfY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi4wMzEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIC5yaWdodF9jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMDMxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2LjI1cmVtO1xuICAgICAgcGFkZGluZzogMCAxMS42MjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fY29sdW1uIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICA0LjA2MjVyZW0pO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19jb2x1bW4tLWxlZnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjAzMTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fY29sdW1uLS1yaWdodCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi4wMzEyNXJlbTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fY29sdW1uLS1yaWdodCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1maWVsZCB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc3VibWl0IHtcbiAgICAgIG1hcmdpbjogNS4wNjI1cmVtIGF1dG8gMCBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fY29udGFjdC1pbmZvIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyOHJlbSk7XG4gICAgICBtYXJnaW46IDAgMTRyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fY29udGFjdC1kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2NvbnRhY3QtZGV0YWlsczphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2NvbnRhY3QtZW1haWwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX190aXRsZSB7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1zZWN0aW9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMi4wMzEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19maWVsZHMtd3JhcCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tZmllbGQsIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yIGlucHV0LCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMiB0ZXh0YXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1zdWJtaXQge1xuICAgICAgbWFyZ2luOiAxLjg3NXJlbSBhdXRvIDEuODc1cmVtIGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19jb250YWN0LWluZm8ge1xuICAgICAgbWFyZ2luOiAyLjAzMTI1cmVtIGF1dG8gMCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2NvbnRhY3QtZGV0YWlsczphZnRlciB7XG4gICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxLjI1cmVtIGF1dG87IH0gfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fdGl0bGUtc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9uby1pbWFnZS5qcGcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1zbWFsbCk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX3RpdGxlLXNlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLW1lZGl1bSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX3RpdGxlLXNlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLWxhcmdlKTsgfSB9XG5cbi5mbG8tYmxvY2stY29udGFjdC1ibG9jay0zX19mb3JtLXNlY3Rpb24tLWN1c3RvbSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM19fZm9ybS1zZWN0aW9uLS1jdXN0b20gZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTNfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIC5hcHAtZmxvLWZvcm1zIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSkge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM19fZm9ybS1zZWN0aW9uLS1jdXN0b20gaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSxcbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTNfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIHRleHRhcmVhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTNfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIC5lcnJvciB7XG4gICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgIGNvbG9yOiByZWQgIWltcG9ydGFudDsgfVxuXG4uZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM19fZm9ybS1maWVsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM19fZm9ybS1maWVsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTNfX2Zvcm0tZmllbGQgbGFiZWwsIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0zX19mb3JtLWZpZWxkIGlucHV0LCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM19fZm9ybS1maWVsZCB0ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stY29udGFjdC1ibG9jay0zX19mb3JtLXN1Ym1pdCB7XG4gIHBhZGRpbmc6IDEuMTI1cmVtIDMuODc1cmVtIDAuODEyNXJlbSAzLjYyNXJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDIuNjI1cmVtOyB9XG5cbi5mbG8tYmxvY2stY29udGFjdC1ibG9jay0zX19jb250YWN0LWRldGFpbHMge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0zX19mb3JtLXNlY3Rpb24ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0NS43NXJlbSk7XG4gICAgbWFyZ2luOiAwIDIyLjg3NXJlbTtcbiAgICBwYWRkaW5nOiA0cmVtIDkuNTYyNXJlbSA0cmVtIDkuNTYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM19fZm9ybS1zdWJtaXQge1xuICAgIG1hcmdpbjogMi41cmVtIGF1dG8gMCBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0zX19jb250YWN0LWluZm8ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyOHJlbSk7XG4gICAgbWFyZ2luOiAwIDE0cmVtO1xuICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM19fZm9ybS1zZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAyLjAzMTI1cmVtOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0zX19mb3JtLWZpZWxkLCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMyBsYWJlbCwgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTMgaW5wdXQsIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0zIHRleHRhcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTNfX2Zvcm0tc3VibWl0IHtcbiAgICBtYXJnaW46IDEuODc1cmVtIGF1dG8gMS44NzVyZW0gYXV0bztcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM19fY29udGFjdC1pbmZvIHtcbiAgICBtYXJnaW46IDIuMDMxMjVyZW0gYXV0byAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLmZsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtMyB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmZsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtM19fY29sdW1uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtM19fZGVjb3JhdGl2ZS1lbGVtZW50cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNDM3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zX19kZWNvcmF0aXZlLWljb24tLXdpdGgtZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgLmZsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtM19fZGVjb3JhdGl2ZS1pY29uLS1uby1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLmZsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtM19fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgIG9wYWNpdHk6IDAuMTsgfVxuICAuZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zX19kZWNvcmF0aXZlLW51bWJlci0td2l0aC1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zIHtcbiAgICAgIHBhZGRpbmc6IDAgNy42MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGVudC1pbi1jb2x1bW5zLTNfX2NvbHVtbiB7XG4gICAgICAgIHdpZHRoOiAxNi41cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNy43NXJlbTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cbiAgICAgICAgLmZsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtM19fY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgcGFkZGluZzogMCAzLjE4NzVyZW07XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDsgfVxuICAgICAgICAuZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zX19jb2x1bW46bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMuMTg3NXJlbTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zX19jb2x1bW46bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMy4xODc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zX19jb2x1bW4tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stY29udGVudC1pbi1jb2x1bW5zLTMge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmZsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtM19fY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtM19fY29sdW1uLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stZGVsaW1pdGVyLTFfX2RlbGltaXRlci13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stZGVsaW1pdGVyLTFfX2RlbGltaXRlci1saW5lIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mbG8tYmxvY2stZGVsaW1pdGVyLTFfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwLjY4ZW0gMC41MmVtO1xuICBtYXJnaW46IDAgMC42OGVtO1xuICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1kZWxpbWl0ZXItMV9fZGVjb3JhdGl2ZS1sZXR0ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDAuMjVlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNWVtKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZDsgfVxuICAuZmxvLWJsb2NrLWRlbGltaXRlci0xX19kZWNvcmF0aXZlLWxldHRlcjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwLjIyZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNDRlbSk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkOyB9XG5cbi5mbG8tYmxvY2stZmFxLWJsb2NrLTFfX3RpdGxlLWFyZWEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cblxuLmZsby1ibG9jay1mYXEtYmxvY2stMV9fdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cblxuLmZsby1ibG9jay1mYXEtYmxvY2stMV9fdGl0bGUtZGVjb3JhdGl2ZS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4uZmxvLWJsb2NrLWZhcS1ibG9jay0xX19zaW5nbGUtcWEge1xuICAvKi1BZGQgYm90dG9tIG1hcmdpbiB0byBhbGwgY2hpbGRyZW4gZXhjZXB0IGZvciB0aGUgbGFzdCAyLSovXG4gIG1hcmdpbi1ib3R0b206IDIuNzVyZW07IH1cbiAgLmZsby1ibG9jay1mYXEtYmxvY2stMV9fc2luZ2xlLXFhOm50aC1sYXN0LWNoaWxkKDEpLCAuZmxvLWJsb2NrLWZhcS1ibG9jay0xX19zaW5nbGUtcWE6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZsby1ibG9jay1mYXEtYmxvY2stMV9fcXVlc3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mbG8tYmxvY2stZmFxLWJsb2NrLTFfX2Fuc3dlciBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1mYXEtYmxvY2stMV9fZmFxLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMDsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0xX19zaW5nbGUtcWEge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0xX19zaW5nbGUtcWE6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzLjE4NzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2LjM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTFfX3NpbmdsZS1xYTpudGgtY2hpbGQoZXZlbikge1xuICAgICAgcGFkZGluZy1sZWZ0OiA2LjM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMuMTg3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0xX19kaXZpZGVyIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stZmFxLWJsb2NrLTFfX3NpbmdsZS1xYTpudGgtbGFzdC1jaGlsZCgxKSwgLmZsby1ibG9jay1mYXEtYmxvY2stMV9fc2luZ2xlLXFhOm50aC1sYXN0LWNoaWxkKDIpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjc1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmFxLWJsb2NrLTFfX2RpdmlkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZmxvLWJsb2NrLWZhcS1ibG9jay0yIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9uby1pbWFnZS5qcGcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctc21hbGwpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbWVkaXVtKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmZsby1ibG9jay1mYXEtYmxvY2stMiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLWxhcmdlKTsgfSB9XG5cbi5mbG8tYmxvY2stZmFxLWJsb2NrLTIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9faW1hZ2Utb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19mYXEtc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG4gICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fZmFxLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19mYXEtc2xpZGUtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fYW5zd2VyIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19uYXZpZ2F0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX2ZhcS1jb3VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19jdXJyZW50LWl0ZW0tbnVtYmVyIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG4gIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX251bWJlci1kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIG1hcmdpbjogMC4xODc1cmVtIDA7IH1cbiAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fdG90YWwtaXRlbS1udW1iZXIge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXRvcDogNS40Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiA2LjM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDYuMzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDYuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNy4yNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fcXVlc3Rpb25zLXdyYXAge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM0LjMxMjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogOC42ODc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19zaW5nbGUtcWEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19xdWVzdGlvbiB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41OTM3NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fYW5zd2VyIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZzogMCAxLjU5Mzc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19uYXZpZ2F0aW9uIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGJvdHRvbTogMy4xODc1cmVtOyB9XG4gICAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX25hdmlnYXRpb24tLWhpZGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX2ZhcS1jb3VudGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDguNzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX251bWJlci1kaXZpZGVyIHtcbiAgICAgICAgd2lkdGg6IDExLjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19hcnJvdyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19hcnJvdzpob3ZlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX2ltYWdlLW92ZXJsYXktLWhpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19mYXEtc2xpZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX2ZhcS1zbGlkZS1jb250ZW50IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fcXVlc3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19uYXZpZ2F0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX2ZhcS1jb3VudGVyIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fbnVtYmVyLWRpdmlkZXIge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fYXJyb3cge1xuICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX3ByZXRpdGxlOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstMl9fdGl0bGU6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX3RleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX2ltYWdlLWxpbmstYXJlYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstMl9faW1hZ2Uge1xuICB3aWR0aDogMTEuMjVyZW07IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX2xpbmstZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstMl9fbGluay1kZXNjcmlwdGlvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgcGFkZGluZzogMC40Mzc1cmVtIDEuMTI1cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTIge1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtIDYuMzc1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstMl9fdGV4dC1hcmVhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDUuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX2ltYWdlLWxpbmstYXJlYSB7XG4gICAgICBtYXJnaW4tbGVmdDogNS42MjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX2ltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMTYuODc1cmVtO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTIge1xuICAgIHBhZGRpbmc6IDEuODc1cmVtIDIuMDMxMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX3RleHQtYXJlYTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX2ltYWdlIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDEuMjVyZW0gYXV0bzsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0yX19saW5rLXdyYXAge1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstM19faW1hZ2Utd3JhcCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTNfX3RleHQtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zX190aXRsZS13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMi41NjI1cmVtIDAgMy4xMjVyZW0gMDsgfVxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstM19fdGl0bGUtZGVjb3JhdGl2ZS1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogLTEuMzEyNXJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgbWF4LXdpZHRoOiAycmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zX190aXRsZS1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBvcGFjaXR5OiAwLjI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zIHtcbiAgICAgIHBhZGRpbmc6IDAgNy42MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zX19pbWFnZS13cmFwIHtcbiAgICAgICAgd2lkdGg6IDM5LjM3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAzOS42MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zX190ZXh0LXdyYXAge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiA0LjYyNXJlbSAwO1xuICAgICAgICBwYWRkaW5nOiAwIDlyZW0gMCA5cmVtO1xuICAgICAgICB3aWR0aDogMjcuNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00LjU2MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zX19zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuNDM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zX19pbWFnZS13cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTkuNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zX190ZXh0LXdyYXAge1xuICAgICAgICBtYXJnaW46IC0zLjc1cmVtIDEuMjVyZW0gMCAxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstM19fdGl0bGUtZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgICAgdG9wOiAtMC43NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTNfX3N1YnRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTNfX2xpbmsge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fdGV4dC13cmFwIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fdGV4dC13cmFwIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fbGluay1wcmV0aXRsZSxcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy0zX190ZXh0LXdyYXAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy0zX19saW5rLXRpdGxlLFxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTNfX3RleHQtd3JhcCAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTNfX2xpbmstdGV4dCB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTMgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy0zX19saW5rLWJ1dHRvbiB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy0zIHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbSAxMy44NzVyZW07XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fbGluayB7XG4gICAgICBwYWRkaW5nOiAzLjgxMjVyZW0gMy43NXJlbTtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuNjU2MjVyZW0pO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy0zX19saW5rLS1sZWZ0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS42NTYyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fbGluay0tcmlnaHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNjU2MjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTNfX3RleHQtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogNy4xMjVyZW0gMCA0LjkzNzVyZW0gMDsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fbGluay1wcmV0aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjQzNzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTNfX2xpbmstdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy4wNjI1cmVtO1xuICAgICAgcGFkZGluZzogMCAzLjEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fbGluay10ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuNTYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgNC44MTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtMyB7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMi4wMzEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fbGluayB7XG4gICAgICBwYWRkaW5nOiAxLjkzNzVyZW0gMS44NzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTNfX2xpbmstLWxlZnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTNfX3RleHQtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogMy43NXJlbSAwIDIuNTYyNXJlbSAwOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy0zX19saW5rLXByZXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNDM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fbGluay10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07XG4gICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fbGluay10ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTRfX3RleHQtd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X19jb2x1bW4tLW5hdmlnYXRpb24tY29sdW1uIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fYXJyb3ctbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogMi41NjI1cmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X19jb2x1bW4tLW5hdmlnYXRpb24tY29sdW1uIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fYXJyb3ctcmlnaHQge1xuICBtYXJnaW4tbGVmdDogMi41NjI1cmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X19zbGlkZS1saW5rLWltYWdlIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTRfX3NsaWRlLWxpbmstdGl0bGUge1xuICBtaW4td2lkdGg6IDkuMzc1cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00IHtcbiAgICBwYWRkaW5nOiAwIDcuNjI1cmVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMTIuNzVyZW0pOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X190ZXh0LXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgKyA0LjM3NXJlbSk7IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uLS10aXRsZS1jb2x1bW4ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMTg3NXJlbTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uLS1taWRkbGUtY29sdW1uIHtcbiAgICAgICAgbWFyZ2luOiAwIDIuMTg3NXJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uX19taWRkbGUtbGFiZWwge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uLS1uYXZpZ2F0aW9uLWNvbHVtbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyLjE4NzVyZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uLS1uYXZpZ2F0aW9uLWNvbHVtbltkYXRhLXNsaWRlcy1jb3VudD1cIjFcIl0sIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uLS1uYXZpZ2F0aW9uLWNvbHVtbltkYXRhLXNsaWRlcy1jb3VudD1cIjJcIl0sIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uLS1uYXZpZ2F0aW9uLWNvbHVtbltkYXRhLXNsaWRlcy1jb3VudD1cIjNcIl0ge1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fc2xpZGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X19zbGlkZS1saW5rIHtcbiAgICAgIHBhZGRpbmc6IDEuMTI1cmVtIDEuMTI1cmVtIDIuNjI1cmVtIDEuMTI1cmVtO1xuICAgICAgd2lkdGg6IDE5LjE4NzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMTg3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fc2xpZGUtbGluay1pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDIyLjYyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fc2xpZGUtbGluay10aXRsZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xLjE4NzVyZW07XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X190ZXh0LXdyYXAge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTRfX2NvbHVtbi0tdGl0bGUtY29sdW1uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTRfX2NvbHVtbi0tbWlkZGxlLWNvbHVtbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X19jb2x1bW4tLW5hdmlnYXRpb24tY29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uLS1uYXZpZ2F0aW9uLWNvbHVtbltkYXRhLXNsaWRlcy1jb3VudD1cIjFcIl0ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fc2xpZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIDQuMDYyNXJlbSk7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fc2xpZGUtbGluayB7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSAxLjI1cmVtKTtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC45Mzc1cmVtIDEuODc1cmVtIDAuOTM3NXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fc2xpZGUtbGluazpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X19zbGlkZS1saW5rLWltYWdlIHtcbiAgICBoZWlnaHQ6IDIyLjYyNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X19zbGlkZS1saW5rLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMS4xODc1cmVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xIHtcbiAgei1pbmRleDogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMSB7XG4gICAgICBtYXJnaW46IDAgNy42MjVyZW07XG4gICAgICBwYWRkaW5nOiA0LjA5Mzc1cmVtIDMuMTg3NXJlbSA1LjAzMTI1cmVtIDMuMTg3NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMV9fZmVhdHVyZWQtc2xpZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19zbGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGhlaWdodDogMzcuMDYyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMV9fbGVmdC13cmFwIHtcbiAgICAgICAgd2lkdGg6IDI3LjMxMjVyZW07XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19yaWdodC13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB3aWR0aDogMzEuNzVyZW07XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19yaWdodC13cmFwLS1uby1kZWNvcmF0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTEuODc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMuNTYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDguNzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX3RpdGxlcy13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC01MCU7XG4gICAgICAgIGxlZnQ6IDQwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBvcGFjaXR5OiAwLjA1OyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19wcmUtdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMV9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4xMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX2Fycm93cyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiA3LjY4NzVyZW07XG4gICAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDcuNjI1cmVtKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYyg0MCUgKyA3LjYyNXJlbSkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19hcnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19hcnJvdzpub3QoLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMV9fYXJyb3ctLXNlcGFyYXRvcikge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19hcnJvdy0tbGVmdCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjgxMjVyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMV9fYXJyb3ctLXJpZ2h0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMi4yNXJlbTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19hcnJvdy0tc2VwYXJhdG9yIHtcbiAgICAgICAgICBoZWlnaHQ6IDIuODc1cmVtO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTBkZWcpOyB9XG4gICAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX2Fycm93LS1wcmV2IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMV9fYXJyb3ctLW5leHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyLjU2MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX3NsaWRlIHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3OyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19sZWZ0LXdyYXAge1xuICAgICAgICBoZWlnaHQ6IDE4LjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMV9fcmlnaHQtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS41NjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX3RpdGxlcy13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDQwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBvcGFjaXR5OiAwLjA1O1xuICAgICAgICBmb250LXNpemU6IDYuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19wcmUtdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMV9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4xMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX2Fycm93cyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG5cbi5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTJfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgb3BhY2l0eTogMC4yNDsgfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0yX19zbGlkZS1pbWFnZSB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMl9fYXJyb3dzIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0yX19hcnJvdyB7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTJfX2Fycm93LS1wcmV2IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuOTM3NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA3LjkzNzVyZW0gMCA5LjEyNXJlbSAwOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMl9fdGV4dC1hcmVhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMy44NzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQuNDM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTJfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDAlO1xuICAgICAgdG9wOiAwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC00MCUpOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMl9fdGV4dCB7XG4gICAgICB3aWR0aDogMTcuNDM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTJfX3NsaWRlcyB7XG4gICAgICB3aWR0aDogNTMuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0yX19zbGlkZS1pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDM4Ljg3NXJlbTtcbiAgICAgIHdpZHRoOiAyNi4wNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTJfX2Fycm93cyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogNi40Mzc1cmVtO1xuICAgICAgYm90dG9tOiA0LjEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTJfX2Fycm93IHtcbiAgICAgIG9wYWNpdHk6IDAuMjQ7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0yX19hcnJvdzpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtIDIuMDMxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0yX190ZXh0LWFyZWEge1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0yX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMl9fc2xpZGVzIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMl9fc2xpZGUtaW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTJfX2Fycm93cyB7XG4gICAgICBtYXJnaW46IDEuODc1cmVtIDA7IH0gfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X190aXRsZS1hcmVhLXdyYXAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctN19fZGVjb3JhdGlvbi13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX2RlY29yYXRpb24taWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDQwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBvcGFjaXR5OiAwLjI7IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctN19fc2xpZGUtaW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX3NsaWRlLXRpdGxlLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX2Fycm93IHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTsgfVxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X19hcnJvdy0tbGVmdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X190aXRsZS1hcmVhLXdyYXAge1xuICAgIHBhZGRpbmc6IDAgMTRyZW07IH1cbiAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctN19fZGVjb3JhdGlvbi13cmFwIHtcbiAgICBwYWRkaW5nLXRvcDogOC4xODc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA0LjQzNzVyZW07IH1cbiAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctN19fdGl0bGUge1xuICAgIHBhZGRpbmc6IDAgNy42MjVyZW0gMTIuNjI1cmVtIDcuNjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX3NsaWRlci13cmFwIHtcbiAgICBwYWRkaW5nOiAwIDE0cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX2ZlYXR1cmVkLXNsaWRlciB7XG4gICAgcGFkZGluZzogMy43NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMy44MTI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX3NsaWRlLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDM2LjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX3NsaWRlLXRpdGxlLXdyYXAge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWFyZ2luLXRvcDogMi41OTM3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X19zbGlkZS10aXRsZSB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X19hcnJvd3Mge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctN19fdGl0bGUtYXJlYS13cmFwIHtcbiAgICBwYWRkaW5nOiAwIDIuMDMxMjVyZW07IH1cbiAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctN19fZGVjb3JhdGlvbi13cmFwIHtcbiAgICBwYWRkaW5nLXRvcDogNC4wNjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDYuMjVyZW07IH1cbiAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctN19fc2xpZGVyLXdyYXAge1xuICAgIHBhZGRpbmc6IDAgMi4wMzEyNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X19mZWF0dXJlZC1zbGlkZXIge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgbWFyZ2luLXRvcDogLTMuMTI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX3NsaWRlLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE4LjEyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X19zbGlkZS10aXRsZS13cmFwIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX3NsaWRlLXRpdGxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX2Fycm93cyB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X19zbGlkZS1pbWFnZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbm8taW1hZ2UuanBnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLXNtYWxsKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctN19fc2xpZGUtaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1tZWRpdW0pOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X19zbGlkZS1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLWxhcmdlKTsgfSB9XG5cbi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMTpob3ZlciAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX190aXRsZS1hcmVhLCAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xLS1pcy1mb2N1c2VkIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX3RpdGxlLWFyZWEge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMTpob3ZlciAuZmxvLXZpZGVvLWVtYmVkX192aWRlby1idXR0b24ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9faW1hZ2Utd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9faW1hZ2Utd3JhcC5zbGljay1jdXJyZW50IC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX2Fycm93IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xLS10aXRsZS1hcmVhLXZpc2libGUgLmZsby12aWRlby1lbWJlZF9fdmlkZW8tYnV0dG9uIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTEtLXRpdGxlLWFyZWEtaW52aXNpYmxlIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX3RpdGxlLWFyZWEge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fdGl0bGUtYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuOTM3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBvcGFjaXR5OiAwLjMzOyB9XG4gIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjE4NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX2Fycm93IHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgd2lkdGg6IDMuMTI1cmVtO1xuICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fYXJyb3ctLXByZXYge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fYXJyb3ctLW5leHQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX2Fycm93IHtcbiAgICAgIHRvcDogMS4yNXJlbTtcbiAgICAgIHRleHQtc2hhZG93OiAwcHggMHB4IDJweCB3aGl0ZTsgfVxuICAgICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fYXJyb3ctLXByZXYge1xuICAgICAgICBsZWZ0OiAxLjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19hcnJvdy0tbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAxLjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMl9faW1hZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0yX19pbWFnZS5sYXp5IHtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTJfX2ltYWdlLXRodW1iIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0yX19pbWFnZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTJfX2ltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTNfX2ltYWdlLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fYXJyb3cge1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fdGh1bWIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19faW1hZ2VzLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNjIuNXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX19pbWFnZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODEyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX19hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTNfX2Fycm93LS1wcmV2IHtcbiAgICAgIGxlZnQ6IC02LjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fYXJyb3ctLW5leHQge1xuICAgICAgcmlnaHQ6IC02LjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTNfX3RodW1icyB7XG4gICAgd2lkdGg6IDYyLjVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fdGh1bWItd3JhcCB7XG4gICAgb3BhY2l0eTogMC4yO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fdGh1bWItd3JhcC5zbGljay1jdXJyZW50LCAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX190aHVtYi13cmFwOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fdGh1bWIge1xuICAgIHdpZHRoOiA4LjkwNjI1cmVtO1xuICAgIGhlaWdodDogNS44NTkzOHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX19pbWFnZXMtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTNfX2ltYWdlcyB7XG4gICAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19faW1hZ2Uge1xuICAgIGhlaWdodDogMTguNzVyZW07IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IGNhbGMoMTAwJSArIDEuNTYyNXJlbSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7IH1cbiAgICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX19hcnJvdy0tcHJldiB7XG4gICAgICBsZWZ0OiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fYXJyb3ctLW5leHQge1xuICAgICAgcmlnaHQ6IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fdGh1bWJzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmZsby1ibG9jay1pbWFnZS1ibG9jay0xX19pbWFnZS13cmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZsby1ibG9jay1pbWFnZS1ibG9jay0xX19pbWFnZS1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMV9faGVhZGVyLWFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1ncm93OiAwOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMV9faGVhZGVyLWFyZWEgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlciB7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4uZmxvLWJsb2NrLWltYWdlLWJsb2NrLTFfX3RpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgei1pbmRleDogMTAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0xX190aXRsZS1jZW50ZXIge1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtIDIxLjYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTFfX3RpdGxlLWxlZnQge1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtIDQzLjI1cmVtIDMuMTI1cmVtIDJyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTFfX3RpdGxlLXJpZ2h0IHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbSAycmVtIDMuMTI1cmVtIDQzLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMV9fdGl0bGUge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWltYWdlLWJsb2NrLTFfX2ltYWdlLXdyYXAge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL25vLWltYWdlLmpwZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1zbWFsbCk7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMV9faW1hZ2Utd3JhcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLW1lZGl1bSk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMV9faW1hZ2Utd3JhcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLWxhcmdlKTsgfSB9XG5cbi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbm8taW1hZ2UuanBnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLXNtYWxsKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbWVkaXVtKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbGFyZ2UpOyB9IH1cblxuLmZsby1ibG9jay1pbWFnZS1ibG9jay0yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9faW1hZ2Utb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3RleHQtYXJlYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3RpdGxlcy13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3RpdGxlcy13cmFwOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX2RlY29yYXRpdmUtaW1hZ2U6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3RpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fdGl0bGU6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC40Mzc1cmVtOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fdGV4dC1wYXJhZ3JhcGg6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi44MTI1cmVtOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fYnV0dG9uIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuODc1cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX190ZXh0LWFyZWEge1xuICAgICAgICB3aWR0aDogMzMuNzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fYnV0dG9uLXdyYXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjkzNzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTIge1xuICAgICAgbWluLWhlaWdodDogMjVyZW07XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTIuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS10ZXh0LXRvcCwgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtdGV4dC1ib3R0b20ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLXRleHQtdG9wIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLWltZy13cmFwLCAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTIuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS10ZXh0LWJvdHRvbSAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS1pbWctd3JhcCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTIuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS10ZXh0LXRvcCAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3RleHQtYXJlYSB7XG4gICAgICAgIG9yZGVyOiAtMTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtdGV4dC10b3AgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtaW1nLXdyYXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLXRleHQtYm90dG9tIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLWltZy13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS1iZy13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fdGV4dC1hcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fdGl0bGVzLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3ZlcnRpY2FsLWxpbmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3RpdGxlLXBhcmFncmFwaCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNTYyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19idXR0b24td3JhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtdGV4dC10b3AsIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLXRleHQtYm90dG9tIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtdGV4dC10b3AgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtaW1nLXdyYXAsIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLXRleHQtYm90dG9tIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLWltZy13cmFwIHtcbiAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmZsby1ibG9jay1pbWFnZS1ibG9jay0zIHtcbiAgLyogU1RBUlQ6IEJ1dHRvbiBUeXBlIEEgKi9cbiAgLyogRU5EOiBCdXR0b24gVHlwZSBBICovXG4gIC8qIFNUQVJUOiBCdXR0b24gVHlwZSBCICovXG4gIC8qIEVORDogQnV0dG9uIFR5cGUgQiAqLyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stM19fdGl0bGU6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0zX19zdWJ0aXRsZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0zX19idXR0b25zLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stM19fYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAwLjY4NzVyZW0gMS44NzVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0zX19idXR0b24tbGlua3Mtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stM19fYnV0dG9uLWxpbmsge1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW0gMS41NjI1cmVtIDEuODc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTNfX2J1dHRvbi1saW5rOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IGdyb292ZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBncm9vdmU7IH1cbiAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTNfX2J1dHRvbi1saW5rOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDAuNDM3NXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgcmlnaHQ6IDIuMTg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLyogU1RBUlQ6IEJ1dHRvbiBUeXBlIEEgKi9cbiAgICAgIC8qIEVORDogQnV0dG9uIFR5cGUgQSAqL1xuICAgICAgLyogU1RBUlQ6IEJ1dHRvbiBUeXBlIEIgKi9cbiAgICAgIC8qIEVORDogQnV0dG9uIFR5cGUgQiAqLyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTNfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDM0LjM3NXJlbTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stM19fdGV4dC1hcmVhIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW0gOC40Mzc1cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0zX190ZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi44MTI1cmVtOyB9XG4gICAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stM19fdGV4dDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjE4NzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stM19fYnV0dG9uLS1wcmltYXJ5IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0zIHtcbiAgICAgIC8qIFNUQVJUOiBCdXR0b24gVHlwZSBBICovXG4gICAgICAvKiBFTkQ6IEJ1dHRvbiBUeXBlIEEgKi9cbiAgICAgIC8qIFNUQVJUOiBCdXR0b24gVHlwZSBCICovXG4gICAgICAvKiBFTkQ6IEJ1dHRvbiBUeXBlIEIgKi8gfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0zID4gKjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stM19fdGV4dC1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMS41NjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTNfX3RleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTNfX2J1dHRvbnMtd3JhcCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stM19fYnV0dG9uLS1wcmltYXJ5Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1pbWFnZS1saW5rcy0yIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2xpbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2xpbmstaW1hZ2Uge1xuICAgIGhlaWdodDogMjFyZW07XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMiB7XG4gICAgICBwYWRkaW5nOiAwIDcuNjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2xpbmsge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gICAgICAgIHBhZGRpbmc6IDMuMTI1cmVtOyB9XG4gICAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMl9fbGluay0taGFzLXVybCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rLS1oYXMtdXJsOmhvdmVyIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMl9fbGluay1pbWFnZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7IH1cbiAgICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDsgfVxuICAgICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2xpbms6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyArIDMuMTI1cmVtKTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2xpbms6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4OyB9XG4gICAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMl9fbGluazpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rLWltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNTYyNXJlbTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2xpbmstaW1hZ2UtLWhhcy11cmwge1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMl9fbGluay1wcmV0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rLS1oYXMtdXJsIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rLXByZXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWltYWdlLWxpbmtzLTQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTRfX2NvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGhlaWdodDogMTguNTYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTRfX2xpbmstdGl0bGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiAxLjc1cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy00X19jb2x1bW4ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAzLjEyNXJlbSk7XG4gICAgICBoZWlnaHQ6IDE4LjU2MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNF9fY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIG1hcmdpbjogMCAzLjEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy00X19jb2x1bW46aG92ZXIgLmZsby1ibG9jay1pbWFnZS1saW5rcy00X19saW5rLXRpdGxlIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNF9fbGluay10aXRsZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy00IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNF9fY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWltYWdlLWxpbmtzLTVfX2ltYWdlLWxpbmsge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01IHtcbiAgICBwYWRkaW5nOiAwIDYuMzc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01X19saW5rcy13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTVfX2ltYWdlLWxpbmsge1xuICAgICAgaGVpZ2h0OiAxOS42ODc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01X19pbWFnZS1saW5rOm50aC1jaGlsZCgybikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMy4xMjVyZW07XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuNTYyNXJlbSAtIDAuMXJlbSk7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNV9faW1hZ2UtbGluazpub3QoOm50aC1jaGlsZCgybikpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS41NjI1cmVtIC0gMC4xcmVtKTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01X19pbWFnZS1saW5rOmhvdmVyIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNV9fYmFja2dyb3VuZC13cmFwIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNV9fYmFja2dyb3VuZC13cmFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNV9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi44MTI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01X19ib3R0b20tbGFiZWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm90dG9tOiAyLjE4NzVyZW07XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01X19saW5rcy13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01X19pbWFnZS1saW5rIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE5LjY4NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01X19iYWNrZ3JvdW5kLXdyYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01X19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTVfX2JvdHRvbS1sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3R0b206IDMuMzEyNXJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuXG4uZmxvLWJsb2NrLWltYWdlLWxpbmtzLTYge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNl9fbGluay1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxOC41NjI1cmVtO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTYge1xuICAgICAgcGFkZGluZzogMCA2LjM3NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy02X19pbWFnZS1saW5rIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpOyB9XG4gICAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNl9faW1hZ2UtbGluazpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMi44MTI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMi44MTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTZfX3RleHQtd3JhcCB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDIuNXJlbSAxLjg3NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy02X19saW5rLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC40Mzc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTZfX2xpbmstc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTYge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy02X19pbWFnZS1saW5rIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy02X19pbWFnZS1saW5rOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuODEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy02X190ZXh0LXdyYXAge1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuMjVyZW0gMS44NzVyZW0gMS4yNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy02X19saW5rLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNl9fbGluay1zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWltYWdlLWxpbmtzLTdfX2ltYWdlLWxpbmstLXRleHQtYXJlYSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDI1cmVtOyB9XG5cbi5mbG8tYmxvY2staW1hZ2UtbGlua3MtN19fYnV0dG9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgcGFkZGluZzogMC42ODc1cmVtIDEuODc1cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy03X19pbWFnZS1saW5rIHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtN19faW1hZ2UtbGluay0tdGV4dC1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogMy43NXJlbSA3LjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtN19fcHJldGl0bGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzLjc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy03X190aXRsZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtN19fYnV0dG9uLXdyYXAge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAzLjc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtN19faW1hZ2UtbGluay0tdGV4dC1hcmVhIHtcbiAgICBwYWRkaW5nOiAyLjE4NzVyZW0gMy43NXJlbTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTdfX3ByZXRpdGxlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtN19fc3VidGl0bGU6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWludHJvLWJsb2NrX19pbWFnZS13cmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLWJsb2NrLWludHJvLWJsb2NrIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2ltYWdlLXdyYXAge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL25vLWltYWdlLmpwZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1zbWFsbCk7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2sgLmZsby1ibG9jay1pbnRyby1ibG9ja19faW1hZ2Utd3JhcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLW1lZGl1bSk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2sgLmZsby1ibG9jay1pbnRyby1ibG9ja19faW1hZ2Utd3JhcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLWxhcmdlKTsgfSB9XG5cbi5mbG8tYmxvY2staW50cm8tYmxvY2tfX2ltYWdlLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmZsby1ibG9jay1pbnRyby1ibG9ja19faGVhZGVyLWFyZWEge1xuICB3aWR0aDogMTAwJTsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrX19oZWFkZXItYXJlYSBoZWFkZXI6bm90KC5pcy1zdGlja3kpIC5mbG8taGVhZGVyIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cblxuLmZsby1ibG9jay1pbnRyby1ibG9ja19fdGV4dC1hcmVhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZmxvLWJsb2NrLWludHJvLWJsb2NrX190ZXh0ID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZmxvLWJsb2NrLWludHJvLWJsb2NrX19hY3Rpb25zLXdyYXAge1xuICBmbGV4LXNocmluazogMDsgfVxuXG4uZmxvLWJsb2NrLWludHJvLWJsb2NrX19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1pbi13aWR0aDogMTEuMjVyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5mbG8tYmxvY2staW50cm8tYmxvY2tfX2ljb24ge1xuICBmb250LXNpemU6IDdweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2hlYWRlci1hcmVhIGhlYWRlciAuZmxvLWhlYWRlciB7XG4gICAgcGFkZGluZzogMy43NXJlbSA1cmVtOyB9XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX3RleHQtYXJlYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgNi4yNXJlbSA2LjI1cmVtIDYuMjVyZW07IH1cbiAgLmZsby1ibG9jay1pbnRyby1ibG9ja19fdGl0bGUge1xuICAgIG1heC13aWR0aDogMzAuOTM3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDI4LjEyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjQzNzVyZW07IH1cbiAgLmZsby1ibG9jay1pbnRyby1ibG9jay5mbG8tYmxvY2staW50cm8tYmxvY2stLXR5cGUtYSAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190ZXh0LWFyZWEge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1hIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX3RleHQtYXJlYS5mbG8tYmxvY2staW50cm8tYmxvY2tfX2J1dHRvbnMtcG9zaXRpb24tLWJlbG93IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAgIC5mbG8tYmxvY2staW50cm8tYmxvY2suZmxvLWJsb2NrLWludHJvLWJsb2NrLS10eXBlLWEgLmZsby1ibG9jay1pbnRyby1ibG9ja19fdGV4dC1hcmVhLmZsby1ibG9jay1pbnRyby1ibG9ja19fYnV0dG9ucy1wb3NpdGlvbi0tYmVsb3cgLmZsby1ibG9jay1pbnRyby1ibG9ja19fYWN0aW9ucy13cmFwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtOyB9XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2suZmxvLWJsb2NrLWludHJvLWJsb2NrLS10eXBlLWEgLmZsby1ibG9jay1pbnRyby1ibG9ja19fYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogMS44NzVyZW07IH1cbiAgLmZsby1ibG9jay1pbnRyby1ibG9jay5mbG8tYmxvY2staW50cm8tYmxvY2stLXR5cGUtYiAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190ZXh0LWFyZWEge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1iIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2FjdGlvbnMtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH1cbiAgLmZsby1ibG9jay1pbnRyby1ibG9jay5mbG8tYmxvY2staW50cm8tYmxvY2stLXR5cGUtYyAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190ZXh0LWFyZWEge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1jIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2FjdGlvbnMtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDYuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1jIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2FjdGlvbnMtd3JhcCAuZmxvLWJsb2NrLWludHJvLWJsb2NrX19idXR0b24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDIuODEyNXJlbSAyLjgxMjVyZW0gMy4xMjVyZW0gMi44MTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1jIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2FjdGlvbnMtd3JhcCAuZmxvLWJsb2NrLWludHJvLWJsb2NrX19idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XG4gICAgICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1jIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2FjdGlvbnMtd3JhcCAuZmxvLWJsb2NrLWludHJvLWJsb2NrX19idXR0b24gLmZsby1ibG9jay1pbnRyby1ibG9ja19fYnV0dG9uLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1jIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2FjdGlvbnMtd3JhcCAuZmxvLWJsb2NrLWludHJvLWJsb2NrX19idXR0b24gLmZsby1ibG9jay1pbnRyby1ibG9ja19fYnV0dG9uLXRpdGxlOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW50cm8tYmxvY2suZmxvLWJsb2NrLWludHJvLWJsb2NrLS10eXBlLWMgLmZsby1ibG9jay1pbnRyby1ibG9ja19fYWN0aW9ucy13cmFwIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2J1dHRvbiAuZmxvLWJsb2NrLWludHJvLWJsb2NrX19pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2hlYWRlci1hcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2hlYWRlci1hcmVhIGhlYWRlcjpub3QoLmlzLXN0aWNreSkgLmZsby1oZWFkZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190ZXh0LWFyZWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMi4wMzEyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLmZsby1ibG9jay1pbnRyby1ibG9ja19fYWN0aW9ucy13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2J1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2suZmxvLWJsb2NrLWludHJvLWJsb2NrLS10eXBlLWMgLmZsby1ibG9jay1pbnRyby1ibG9ja19fYnV0dG9uLXByZXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1jIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2suZmxvLWJsb2NrLWludHJvLWJsb2NrLS10eXBlLWMgLmZsby1ibG9jay1pbnRyby1ibG9ja19fYnV0dG9uLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1jIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2ljb24ge1xuICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190ZXh0LWFyZWEge1xuICAgIHBhZGRpbmc6IDMuMzEyNXJlbSA2LjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1pdGVtLWNvbnRlbnRfX2NvbnRlbnQtYXJlYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmZsby1ibG9jay1pdGVtLWNvbnRlbnRfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwJTtcbiAgdG9wOiAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTMwJSwgLTM1JSk7IH1cblxuLmZsby1ibG9jay1pdGVtLWNvbnRlbnRfX2JhY2stbGluayB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uZmxvLWJsb2NrLWl0ZW0tY29udGVudF9fc2hhcmUtbGlua3Mge1xuICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2staXRlbS1jb250ZW50X19jb250ZW50LWFyZWEge1xuICAgIG1heC13aWR0aDogOTIlOyB9XG4gIC5mbG8tYmxvY2staXRlbS1jb250ZW50X19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgb3BhY2l0eTogMC4yOyB9XG4gIC5mbG8tYmxvY2staXRlbS1jb250ZW50X19zaWRlLWFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMjguNDM3NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC5mbG8tYmxvY2staXRlbS1jb250ZW50X19iYWNrLWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay1pdGVtLWNvbnRlbnRfX3NoYXJlLWxpbmtzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5mbG8tYmxvY2staXRlbS1jb250ZW50X19zaGFyZS1saW5rcyBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmZsby1ibG9jay1pdGVtLWNvbnRlbnRfX3NoYXJlLWxpbmtzIGE6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMi41NjI1cmVtO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgICBtYXJnaW46IDAuNjg3NXJlbSAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2staXRlbS1jb250ZW50X19jb250ZW50LWFyZWEge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay1pdGVtLWNvbnRlbnRfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mbG8tYmxvY2staXRlbS1jb250ZW50X19zaWRlLWFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay1pdGVtLWNvbnRlbnRfX2JhY2stbGluayB7XG4gICAgbWFyZ2luOiAwIDAuNjI1cmVtOyB9XG4gIC5mbG8tYmxvY2staXRlbS1jb250ZW50X19zaGFyZS1saW5rcyBhLFxuICAuZmxvLWJsb2NrLWl0ZW0tY29udGVudF9fc2hhcmUtbGlua3Mgc3BhbiB7XG4gICAgbWFyZ2luOiAwIDAuNjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb25fX2xpbmsge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uX19saW5rLS1wcmV2IGkge1xuICAgIG1hcmdpbi1yaWdodDogMS42ODc1cmVtOyB9XG4gIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uX19saW5rLS1uZXh0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb25fX2xpbmstLW5leHQgaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMS42ODc1cmVtOyB9XG5cbi5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uX190aHVtYiB7XG4gIHdpZHRoOiAxMnJlbTtcbiAgaGVpZ2h0OiAxMnJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbl9fdGV4dC1hcmVhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEuMjVyZW0gNC42ODc1cmVtOyB9XG5cbi5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cblxuLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb25fX2JvdHRvbS1sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDEuNzVyZW07IH1cbiAgLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb25fX2JvdHRvbS1sYWJlbCBpIHtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uX19saW5rIHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uX19saW5rLS1wcmV2IHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbl9fbGluayB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbl9fdGh1bWIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE4Ljc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb25fX3RleHQtYXJlYSB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbl9fYm90dG9tLWxhYmVsIGkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5mbG8tYmxvY2staXRlbS10aXRsZS0yX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtOyB9XG5cbi5mbG8tYmxvY2staXRlbS10aXRsZS0yX19zaGFyZS1saW5rcyBhIHtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cbiAgLmZsby1ibG9jay1pdGVtLXRpdGxlLTJfX3NoYXJlLWxpbmtzIGE6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjM3NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2staXRlbS10aXRsZS0yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZS0yX19sZWZ0LXNpZGUge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZS0yX19yaWdodC1zaWRlIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2staXRlbS10aXRsZS0yIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMl9fbGVmdC1zaWRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLmZsby1ibG9jay1pdGVtLXRpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2staXRlbS10aXRsZV9faGVhZGVyLWFyZWEge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlX19oZWFkZXItYXJlYSAuZmxvLWhlYWRlci1tb2JpbGUubm90LXN0aWNreSxcbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX2hlYWRlci1hcmVhIC5mbG8taGVhZGVyLmlzLW5vdC1zdGlja3kge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX2ZlYXR1cmVkLWltYWdlLS1pbWctbGFuZHNjYXBlIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTguNjI1cmVtKTsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZV9fZmVhdHVyZWQtaW1hZ2UtLWltZy1wb3J0cmFpdCB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDgwdmg7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX2ZlYXR1cmVkLWltYWdlLS1iZ2kge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlX19mZWF0dXJlZC1pbWFnZS0tYmVsb3cge1xuICAgICAgb3JkZXI6IDE7IH1cbiAgLmZsby1ibG9jay1pdGVtLXRpdGxlX190ZXh0LWFyZWEtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1ibG9jay1pdGVtLXRpdGxlX19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4xODc1cmVtOyB9XG4gIC5mbG8tYmxvY2staXRlbS10aXRsZV9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMTI1cmVtOyB9XG4gIC5mbG8tYmxvY2staXRlbS10aXRsZV9fZGVjb3JhdGl2ZS1hcmVhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIG9wYWNpdHk6IDAuMDY7XG4gICAgbWluLXdpZHRoOiAxLjFlbTsgfVxuICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDkuMTg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlLS1mZWF0dXJlZC1pbWFnZS1wb3NpdGlvbi1iZyAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX3RleHQtYXJlYS13cmFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMC4yNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4LjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlX19mZWF0dXJlZC1pbWFnZS0tYWJvdmUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlX19mZWF0dXJlZC1pbWFnZS0tYmVsb3cge1xuICAgICAgbWFyZ2luLXRvcDogNi41cmVtOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlX190ZXh0LWFyZWEtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogOS4zMTI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogOS4zMTI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlX190ZXh0LWFyZWEge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZSBoZWFkZXIge1xuICAgICAgei1pbmRleDogMztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZSAuZmxvLWhlYWRlcl9fbG9nby0taXMtbGlnaHQgLmZsby1oZWFkZXItbW9iaWxlLm5vdC1zdGlja3kgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlIC5mbG8taGVhZGVyX19sb2dvLS1pcy1saWdodCAuZmxvLWhlYWRlci1tb2JpbGUubm90LXN0aWNreSAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28taW1hZ2UtLWRlZmF1bHQge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZV9fZmVhdHVyZWQtaW1hZ2UtLWJlbG93IHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX2ZlYXR1cmVkLWltYWdlLS1pbWctbGFuZHNjYXBlLCAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX2ZlYXR1cmVkLWltYWdlLS1pbWctcG9ydHJhaXQge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlX190ZXh0LWFyZWEtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgcGFkZGluZzogMy43NXJlbSAyLjAzMTI1cmVtIDAgMi4wMzEyNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZV9fdGV4dC1hcmVhIHtcbiAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgIHdpZHRoOiAzLjEyNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy0xX19mZWF0dXJlZC1pbWFnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDIuNDM3NXJlbTsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctMV9fdGV4dC1hcmVhIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctMV9fbGVmdC1zaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzLjMxMjVyZW07XG4gIGZsZXgtc2hyaW5rOiAwOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy0xX19sZWZ0LXNpZGUtLWRlY29yYXRpb24tb24ge1xuICAgIG1hcmdpbi1yaWdodDogMy4xMjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTFfX2xlZnQtc2lkZS0tZGVjb3JhdGlvbi1vZmYge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy0xX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTFfX3JpZ2h0LXNpZGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctMV9fdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy0xX19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTFfX2V4Y2VycHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMy42ODc1cmVtOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy0xX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuNDM3NXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stbGlzdGluZy0xIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy0xX19ncmlkLXNpemVyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy0xX19pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gNS42ODc1cmVtKTtcbiAgICAgIG1hcmdpbjogMCAyLjg0Mzc1cmVtIDkuMjVyZW0gMi44NDM3NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1saXN0aW5nLTFfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctMV9fbGVmdC1zaWRlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMy4xMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctMV9fcmlnaHQtc2lkZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stbGlzdGluZy0xX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy0xX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuMTI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTJfX2l0ZW0tLWlzLW1hc29ucnkgaW1nIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTJfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDE2LjkzNzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fZmVhdHVyZWQtaW1hZ2UtLTItY29sdW1ucyB7XG4gICAgICBoZWlnaHQ6IDIzLjc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTJfX2ZlYXR1cmVkLWltYWdlLS00LWNvbHVtbnMge1xuICAgICAgaGVpZ2h0OiAxMy4xMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fZmVhdHVyZWQtaW1hZ2UtLWJnaSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTJfX292ZXJsYXkge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTJfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgIG1heC13aWR0aDogNi4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctMi0tY29sdW1ucy00IC5mbG8tYmxvY2stbGlzdGluZy0yX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDIuNXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctMi0taXMtbWFzb25yeSAuZmxvLWJsb2NrLWxpc3RpbmctMl9fZmVhdHVyZWQtaW1hZ2Uge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy0yLS1pcy1tYXNvbnJ5IC5mbG8tYmxvY2stbGlzdGluZy0yX19mZWF0dXJlZC1pbWFnZS0tMi1jb2x1bW5zIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy0yLS1pcy1tYXNvbnJ5IC5mbG8tYmxvY2stbGlzdGluZy0yX19mZWF0dXJlZC1pbWFnZS0tNC1jb2x1bW5zIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTJfX2l0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWJsb2NrLWxpc3RpbmctMl9faXRlbTpob3ZlciAuZmxvLWJsb2NrLWxpc3RpbmctMl9fb3ZlcmxheSB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fb3ZlcmxheSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi4xODc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTJfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTJfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stbGlzdGluZy0yX19pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTJfX292ZXJsYXkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDIuNXJlbSAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTJfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy0yX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTJfX2xpbmsge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctM19fZmVhdHVyZWQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTNfX2ZlYXR1cmVkLWltYWdlLS1uby1tYXNvbnJ5LTMtY29sdW1ucyB7XG4gICAgaGVpZ2h0OiAxMi41cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy0zX19mZWF0dXJlZC1pbWFnZS0tbm8tbWFzb25yeS0yLWNvbHVtbnMge1xuICAgIGhlaWdodDogMTlyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTNfX2ZlYXR1cmVkLWltYWdlLS1uby1tYXNvbnJ5LTQtY29sdW1ucyB7XG4gICAgaGVpZ2h0OiA4LjEyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctM19fZmVhdHVyZWQtaW1hZ2UtLWJnaSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTNfX3RpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTNfX2V4Y2VycHQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctM19fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stbGlzdGluZy0zIHtcbiAgICBtYXJnaW46IDAgNy42MjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctM19fdGV4dC1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctM19fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTNfX2V4Y2VycHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi4wNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTNfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1saXN0aW5nLTNfX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctM19fdGV4dC1hcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMi41cmVtIDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTNfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctM19fZXhjZXJwdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy0zX19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTNfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTRfX2l0ZW0tLWJpZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy00X19mZWF0dXJlZC1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy00X19iaWctaXRlbS1vdmVybGF5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTRfX2JpZy1pdGVtLXRpdGxlLWFyZWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNF9fYmlnLWl0ZW0tZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC03MCUsIC00MCUpOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy00X19iaWctaXRlbS10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy00X19iaWctaXRlbS10YWdzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNF9fYmlnLWl0ZW0tbGluayB7XG4gIHBhZGRpbmc6IDAuNTkzNzVyZW0gMS41cmVtIDAuNTkzNzVyZW0gMS41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTRfX2JvdHRvbS13cmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy00X19zbWFsbC1pdGVtLW92ZXJsYXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxLjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX3RvcC13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctNF9faXRlbS0tYmlnOmhvdmVyIC5mbG8tYmxvY2stbGlzdGluZy00X19iaWctaXRlbS1vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy00X19iaWctaXRlbS1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzLjE4NzVyZW07XG4gICAgbGVmdDogMy4xODc1cmVtO1xuICAgIHJpZ2h0OiAzLjE4NzVyZW07XG4gICAgYm90dG9tOiAzLjE4NzVyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctNF9fYmlnLWl0ZW0tZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNS4zMTI1cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy00X19iaWctaXRlbS10aXRsZS1hcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1LjYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctNF9fYmlnLWl0ZW0tdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX3RvcC13cmFwLXJpZ2h0LXNpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTRfX3RvcC13cmFwLXJpZ2h0LXNpZGUgLmZsby1ibG9jay1saXN0aW5nLTRfX2l0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWJsb2NrLWxpc3RpbmctNF9fdG9wLXdyYXAtcmlnaHQtc2lkZSAuZmxvLWJsb2NrLWxpc3RpbmctNF9faXRlbS0tc21hbGw6bnRoLWNoaWxkKDMpLCAuZmxvLWJsb2NrLWxpc3RpbmctNF9fdG9wLXdyYXAtcmlnaHQtc2lkZSAuZmxvLWJsb2NrLWxpc3RpbmctNF9faXRlbS0tc21hbGw6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgICAuZmxvLWJsb2NrLWxpc3RpbmctNF9fdG9wLXdyYXAtcmlnaHQtc2lkZSAuZmxvLWJsb2NrLWxpc3RpbmctNF9faXRlbS0tc21hbGw6bnRoLWNoaWxkKDIpLCAuZmxvLWJsb2NrLWxpc3RpbmctNF9fdG9wLXdyYXAtcmlnaHQtc2lkZSAuZmxvLWJsb2NrLWxpc3RpbmctNF9faXRlbS0tc21hbGw6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX2l0ZW0tLXNtYWxsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctNF9faXRlbS0tc21hbGw6aG92ZXIgLmZsby1ibG9jay1saXN0aW5nLTRfX3NtYWxsLWl0ZW0tb3ZlcmxheSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTRfX2l0ZW0tLXNtYWxsOm50aC1jaGlsZCg0bikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX3NtYWxsLWl0ZW0tb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMS41cmVtO1xuICAgIGxlZnQ6IDEuNXJlbTtcbiAgICByaWdodDogMS41cmVtO1xuICAgIGJvdHRvbTogMS41cmVtO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX3RvcC13cmFwIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy00X190b3Atd3JhcC1sZWZ0LXNpZGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy00X19iaWctaXRlbS1vdmVybGF5IHtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAzLjc1cmVtO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctNF9fYmlnLWl0ZW0tZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy00X19iaWctaXRlbS10aXRsZS1hcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjgxMjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX2JpZy1pdGVtLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX2JpZy1pdGVtLXRhZ3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX3RvcC13cmFwLXJpZ2h0LXNpZGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTRfX3RvcC13cmFwLXJpZ2h0LXNpZGUgLmZsby1ibG9jay1saXN0aW5nLTRfX2l0ZW0tLXNtYWxsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy00X19pdGVtLS1zbWFsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX3NtYWxsLWl0ZW0tb3ZlcmxheSB7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMS4yNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy01X19pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTVfX3RleHQtYXJlYSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNV9faXRlbS1kZWNvcmF0aXZlLWltYWdlIHtcbiAgbWF4LWhlaWdodDogNC4zNzVyZW07XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy01X19pdGVtLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuNTYyNXJlbSAwLjU2MjVyZW0gMS41NjI1cmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0tbGluay0tdW5kZXItZmVhdHVyZWQtaW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNV9faXRlbS1mZWF0dXJlZC1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNV9fYnV0dG9uLXdyYXAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTVfX3NoYXJlLWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDMuNzVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTVfX3NoYXJlLWxpbmtzLS1kZWxpbWl0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMi41NjI1cmVtO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTVfX3NoYXJlLWxpbmtzIC5mbG8tc2hhcmUtbGluayB7XG4gICAgcGFkZGluZzogMCAxLjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1saXN0aW5nLTUge1xuICAgIHBhZGRpbmc6IDAgMTRyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctNV9faXRlbSB7XG4gICAgICBwYWRkaW5nOiAzLjc1cmVtIDQuNjg3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy01X190ZXh0LWFyZWEge1xuICAgICAgcGFkZGluZzogMCA2LjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0tZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy01X19pdGVtLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0tZGF0ZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0tbGluayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy01X19pdGVtLWZlYXR1cmVkLWltYWdlIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stbGlzdGluZy01IHtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAwOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0ge1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMi4xODc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0tZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0tdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctNV9faXRlbS1kYXRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctNV9faXRlbS1saW5rIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy02X19pdGVtIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNl9fdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy02X19leGNlcnB0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy02X19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgcGFkZGluZzogMC43NXJlbSAxLjU2MjVyZW0gMC41NjI1cmVtIDEuNTYyNXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC41cywgYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy02X19mZWF0dXJlZC1pbWFnZSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stbGlzdGluZy02IHtcbiAgICBwYWRkaW5nOiAwIDQuNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy02X19pdGVtIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1ibG9jay1saXN0aW5nLTZfX2l0ZW06aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTZfX3RleHQtYXJlYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDYuMjVyZW0gNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy02X19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuMzc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuMzEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy02X19leGNlcnB0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctNl9fZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWxpc3RpbmctNl9faXRlbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctNl9fdGV4dC1hcmVhIHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbSAxLjU2MjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy02X19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctNl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy02X19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy02X19leGNlcnB0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICBoZWlnaHQ6IDE4Ljc1cmVtOyB9IH1cblxuLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24tMiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24tMl9fYnV0dG9uLXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24tMl9fYnV0dG9uLXdyYXA6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWhvdmVyLXRleHQtY29sb3IpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXItYmFja2dyb3VuZC1jb2xvcik7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24tMl9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gNHJlbTsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX3BhZ2UtbnVtYmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtO1xuICAgIGhlaWdodDogMS40Mzc1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX3BhZ2UtbnVtYmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbl9fcGFnZS1udW1iZXI6aG92ZXI6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uX19wYWdlLW51bWJlci0tYWN0aXZlOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbl9fcGFnZS1udW1iZXI6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX3BhZ2UtZG90cyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICAuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbl9fbmF2aWdhdGlvbi0tcHJldmlvdXMgaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4zNzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uX19uYXZpZ2F0aW9uLS1uZXh0IGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMS4zNzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uX19zcGFjZXIge1xuICAgICAgICBmbGV4OiAwIDEgMTAlOyB9XG4gICAgICAuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbl9fcGFnZS1saW5rcyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uX19uYXZpZ2F0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbl9fbmF2aWdhdGlvbi0tcHJldmlvdXMge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAgICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX25hdmlnYXRpb24tLXByZXZpb3VzIGkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjY4NzVyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX25hdmlnYXRpb24tLW5leHQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG4gICAgICAgICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX25hdmlnYXRpb24tLW5leHQgaSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC42ODc1cmVtOyB9IH1cblxuLmZsby1ibG9jay1udW1lcmljLWRldGFpbHNfX251bWVyaWMtZGV0YWlsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG5cbi5mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzX19udW1lcmljLWRldGFpbC1udW1iZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1udW1lcmljLWRldGFpbHNfX251bWVyaWMtZGV0YWlsLW51bWJlcjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLW51bWVyaWMtZGV0YWlsc19fbnVtZXJpYy1kZXRhaWwtbnVtYmVyLmZsby1ibG9jay1udW1lcmljLWRldGFpbHNfX3BsdXMtd2lsbC1zaG93OmJlZm9yZSB7XG4gICAgY29udGVudDogXCIrXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1udW1lcmljLWRldGFpbHNfX251bWVyaWMtZGV0YWlsLW51bWJlci5mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzX19wbHVzLXdpbGwtc2hvdy5mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzX19wbHVzLXNob3duOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMDsgfVxuICAgIC5mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzX19udW1lcmljLWRldGFpbCB7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS41NjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLW51bWVyaWMtZGV0YWlsc19fbnVtZXJpYy1kZXRhaWw6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzX19udW1lcmljLWRldGFpbCB7XG4gICAgcGFkZGluZzogMy4xMjVyZW0gMDtcbiAgICBtYXJnaW46IDAgMy4xMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLW51bWVyaWMtZGV0YWlsc19fbnVtZXJpYy1kZXRhaWw6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7IH0gfVxuXG4uZmxvLWJsb2NrLXByZXNzX190aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLXByZXNzX19wcmVzcy1pbWFnZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuXG4uZmxvLWJsb2NrLXByZXNzX19zbGlkZXIgLmZsby1ibG9jay1wcmVzc19fcHJlc3MtaW1hZ2Uge1xuICBtYXJnaW46IDAuOTM3NXJlbSBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLmZsby1ibG9jay1wcmVzc19fc2xpZGVyIC5zbGljay1zbGlkZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZsb2F0OiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuLmZsby1ibG9jay1wcmVzc19fc2xpZGVyIC5zbGljay1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mbG8tYmxvY2stcHJlc3NfX3NsaWRlciAuZmxvLWJsb2NrLXByZXNzX19hcnJvdyB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDA7IH1cblxuLmZsby1ibG9jay1wcmVzc19fc2xpZGVyIC5mbG8tYmxvY2stcHJlc3NfX2Fycm93LS1wcmV2IHtcbiAgbGVmdDogMnJlbTsgfVxuXG4uZmxvLWJsb2NrLXByZXNzX19zbGlkZXIgLmZsby1ibG9jay1wcmVzc19fYXJyb3ctLW5leHQge1xuICByaWdodDogMnJlbTsgfVxuXG4uZmxvLWJsb2NrLXByZXNzX19wcmVzcy1pbWFnZXMtd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLXByZXNzX19wcmVzcy1pbWFnZXMtd3JhcCxcbi5mbG8tYmxvY2stcHJlc3NfX3NsaWRlcyA+IGRpdiB7XG4gIHBhZGRpbmctdG9wOiAzLjMxMjVyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1wcmVzc19fc2xpZGVyIC5mbG8tYmxvY2stcHJlc3NfX2Fycm93IHtcbiAgICB0b3A6IDUwJTsgfVxuICAuZmxvLWJsb2NrLXByZXNzX19wcmVzcy1pbWFnZXMtd3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuICAuZmxvLWJsb2NrLXByZXNzX19wcmVzcy1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA4LjQzNzVyZW07XG4gICAgbWFyZ2luOiAwLjkzNzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXByZXNzX19wcmVzcy1pbWFnZTpudGgtY2hpbGQoNW4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC5mbG8tYmxvY2stcHJlc3NfX3NsaWRlciAuZmxvLWJsb2NrLXByZXNzX19hcnJvdy0tcHJldiB7XG4gICAgbGVmdDogLTIuNzVyZW07IH1cbiAgLmZsby1ibG9jay1wcmVzc19fc2xpZGVyIC5mbG8tYmxvY2stcHJlc3NfX2Fycm93LS1uZXh0IHtcbiAgICByaWdodDogLTIuNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1wcmVzc19fc2xpZGVyX19hcnJvdyB7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5mbG8tYmxvY2stcHJlc3NfX3ByZXNzLWltYWdlcy13cmFwIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5mbG8tYmxvY2stcHJlc3NfX3ByZXNzLWltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAuNjI1cmVtIGF1dG87IH1cbiAgICAuZmxvLWJsb2NrLXByZXNzX19wcmVzcy1pbWFnZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTEge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX2ltYWdlLXdyYXAge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHdpZHRoOiA1OC40Mzc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZS0xX19wYWNrYWdlLW51bWJlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX3RleHQtYXJlYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44MTI1cmVtOyB9XG4gIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjg3NXJlbTsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZS0xX19zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX2ltYWdlLXdyYXAtLXRleHQtYXJlYS1wb3NpdGlvbi1sZWZ0IHtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2UtMV9faW1hZ2Utd3JhcC0tdGV4dC1hcmVhLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2UtMV9fcGFja2FnZS1udW1iZXIge1xuICAgICAgYm90dG9tOiA0LjMxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX3BhY2thZ2UtbnVtYmVyLS10ZXh0LWFyZWEtcG9zaXRpb24tbGVmdCB7XG4gICAgICAgIHJpZ2h0OiA0LjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX3BhY2thZ2UtbnVtYmVyLS10ZXh0LWFyZWEtcG9zaXRpb24tcmlnaHQge1xuICAgICAgICBsZWZ0OiA0LjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZS0xX190ZXh0LWFyZWEge1xuICAgICAgbWFyZ2luOiA0LjVyZW0gMDtcbiAgICAgIHBhZGRpbmc6IDRyZW0gNS42MjVyZW0gNC44NzVyZW0gNS42MjVyZW07XG4gICAgICB3aWR0aDogMjguODEyNXJlbTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX3RleHQtYXJlYS0tdGV4dC1hcmVhLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTQuMzc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZS0xX190ZXh0LWFyZWEtLXRleHQtYXJlYS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE0LjM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTEge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2UtMV9faW1hZ2Utd3JhcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDE4Ljc1cmVtOyB9XG4gICAgICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX2ltYWdlLXdyYXAtLXRleHQtYXJlYS1wb3NpdGlvbi1sZWZ0IHtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gICAgICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX2ltYWdlLXdyYXAtLXRleHQtYXJlYS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2UtMV9fcGFja2FnZS1udW1iZXIge1xuICAgICAgICBib3R0b206IDEuODc1cmVtO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2UtMV9fdGV4dC1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbSAxLjg3NXJlbTtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4gICAgICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX3RleHQtYXJlYS0tdGV4dC1hcmVhLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICAgIG9yZGVyOiAxOyB9XG4gICAgICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX3RleHQtYXJlYS0tdGV4dC1hcmVhLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgICBvcmRlcjogMjsgfSB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX190aXRsZS1hcmVhIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlcy1hcmVhIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZSB7XG4gIGhlaWdodDogMjkuNjg3NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9uby1pbWFnZS5qcGcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctc21hbGwpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMiAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLW1lZGl1bSk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbGFyZ2UpOyB9IH1cblxuLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2UtY29udGVudCB7XG4gIG1hcmdpbjogMS4xODc1cmVtO1xuICBwYWRkaW5nOiAyLjVyZW0gMi40Mzc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2UtbnVtYmVyLWFuZC1kZWNvcmF0aXZlLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNS43NXJlbTtcbiAgcGFkZGluZzogMS44NzVyZW07XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2UtbnVtYmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyOyB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19kZWNvcmF0aXZlLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgei1pbmRleDogMTsgfVxuXG4uZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNjg3NXJlbTsgfVxuXG4uZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZS1kZXNjcmlwdGlvbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMTEuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlLWxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZS1ibG9jay1idXR0b24td3JhcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZS1ibG9jay1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMy4xMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3RpdGxlLWFyZWEge1xuICAgIG1hcmdpbjogMy44NzVyZW0gMDsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZXMtYXJlYSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZXMtYXJlYS0tMy1wYWNrYWdlcyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2Uge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMS4zNzVyZW0pOyB9XG4gICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2U6bm90KDpob3ZlcikgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2UtY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlOm5vdCg6aG92ZXIpIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlLWRlc2NyaXB0aW9uIHtcbiAgICAgIGhlaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2U6bm90KDpob3ZlcikgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2UtbnVtYmVyLWFuZC1kZWNvcmF0aXZlLWljb24ge1xuICAgICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2U6bm90KDpob3ZlcikgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2UtdGl0bGUge1xuICAgICAgY29sb3I6IHZhcigtLWVsZW1lbnRzLW9uLWltYWdlLWNvbG9yKTsgfVxuICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlOm5vdCg6aG92ZXIpIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlLXByaWNlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1lbGVtZW50cy1vbi1pbWFnZS1jb2xvcik7IH1cbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2UtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgY29sb3I6IHZhcigtLWVsZW1lbnRzLW9uLWhvdmVyLWNvbG9yKTsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZS1udW1iZXItYW5kLWRlY29yYXRpdmUtaWNvbiB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZS1kZXNjcmlwdGlvbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlLWJsb2NrLWJ1dHRvbi13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAzLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3RpdGxlLWFyZWEge1xuICAgIG1hcmdpbjogMS44NzVyZW0gMDsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZXMtYXJlYSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZSB7XG4gICAgaGVpZ2h0OiAzMS4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07IH1cbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2UtYmxvY2stYnV0dG9uLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19fdGl0bGUtYXJlYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXNfX3RpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19fdGl0bGUtZGVjb3JhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgZm9udC1zaXplOiAwLjU2MjVyZW07IH1cblxuLmZsby1ibG9jay1yZWxhdGVkLWl0ZW1zX19pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsby1ibG9jay1yZWxhdGVkLWl0ZW1zX19pdGVtLWZlYXR1cmVkLWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTguNTYyNXJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXNfX2l0ZW0tdGV4dC1hcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDIuMzEyNXJlbSAzLjEyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19faXRlbS10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4uZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXNfX2l0ZW0tY2F0ZWdvcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19fdGl0bGUtYXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNC45Mzc1cmVtOyB9XG4gIC5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19fdGl0bGUtZGVjb3JhdGlvbi0tbGVmdCB7XG4gICAgcmlnaHQ6IGNhbGMoMTAwJSArIDEuOTM3NXJlbSk7IH1cbiAgLmZsby1ibG9jay1yZWxhdGVkLWl0ZW1zX190aXRsZS1kZWNvcmF0aW9uLS1yaWdodCB7XG4gICAgbGVmdDogY2FsYygxMDAlICsgMS45Mzc1cmVtKTsgfVxuICAuZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXNfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19faXRlbSB7XG4gICAgd2lkdGg6IDE4LjU2MjVyZW07XG4gICAgbWFyZ2luOiAwIDEuNTkzNzVyZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19faXRlbTpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19fdGl0bGUtYXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLmZsby1ibG9jay1yZWxhdGVkLWl0ZW1zX190aXRsZS1kZWNvcmF0aW9uLS1sZWZ0IHtcbiAgICByaWdodDogY2FsYygxMDAlICsgMC42MjVyZW0pOyB9XG4gIC5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19fdGl0bGUtZGVjb3JhdGlvbi0tcmlnaHQge1xuICAgIGxlZnQ6IGNhbGMoMTAwJSArIDAuNjI1cmVtKTsgfVxuICAuZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXNfX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLXNoYXJlLWFuZC10YWdzX19zaGFyZS1saW5rcyBhIHtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLXNoYXJlLWFuZC10YWdzIHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbSAxMy44MTI1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuZmxvLWJsb2NrLXNoYXJlLWFuZC10YWdzX19zaGFyZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuZmxvLWJsb2NrLXNoYXJlLWFuZC10YWdzX19zaGFyZS1sYWJlbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQuNjg3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stc2hhcmUtYW5kLXRhZ3NfX3NoYXJlLWxpbmtzIGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjE4NzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXNoYXJlLWFuZC10YWdzX190YWdzIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5mbG8tYmxvY2stc2hhcmUtYW5kLXRhZ3NfX3RhZ3MgYSB7XG4gICAgICBtYXJnaW4tbGVmdDogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1zaGFyZS1hbmQtdGFncyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEuODc1cmVtIDIuMDMxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXNoYXJlLWFuZC10YWdzX19zaGFyZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stc2hhcmUtYW5kLXRhZ3NfX3NoYXJlLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmZsby1ibG9jay1zaGFyZS1hbmQtdGFnc19fc2hhcmUtbGlua3Mge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZmxvLWJsb2NrLXNoYXJlLWFuZC10YWdzX190YWdzIGEge1xuICAgICAgbWFyZ2luOiAwLjkzNzVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLXNsaWRlc2hvdy0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiBTVEFSVDogTElOSyBTVFlMRSAqL1xuICAvKiBFTkQ6IExJTksgU1RZTEUgKi8gfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19zbGlkZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19jb250ZW50LXdyYXAge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9faGVhZGVyLWFyZWEge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIHVzZXItc2VsZWN0OiBpbml0aWFsOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9faGVhZGVyLWFyZWEgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlciB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19taWRkbGUtYXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDVyZW07IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fYXJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgei1pbmRleDogMTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fbG9nbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xvZ28tLWlzLWxpZ2h0IC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xvZ28taW1hZ2UtLWRlZmF1bHQge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xvZ28tLWlzLWxpZ2h0IC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xvZ28taW1hZ2UtLWxpZ2h0IHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fbG9nby1pbWFnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItYXJlYSB7XG4gICAgLyogU1RBUlQ6IEFQUExZIFNIQURPVyBUTyBJTlNUQUdSQU0gSU1BR0VTICovXG4gICAgLyogRU5EOiBBUFBMWSBTSEFET1cgVE8gSU5TVEFHUkFNIElNQUdFUyAqLyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLWFyZWEgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYSxcbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItYXJlYSAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iLFxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1hcmVhIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWMsXG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLWFyZWEgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZCxcbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItYXJlYSAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1hLFxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1hcmVhIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWIsXG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLWFyZWEgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYSxcbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItYXJlYSAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1iIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItYXJlYSAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkX19pbWFnZSxcbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItYXJlYSAuaW1nLWJsb2NrIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggNDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTEgLmZsby1ibG9jayB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMSAuZmxvLWJsb2NrLWRlbGltaXRlci0xX19kZWxpbWl0ZXItbGluZSB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMSAuZmxvLWJsb2NrLWRlbGltaXRlci0xX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMSAuZmxvLWJsb2NrLWRlbGltaXRlci0xX19kZWNvcmF0aXZlLWxldHRlcjpiZWZvcmUsIC5mbG8tYmxvY2stc2xpZGVzaG93LTEgLmZsby1ibG9jay1kZWxpbWl0ZXItMV9fZGVjb3JhdGl2ZS1sZXR0ZXI6YWZ0ZXIge1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xpbmstLXN0eWxlLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xpbmstLXN0eWxlLWxpbmsge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbGVmdC1zaWRlLCAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbWlkZGxlLWFyZWEsIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1yaWdodC1zaWRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbGVmdC1zaWRlLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLWxlZnQtc2lkZS10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQzNzVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1sZWZ0LXNpZGUtbGluayB7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhLXNsaWRlLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjY4NzVyZW07XG4gICAgbWFyZ2luLXRvcDogMC44NzVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1taWRkbGUtYXJlYS1zbGlkZS10aXRsZS1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgb3BhY2l0eTogMC4xICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW0gIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhLXNsaWRlLXN1YnRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjM3NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhLXNsaWRlLWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1taWRkbGUtYXJlYS1zbGlkZS1saW5rLCAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbWlkZGxlLWFyZWEtc2xpZGUtbGluay5oaWRkZW4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhLXNsaWRlLWxpbmsudmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhLXNjcm9sbGRvd24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJvdHRvbTogLTIuMDkzNzVyZW07XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLXJpZ2h0LXNpZGUtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItcmlnaHQtc2lkZS10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQzNzVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1yaWdodC1zaWRlLWxpbmsge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXIge1xuICAgICAgcGFkZGluZzogMCA2LjM3NXJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0LjkzNzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItZGVsaW1pdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNC4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1sZWZ0LXNpZGUsIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1taWRkbGUtYXJlYSwgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLXJpZ2h0LXNpZGUge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbGVmdC1zaWRlIHtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSA0LjEyNXJlbSAwLjkzNzVyZW0gMi4yNXJlbTtcbiAgICAgIHdpZHRoOiAyOSU7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbGVmdC1zaWRlLWxpbmsge1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMsIGNvbG9yIDAuNXMsIG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1sZWZ0LXNpZGUtbGluazpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbWlkZGxlLWFyZWEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDQyJTtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSA0LjEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhOmJlZm9yZSwgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTEuMTI1cmVtO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1taWRkbGUtYXJlYTpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbWlkZGxlLWFyZWE6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTEtLW1pZGRsZS1hcmVhLWhhcy1uby1ib3JkZXJzIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1sZWZ0LXNpZGUsXG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMS0tbWlkZGxlLWFyZWEtaGFzLW5vLWJvcmRlcnMgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLXJpZ2h0LXNpZGUge1xuICAgICAgd2lkdGg6IDIwJTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTEtLW1pZGRsZS1hcmVhLWhhcy1uby1ib3JkZXJzIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1taWRkbGUtYXJlYSB7XG4gICAgICB3aWR0aDogNjAlOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xLS1taWRkbGUtYXJlYS1oYXMtbm8tYm9yZGVycyAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbWlkZGxlLWFyZWE6YmVmb3JlLCAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xLS1taWRkbGUtYXJlYS1oYXMtbm8tYm9yZGVycyAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbWlkZGxlLWFyZWE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhLXNsaWRlLWxpbmsge1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMsIGNvbG9yIDAuNXMsIG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1taWRkbGUtYXJlYS1zbGlkZS1saW5rOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1yaWdodC1zaWRlIHtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAyLjI1cmVtIDAuOTM3NXJlbSA0LjEyNXJlbTtcbiAgICAgIHdpZHRoOiAyOSU7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItcmlnaHQtc2lkZS1saW5rIHtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzLCBjb2xvciAwLjVzLCBvcGFjaXR5IDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItcmlnaHQtc2lkZS1saW5rOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1kZWxpbWl0ZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbGVmdC1zaWRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbWlkZGxlLWFyZWEge1xuICAgICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhLXNjcm9sbGRvd24ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICBib3R0b206IGNhbGMoMTAwJSArIDIuMTg3NXJlbSk7IH0gfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19jb250ZW50LXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19oZWFkZXItYXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19oZWFkZXIge1xuICAgICAgcGFkZGluZzogMS44MTI1cmVtIDYuMzc1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19oZWFkZXItbWVudSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2hlYWRlci1tZW51ID4gbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNS41NjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fYXJyb3ctLW5leHQge1xuICAgICAgcmlnaHQ6IDYuMzc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fYXJyb3ctLXByZXYge1xuICAgICAgbGVmdDogNi4zNzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19sb2dvIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmxleC1zaHJpbms6IDE7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItYXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xLS1tb2JpbGUtZnJlZXplIHtcbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fc2xpZGVzIHtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICB3aWR0aDogMTAwdnc7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19jb250ZW50LXdyYXAge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19jb250ZW50LXdyYXAgLm5vdC1zdGlja3kgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fbG9nby0taXMtbGlnaHQgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1kZWZhdWx0IHtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fY29udGVudC13cmFwIC5ub3Qtc3RpY2t5IC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xvZ28tLWlzLWxpZ2h0IC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9faGVhZGVyLWFyZWEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9faGVhZGVyLWFyZWEgLmZsby1oZWFkZXItbW9iaWxlLm5vdC1zdGlja3kge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2hlYWRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fbWlkZGxlLWFyZWEge1xuICAgICAgbWluLWhlaWdodDogNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Fycm93LS1uZXh0IHtcbiAgICAgIHJpZ2h0OiAyLjAzMTI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fYXJyb3ctLXByZXYge1xuICAgICAgbGVmdDogMi4wMzEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xvZ28ge1xuICAgICAgcGFkZGluZzogMCAyLjAzMTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xvZ28taW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gOC4xMjVyZW0pOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9faGVhZGVyLWFyZWEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IDAgMi4wMzEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYuMjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLXNsaWRlc2hvdy0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX3NsaWRlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2NvbnRlbnQtd3JhcCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2NvbnRlbnQtd3JhcCA+ICoge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fYXJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2hlYWRlci1hcmVhIHtcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICB1c2VyLXNlbGVjdDogaW5pdGlhbDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2hlYWRlci1hcmVhIGhlYWRlcjpub3QoLmlzLXN0aWNreSkgLmZsby1oZWFkZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19sb2dvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbG9nby0taXMtbGlnaHQgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbG9nby0taXMtbGlnaHQgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19sb2dvLWltYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19sb2dvLWltYWdlLS1kZWZhdWx0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2xvZ28taW1hZ2UtLWxpZ2h0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX3Njcm9sbC1kb3duLWFyZWEge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDUuNDM3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fc2Nyb2xsLWRvd24tYXJlYS1sYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogMi43NXJlbTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgICBib3R0b206IDIuNXJlbTtcbiAgICB0b3A6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2NvbnRlbnQtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2Fycm93LS1uZXh0IHtcbiAgICAgIHJpZ2h0OiA2LjM3NXJlbTtcbiAgICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19hcnJvdy0tcHJldiB7XG4gICAgICBsZWZ0OiA2LjM3NXJlbTtcbiAgICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19oZWFkZXItYXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yLS1oZWFkZXItbWVudS1pdGVtcy1oaWRkZW4gLmZsby1oZWFkZXIgLm1lbnUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMi0taGVhZGVyLWxvZ28taGlkZGVuIC5mbG8taGVhZGVyX19sb2dvIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2xvZ28ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX21lbnUtd3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbWVudSA+IGxpIHtcbiAgICAgIG1pbi13aWR0aDogMTAuNjg3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19tZW51ID4gbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMi0tbW9iaWxlLWZyZWV6ZSB7XG4gICAgICBvdmVyZmxvdzogc2Nyb2xsOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbG9nby0taXMtbGlnaHQgLmZsby1oZWFkZXItbW9iaWxlIHtcbiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2xvZ28tLWlzLWxpZ2h0IC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fc2xpZGVzIHtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICB3aWR0aDogMTAwdnc7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19hcnJvdy0tbmV4dCB7XG4gICAgICByaWdodDogMC45Mzc1cmVtO1xuICAgICAgei1pbmRleDogMTAwMDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2Fycm93LS1wcmV2IHtcbiAgICAgIGxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19jb250ZW50LXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9faGVhZGVyLWFyZWEge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19oZWFkZXItYXJlYSAuZmxvLWhlYWRlci1tb2JpbGUubm90LXN0aWNreSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbW9iaWxlLWhlYWRlci1tZW51LWhpZGRlbiAuZmxvLWhlYWRlci1tb2JpbGUgLmZsby1oZWFkZXItbW9iaWxlX19tZW51LXRyaWdnZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX21vYmlsZS1oZWFkZXItbG9nby1oaWRkZW4gLmZsby1oZWFkZXItbW9iaWxlIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nbyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbG9nbyB7XG4gICAgICBwYWRkaW5nOiAwIDIuMDMxMjVyZW07XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiA2LjI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19sb2dvLWltYWdlIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDguMTI1cmVtKTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX21lbnUtd3JhcCB7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX21lbnUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbWVudSA+IGxpID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19tZW51IGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMDsgfVxuICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbWVudSAuY2hpbGRyZW4tdmlzaWJsZSA+IC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX21lbnUtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGUoMGRlZyk7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX21lbnUgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbWVudS1kcm9wZG93bi10b2dnbGUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19tZW51IC5zdWItbWVudSB7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMDtcbiAgICAgICAgdG9wOiAxMDAlOyB9XG4gICAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX21lbnUgLnN1Yi1tZW51OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAgICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19tZW51IC5zdWItbWVudTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogbm9uZTsgfSB9XG5cbi5mbG8tYmxvY2stc2xpZGVzaG93LTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fY29udGVudC13cmFwIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX2NvbnRlbnQtd3JhcCA+ICoge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctM19faGVhZGVyLWFyZWEge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIHVzZXItc2VsZWN0OiBpbml0aWFsO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctM19faGVhZGVyLWFyZWEgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlciB7XG4gICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3RpdGxlLWFyZWEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fdGl0bGUtYXJlYS10aXRsZS13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fdGl0bGUtYXJlYS10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3RpdGxlLWFyZWEtdGl0bGUtZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgIG9wYWNpdHk6IDAuMSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiBjYWxjKDUwJSArIDAuMWVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3RpdGxlLWFyZWEtc3VidGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgdG9wOiBjYWxjKDEwMCUgKyAwLjYyNXJlbSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3RpdGxlLWFyZWEtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB0b3A6IGNhbGMoMTAwJSArIDE5LjM3NXZoKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fdGl0bGUtYXJlYS1idXR0b24sIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3RpdGxlLWFyZWEtYnV0dG9uLmhpZGRlbiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zX190aXRsZS1hcmVhLWJ1dHRvbi52aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zX19hcnJvd3Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fYXJyb3cge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgb3BhY2l0eTogMC4yODsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX2Fycm93OmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fc2Nyb2xsLWRvd24tYXJlYSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogNS40Mzc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zX19zY3JvbGwtZG93bi1hcmVhLWxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAyLjc1cmVtOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTMgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICAgIGJvdHRvbTogMi41cmVtO1xuICAgIHRvcDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fY29udGVudC13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMy0taGVhZGVyLXBvc2l0aW9uLWJvdHRvbSAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zX19jb250ZW50LXdyYXAge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTMtLWhlYWRlci1wb3NpdGlvbi1ib3R0b20gLmZsby1ibG9jay1zbGlkZXNob3ctM19fc2Nyb2xsLWRvd24tYXJlYSB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zLS1oZWFkZXItcG9zaXRpb24tYm90dG9tIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3Njcm9sbC1kb3duLWFyZWEtbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMy0taGVhZGVyLXBvc2l0aW9uLWJvdHRvbSAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zX19oZWFkZXItYXJlYSB7XG4gICAgICBvcmRlcjogMjsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTMtLWhlYWRlci1wb3NpdGlvbi1ib3R0b20gaGVhZGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGkgPiB1bCB7XG4gICAgICBib3R0b206IGNhbGMoMTAwJSArIDEuNXJlbSk7XG4gICAgICB0b3A6IGF1dG87IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTMtLWhlYWRlci1wb3NpdGlvbi1ib3R0b20gaGVhZGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGkgPiB1bDpiZWZvcmUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGJvdHRvbTogYXV0bzsgfVxuICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctMy0taGVhZGVyLXBvc2l0aW9uLWJvdHRvbSBoZWFkZXI6bm90KC5pcy1zdGlja3kpIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaSA+IHVsOmFmdGVyIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTMtLWhlYWRlci1wb3NpdGlvbi1ib3R0b20gLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICAgICAgdG9wOiAyLjVyZW07XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX2hlYWRlci1hcmVhIC5mbG8taGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zX19hcnJvd3Mge1xuICAgICAgcGFkZGluZzogMCA2LjM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTMge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zX19sb2dvLS1pcy1saWdodCAuZmxvLWhlYWRlci1tb2JpbGUge1xuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX2xvZ28tLWlzLWxpZ2h0IC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3NsaWRlcyB7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIHdpZHRoOiAxMDB2dzsgfVxuICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fY29udGVudC13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX2hlYWRlci1hcmVhIC5mbG8taGVhZGVyLW1vYmlsZS5ub3Qtc3RpY2t5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3RpdGxlLWFyZWEge1xuICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3RpdGxlLWFyZWEtdGl0bGUge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTAuMTU2MjVyZW0pO1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fdGl0bGUtYXJlYS1zdWJ0aXRsZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMC4xNTYyNXJlbSk7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX2Fycm93cyB7XG4gICAgICAgIHBhZGRpbmc6IDAgMi4wMzEyNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stc2xpZGVzaG93LTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctNC0tbGF5b3V0LWIgLmZsby1ibG9jay1zbGlkZXNob3ctNF9fY291bnRlcixcbiAgLmZsby1ibG9jay1zbGlkZXNob3ctNC0tbGF5b3V0LWIgLmZsby1ibG9jay1zbGlkZXNob3ctNF9fYXJyb3cge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAxMHB4IGJsYWNrOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTRfX2Fycm93cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy00X19hcnJvdyB7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICBvcGFjaXR5OiAwLjI4OyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctNF9fYXJyb3c6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy00X19jb3VudGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBib3R0b206IDNyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTRfX2NvdW50ZXItaW5kZXgge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDAuNmVtO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTRfX2NvdW50ZXItY291bnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNmVtO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTRfX2Fycm93cyB7XG4gICAgICBwYWRkaW5nOiAwIDYuMzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctNF9fYXJyb3dzIHtcbiAgICAgIHBhZGRpbmc6IDAgMi4wMzEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTQgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5mbG8tYmxvY2stc29jaWFsLWxpbmtzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stc29jaWFsLWxpbmtzX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS42ODc1cmVtOyB9XG4gIC5mbG8tYmxvY2stc29jaWFsLWxpbmtzX19zb2NpYWwtbGlua3MgYSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIG1hcmdpbjogMCAwLjM0Mzc1cmVtOyB9XG5cbi5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX3Rlc3RpbW9uaWFsLWltYWdlIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX190ZXN0aW1vbmlhbC1jb3VudGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX3Rlc3RpbW9uaWFsLWNvdW50ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIC8gXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC43MTg3NXJlbTsgfVxuXG4uZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX190ZXN0aW1vbmlhbC10ZXh0IHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fYXJyb3cge1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTsgfVxuICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX19hcnJvdy0tbGVmdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0LjM3NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stdGVzdGltb25pYWxzLTEge1xuICAgIHBhZGRpbmc6IDAgNi4zNzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX190ZXN0aW1vbmlhbF9zbGlkZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX3Rlc3RpbW9uaWFsLWltYWdlIHtcbiAgICAgIHdpZHRoOiAzOS4zNzVyZW07XG4gICAgICBoZWlnaHQ6IDI2LjMxMjVyZW07XG4gICAgICBmbGV4LXNocmluazogMDsgfVxuICAgIC5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX3Rlc3RpbW9uaWFsLXRleHQtYXJlYSB7XG4gICAgICBwYWRkaW5nOiAzLjVyZW0gMCAzLjU2MjVyZW0gNC42ODc1cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fdGVzdGltb25pYWxfc2xpZGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fdGVzdGltb25pYWwtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTMuMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fdGVzdGltb25pYWwtdGV4dC1hcmVhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fdGVzdGltb25pYWwtY291bnRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX190ZXN0aW1vbmlhbC10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay10ZXh0LWJsb2NrLTFfX3RleHQtd3JhcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stdGV4dC1ibG9jay0xX190ZXh0LXdyYXAge1xuICAgIG1heC13aWR0aDogNDB2dztcbiAgICBtYXJnaW46IGF1dG87IH0gfVxuXG4uZmxvLWJsb2NrLXRleHQtYmxvY2stMiB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTJfX2ltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0yX19pbWFnZS0taW1hZ2UtcG9zaXRpb24tbGVmdCB7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0yX19pbWFnZS0taW1hZ2UtcG9zaXRpb24tcmlnaHQge1xuICAgICAgb3JkZXI6IDI7IH1cbiAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTJfX2JvdHRvbS1sYWJlbCB7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0yIHtcbiAgICAgIHBhZGRpbmc6IDAgNy42MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0yX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMzYuMzEyNXJlbTtcbiAgICAgICAgd2lkdGg6IDI0LjEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTJfX3RleHQtd3JhcCB7XG4gICAgICAgIHdpZHRoOiAzMS43NXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stMl9fdGV4dC13cmFwLS1pbWFnZS1wb3NpdGlvbi1sZWZ0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNi4zNzVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVyZW07XG4gICAgICAgICAgb3JkZXI6IDI7IH1cbiAgICAgICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTJfX3RleHQtd3JhcC0taW1hZ2UtcG9zaXRpb24tcmlnaHQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNi4zNzVyZW07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVyZW07XG4gICAgICAgICAgb3JkZXI6IDE7IH1cbiAgICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0yX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQuMzEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTJfX2JvdHRvbS1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUuNjI1cmVtOyB9XG4gICAgICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0yX19ib3R0b20tbGFiZWwtLWltYWdlLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICAgIGxlZnQ6IDEuMjVyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTJfX2JvdHRvbS1sYWJlbC0taW1hZ2UtcG9zaXRpb24tcmlnaHQge1xuICAgICAgICAgIGxlZnQ6IDVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stMiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stMl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAyMS44NzVyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTJfX2ltYWdlLS1pbWFnZS1wb3NpdGlvbi1sZWZ0IHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0yX19pbWFnZS0taW1hZ2UtcG9zaXRpb24tcmlnaHQge1xuICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stMl9fdGV4dC13cmFwLS1pbWFnZS1wb3NpdGlvbi1sZWZ0IHtcbiAgICAgICAgb3JkZXI6IDI7IH1cbiAgICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0yX190ZXh0LXdyYXAtLWltYWdlLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgb3JkZXI6IDE7IH1cbiAgICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0yX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stMl9fdGV4dC1wYXJhZ3JhcGgge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi4zNzVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLXRleHQtYmxvY2stM19faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19wb3N0LWxpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19wb3N0LWxpbms6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICB3aWR0aDogMC44MTI1cmVtO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbi1yaWdodDogMS42ODc1cmVtOyB9XG5cbi5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19saW5rLWFyZWEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX2xpbmstZGVsaW1pdGVyIHtcbiAgZm9udC1zaXplOiAwLjMxMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuOTM3NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zIHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbSAxMy44NzVyZW07XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19pbWFnZSB7XG4gICAgICB3aWR0aDogMTQuNDM3NXJlbTtcbiAgICAgIGhlaWdodDogMTkuMTg3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19wb3N0LXRleHQge1xuICAgICAgd2lkdGg6IDI4LjkzNzVyZW07XG4gICAgICBwYWRkaW5nOiAyLjA2MjVyZW0gNS4yNXJlbSAyLjkzNzVyZW0gNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19wb3N0LXN1YnRpdGxlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjgxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stM19fcG9zdC1wYXJhZ3JhcGggPiBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi4xMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stM19fbGluay1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IDIuMDYyNXJlbSAwIDIuMjVyZW0gNi44MTI1cmVtO1xuICAgICAgd2lkdGg6IDE4Ljc1cmVtO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19saW5rLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX2xpbmstc3VidGl0bGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLXRleHQtYmxvY2stMyB7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMi4wMzEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTkuMTg3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stM19fcG9zdC10ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX3Bvc3QtdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stM19fcG9zdC1zdWJ0aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19wb3N0LXBhcmFncmFwaCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19wb3N0LWxpbmsge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stM19fbGluay10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19saW5rLWRlbGltaXRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19saW5rLXN1YnRpdGxlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay10ZXh0LWJsb2NrLTRfX2VsZW1lbnRzLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLXRleHQtYmxvY2stNF9fdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLXRleHQtYmxvY2stNCB7XG4gICAgcGFkZGluZzogMCAxNS4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay00X19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay00X190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjgxMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTRfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTRfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLXRleHQtYmxvY2stNV9fdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZsby1ibG9jay10ZXh0LWJsb2NrLTVfX2RlbGltaXRlciB7XG4gIG1hcmdpbjogMCBhdXRvIDIuNXJlbSBhdXRvO1xuICBoZWlnaHQ6IDFweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stdGV4dC1ibG9jay01X190ZXh0LXdyYXAge1xuICAgIG1heC13aWR0aDogNDB2dztcbiAgICBtYXJnaW46IGF1dG87IH0gfVxuXG4uZmxvLWJsb2NrLXRpdGxlLTFfX2VsZW1lbnRzLXdyYXAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLXRpdGxlLTFfX2VsZW1lbnRzLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiA0NS43NXJlbTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbG8tYmxvY2stdGl0bGUtMV9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMuNjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stdGl0bGUtMV9fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTQwJSk7IH1cbiAgLmZsby1ibG9jay10aXRsZS0xX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLXRpdGxlLTFfX2VsZW1lbnRzLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvLWJsb2NrLXRpdGxlLTFfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC00MCUpOyB9IH1cblxuLmZsby1ibG9jay10aXRsZS0yIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stdGl0bGUtMl9fcHJlLXRpdGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4xMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stdGl0bGUtMiB7XG4gICAgICBwYWRkaW5nOiAwIDcuNjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXRpdGxlLTJfX3RpdGxlIHtcbiAgICAgICAgcGFkZGluZzogMCA3LjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stdGl0bGUtMl9fcHJlLXRpdGxlIHtcbiAgICAgIHdpZHRoOiA2MHZ3O1xuICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cblxuLmZsby1ibG9jay10aXRsZS0zX190aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stdGl0bGUtMyB7XG4gICAgcGFkZGluZzogMCAxNHJlbTsgfSB9XG5cbi5mbG8tYmxvY2stdGl0bGUtNCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLXRpdGxlLTRfX3RpdGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC40Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLXRpdGxlLTQge1xuICAgICAgcGFkZGluZzogMCA3LjYyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay10aXRsZS00X19xdW90ZS0tbGVmdCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4zMTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXRpdGxlLTRfX3F1b3RlLS1yaWdodCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjMxMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLXRpdGxlLTRfX3F1b3RlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuZmxvLWJsb2NrLXRpdGxlLTRfX3F1b3RlLS1sZWZ0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4zMTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXRpdGxlLTRfX3F1b3RlLS1yaWdodCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMzEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay12ZW5kb3JzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLmZsby1ibG9jay12ZW5kb3JzX190aXRsZSB7XG4gICAgICB3aWR0aDogMTEuNDM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmZsby1ibG9jay12ZW5kb3JzX19saXN0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNC41cmVtOyB9XG4gICAgLmZsby1ibG9jay12ZW5kb3JzX192ZW5kb3Ige1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAuZmxvLWJsb2NrLXZlbmRvcnNfX3ZlbmRvci10aXRsZSB7XG4gICAgICB3aWR0aDogOC4wNjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgICAgIGZsZXgtZ3JvdzogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLXZlbmRvcnNfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stdmVuZG9yc19fdmVuZG9yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTFfX2ltYWdlLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2stdmlkZW8tYmxvY2stMV9fdGV4dC1lbGVtZW50cy13cmFwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0xIHtcbiAgICBwYWRkaW5nOiAwIDcuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay12aWRlby1ibG9jay0xX190ZXh0LWVsZW1lbnRzLXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNC41NjI1cmVtO1xuICAgICAgd2lkdGg6IDMwLjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTFfX3N1YnRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTFfX3RleHQtZWxlbWVudHMtd3JhcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0xX19zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stdmlkZW8tYmxvY2stMV9faW1hZ2Utd3JhcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbm8taW1hZ2UuanBnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLXNtYWxsKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0xX19pbWFnZS13cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbWVkaXVtKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0xX19pbWFnZS13cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbGFyZ2UpOyB9IH1cblxuLmZsby1ibG9jay12aWRlby1ibG9jay0yX19pbWFnZS13cmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTJfX3RleHQtZWxlbWVudHMtd3JhcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMiAuZmxvLXZpZGVvLWVtYmVkOm5vdCguZmxvLXZpZGVvLWVtYmVkLS1sb2FkZWQpIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbiB7XG4gICAgdG9wOiAxOS42MjVyZW07IH1cbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0yX190ZXh0LWVsZW1lbnRzLXdyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IDcuOTM3NXJlbTtcbiAgICB3aWR0aDogMzAuNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMl9fdGV4dC1lbGVtZW50cy13cmFwLS1kZXNrdG9wLWNvcnJlY3Rpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTJfX3N1YnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjkzNzVyZW07IH1cbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0yX19wYXJhZ3JhcGgtdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTJfX3RleHQtZWxlbWVudHMtd3JhcC0tbW9iaWxlLWNvcnJlY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMl9fc3VidGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0yX19wYXJhZ3JhcGgtdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5mbG8tYmxvY2stdmlkZW8tYmxvY2stMl9faW1hZ2Utd3JhcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbm8taW1hZ2UuanBnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLXNtYWxsKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0yX19pbWFnZS13cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbWVkaXVtKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0yX19pbWFnZS13cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbGFyZ2UpOyB9IH1cblxuLmZsby1jb21tZW50cyB7XG4gIC8qIFNUQVJUOiBUT1AgQVJFQSAqL1xuICAvKiBFTkQ6IFRPUCBBUkVBICovXG4gIC8qIFNUQVJUOiBDT01NRU5UUyBXUkFQICovXG4gIC8qIFNUQVJUOiBMSVNUICovXG4gIC8qIEVORDogTElTVCAqL1xuICAvKiBTVEFSVDogRk9STSAqL1xuICAvKiBFTkQ6IEZPUk0gKi9cbiAgLyogRU5EOiBDT01NRU5UUyBXUkFQICovIH1cbiAgLmZsby1jb21tZW50c19fdG9wLWFyZWEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy41NjI1cmVtOyB9XG4gIC5mbG8tY29tbWVudHNfX3NoYXJpbmctb3B0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5mbG8tY29tbWVudHNfX3NoYXJpbmctb3B0aW9ucy1sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjU2MjVyZW07IH1cbiAgLmZsby1jb21tZW50c19fc2hhcmluZy1saW5rcyBhOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogMS41NjI1cmVtOyB9XG4gIC5mbG8tY29tbWVudHNfX3NoYXJpbmctbGlua3MgaTpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9XG4gIC5mbG8tY29tbWVudHNfX3RhZ3MgYTphZnRlciB7XG4gICAgY29udGVudDogXCIsIFwiOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWNvbW1lbnRzX190b3AtYXJlYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5mbG8tY29tbWVudHNfX2NvbW1lbnRzLWNvdW50LCAuZmxvLWNvbW1lbnRzX19zaGFyaW5nLW9wdGlvbnMsIC5mbG8tY29tbWVudHNfX3RhZ3Mge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmxleC1zaHJpbms6IDA7IH1cbiAgICAuZmxvLWNvbW1lbnRzX190YWdzIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1jb21tZW50c19fdG9wLWFyZWEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmZsby1jb21tZW50c19fY29tbWVudHMtY291bnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC5mbG8tY29tbWVudHNfX3NoYXJpbmctb3B0aW9ucyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgLmZsby1jb21tZW50c19fbGlzdCB7XG4gICAgcGFkZGluZy10b3A6IDIuMzEyNXJlbTsgfVxuICAgIC5mbG8tY29tbWVudHNfX2xpc3QgPiAuY29tbWVudDpmaXJzdC1jaGlsZCA+IC5mbG8tY29tbWVudHNfX2NvbW1lbnQge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAuZmxvLWNvbW1lbnRzX19saXN0IC5jb21tZW50Omxhc3QtY2hpbGQgLmZsby1jb21tZW50c19fY29tbWVudDpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICAuZmxvLWNvbW1lbnRzX19saXN0IC5jb21tZW50Omxhc3QtY2hpbGQgLmNvbW1lbnQ6bGFzdC1jaGlsZCAuZmxvLWNvbW1lbnRzX19jb21tZW50IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgLmZsby1jb21tZW50c19fY29tbWVudCB7XG4gICAgcGFkZGluZzogMS41NjI1cmVtIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkOyB9XG4gICAgLmZsby1jb21tZW50c19fY29tbWVudCAjY2FuY2VsLWNvbW1lbnQtcmVwbHktbGluayBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuZmxvLWNvbW1lbnRzX19jb21tZW50LXRvcC13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZsby1jb21tZW50c19fY29tbWVudC1hdmF0YXIge1xuICAgIHdpZHRoOiAyLjk2ODc1cmVtO1xuICAgIGhlaWdodDogMi45Njg3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAyLjk2ODc1cmVtO1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1yaWdodDogMy4xODc1cmVtOyB9XG4gICAgLmZsby1jb21tZW50c19fY29tbWVudC1hdmF0YXIgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5mbG8tY29tbWVudHNfX2NvbW1lbnQtYXV0aG9yIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9XG4gIC5mbG8tY29tbWVudHNfX2NvbW1lbnQtZGF0ZSB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5mbG8tY29tbWVudHNfX2NvbW1lbnQtcmVwbHkge1xuICAgIG1hcmdpbi10b3A6IDEuMzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWNvbW1lbnRzX19saXN0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDYuMzc1cmVtOyB9XG4gICAgLmZsby1jb21tZW50cyAuY29tbWVudCAuY29tbWVudCAuZmxvLWNvbW1lbnRzX19jb21tZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogNi4zNzVyZW07IH1cbiAgICAgIC5mbG8tY29tbWVudHMgLmNvbW1lbnQgLmNvbW1lbnQgLmZsby1jb21tZW50c19fY29tbWVudDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiA5LjU2MjVyZW07XG4gICAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgLmZsby1jb21tZW50c19fY29tbWVudC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogOS41NjI1cmVtOyB9XG4gICAgLmZsby1jb21tZW50c19fY29tbWVudC1yZXBseSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDkuNTYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tY29tbWVudHNfX2NvbW1lbnQtdG9wLXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gIC5mbG8tY29tbWVudHNfX2Zvcm0td3JhcCB7XG4gICAgcGFkZGluZy10b3A6IDMuMTI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtOyB9XG4gIC5mbG8tY29tbWVudHNfX2Zvcm0tdG9wLWFyZWEge1xuICAgIG1hcmdpbi1ib3R0b206IDMuNDM3NXJlbTsgfVxuICAuZmxvLWNvbW1lbnRzX19mb3JtLXN1YnRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTsgfVxuICAuZmxvLWNvbW1lbnRzX19mb3JtLWZpZWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIWltcG9ydGFudDsgfVxuICAuZmxvLWNvbW1lbnRzX19mb3JtLXRleHRhcmVhIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiA3Ljg3NXJlbTsgfVxuICAuZmxvLWNvbW1lbnRzIC5mb3JtLXN1Ym1pdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZsby1jb21tZW50c19fZm9ybSAuc3VibWl0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMy43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDIuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWNvbW1lbnRzX19mb3JtLXdyYXAge1xuICAgICAgcGFkZGluZy1sZWZ0OiA2LjM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDYuMzc1cmVtOyB9XG4gICAgICAuZmxvLWNvbW1lbnRzX19mb3JtLXdyYXAuaXNfc3R1Y2sge1xuICAgICAgICByaWdodDogNi4zNzVyZW07IH1cbiAgICAgICAgLmZsby1jb21tZW50c19fZm9ybS13cmFwLmlzX3N0dWNrW3N0eWxlKj1hYnNvbHV0ZV0ge1xuICAgICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLmZsby1jb21tZW50c19fZm9ybSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmZsby1jb21tZW50c19fZm9ybS1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgICAuZmxvLWNvbW1lbnRzX19mb3JtLWZpZWxkLS1oYWxmIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMy4xODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2LjM3NXJlbTsgfVxuICAgICAgICAuZmxvLWNvbW1lbnRzX19mb3JtLWZpZWxkLS1oYWxmICsgLmZsby1jb21tZW50c19fZm9ybS1maWVsZC0taGFsZiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1jb21tZW50c19fZm9ybS13cmFwIHtcbiAgICAgIHBhZGRpbmc6IDMuMTI1cmVtIDEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tY29tbWVudHNfX2NvbW1lbnRzLXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgLmZsby1jb21tZW50c19fbGlzdCwgLmZsby1jb21tZW50c19fZm9ybS13cmFwIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMDsgfSB9XG4gIC5mbG8tY29tbWVudHNfX2ZhY2Vib29rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWZvb3Rlci1zaWRlYmFycyB7XG4gICAgcGFkZGluZzogMy4xMjVyZW0gNi4zNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1mb290ZXItc2lkZWJhcnMge1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtIDIuMDMxMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tZm9vdGVyLXNpZGViYXJzIC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgIHBhZGRpbmc6IDAgMS4yNXJlbTsgfSB9XG5cbi5mbG8tZm9vdGVyIHtcbiAgLyogU1RBUlQ6IElNQUdFIEZFRUQgKi9cbiAgLyogRU5EOiBJTUFHRSBGRUVEICovXG4gIC8qIFNUQVJUOiBTRUFSQ0ggRklFTEQgU1RZTElORyAqL1xuICAvKiBFTkQ6IFNFQVJDSCBGSUVMRCBTVFlMSU5HICovXG4gIC8qIFNUQVJUOiBBUkVBIDEgKi9cbiAgLyogRU5EOiBBUkVBIDEgKi9cbiAgLyogU1RBUlQ6IEFSRUEgMiAqL1xuICAvKiBFTkQ6IEFSRUEgMiAqL1xuICAvKiBTVEFSVDogQ09QWVJJR0hUUyBBUkVBICovXG4gIC8qIEVORDogQ09QWVJJR0hUUyBBUkVBICovIH1cbiAgLmZsby1mb290ZXItaW1hZ2UtZmVlZCAuaW1nLWJsb2NrIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkLFxuICAgIC5mbG8tZm9vdGVyLWltYWdlLWZlZWQgLmZsby1zaGNvZGUtaW5zdGdtLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmZsby1mb290ZXItaW1hZ2UtZmVlZCAuZmxvLXNoY29kZS1pbnN0Z20tY29udGFpbmVyIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAuZmxvLWZvb3RlciAud2lkZ2V0X3NlYXJjaCAuc2VhcmNoLWZpZWxkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuZmxvLWZvb3RlciAud2lkZ2V0X3NlYXJjaCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFfX2dyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4zMTI1cmVtOyB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFfX2xpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiA0LjA2MjVyZW0gMTguNjI1cmVtIDEuNXJlbSAxOC42MjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFfX2dyb3VwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMy44NzVyZW0gMS4yNXJlbSAzLjg3NXJlbTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFfX2dyb3VwOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWEtLWdyb3Vwcy1jb3VudC0zIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFfX2dyb3VwIHtcbiAgICAgICAgd2lkdGg6IDI4JTsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hLS1ncm91cHMtY291bnQtMyAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hX19ncm91cDpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hLS1ncm91cHMtY291bnQtMyAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hX19ncm91cDpudGgtY2hpbGQoMikge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSA3LjkzNzVyZW0gMC4zMTI1cmVtIDcuOTM3NXJlbTsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hLS1ncm91cHMtY291bnQtMyAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hX19ncm91cDpudGgtY2hpbGQoMykge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDIuMDMxMjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFfX2dyb3VwOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBwYWRkaW5nOiAzLjY4NzVyZW0gNi4zNzVyZW0gMS4yNXJlbSA2LjM3NXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYl9fZmVlZC1hcmVhIHtcbiAgICAgICAgd2lkdGg6IDY3JTtcbiAgICAgICAgcGFkZGluZzogMCA1LjE4NzVyZW0gMCA3LjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWJfX2ZlZWQtYXJlYS10b3Age1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS42ODc1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlLFxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYiAuaW1nLWJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDkuMTI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYiAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkX19pbWFnZTpub3QoOmxhc3QtY2hpbGQpLFxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iIC5pbWctYmxvY2s6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjg3NXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYiAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogOS4xMjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWJfX2luZm8tYXJlYSB7XG4gICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuMzEyNXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWJfX2luZm8tYXJlYS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMi4wMzEyNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYl9fZmVlZC1hcmVhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iX19mZWVkLWFyZWEtdG9wIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWJfX2ZlZWQtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWIgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2UsXG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iIC5pbWctYmxvY2sge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlOm5vdCg6bGFzdC1jaGlsZCksXG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWIgLmltZy1ibG9jazpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAxOC43NXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYl9faW5mby1hcmVhLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiA2LjE4NzVyZW0gMTAuMTI1cmVtIDEuNjg3NXJlbSAxMC4xMjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNfX2Zvcm0td3JhcCwgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtY19fbGluay1saXN0LXdyYXAsIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNfX2xpbmstd3JhcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjg3NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMzc1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jX19mb3JtLXdyYXAge1xuICAgICAgICB3aWR0aDogMjElO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzLjgxMjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNfX2xpbmstbGlzdC13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogNTglO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDYuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNi45Mzc1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNfX2xpbmstbGlzdC10aXRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGJvdHRvbTogY2FsYygxMDAlICsgMS4xMjVyZW0pOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jX19saW5rLWxpc3QtbGluayB7XG4gICAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW07IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtY19fbGluay1saXN0LWxpbms6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jX19saW5rLWxpc3QtbGluazpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jX19saW5rLXdyYXAge1xuICAgICAgICB3aWR0aDogMjElO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMi4wMzEyNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtY19fZm9ybS13cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNfX2ZpZWxkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jX19saW5rLWxpc3Qtd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNfX2xpbmstbGlzdC10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtY19fbGluay1saXN0LWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX3RvcC13cmFwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fbGVmdC1saW5rLXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMzEyNXJlbTsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX19sZWZ0LWxpbmsge1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDEuMjE4NzVyZW07XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX190ZXN0aW1vbmlhbHMtd3JhcCB7XG4gICAgei1pbmRleDogMTsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX190ZXN0aW1vbmlhbHMgLnNsaWNrLWxpc3Qge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX190ZXN0aW1vbmlhbHMgLnNsaWNrLWxpc3QgLnNsaWNrLXRyYWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX3Rlc3RpbW9uaWFsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMy44NzVyZW07IH1cbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX190ZXN0aW1vbmlhbCBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX190ZXN0aW1vbmlhbC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjg3NXJlbTsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX190ZXN0aW1vbmlhbC10aXRsZS1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IC0wLjA1ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpO1xuICAgIG9wYWNpdHk6IDAuMDU7XG4gICAgbGluZS1oZWlnaHQ6IDFlbSAhaW1wb3J0YW50OyB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX3Rlc3RpbW9uaWFscy1kb3RzIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTsgfVxuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX3Rlc3RpbW9uaWFscy1kb3RzIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAwLjU2MjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX190ZXN0aW1vbmlhbHMtZG90cyBsaTpub3QoLnNsaWNrLWFjdGl2ZSkge1xuICAgICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX3Rlc3RpbW9uaWFscy1kb3RzIGxpOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX3Rlc3RpbW9uaWFscy1kb3RzIGJ1dHRvbiB7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX3Rlc3RpbW9uaWFscy1kb3RzIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIi4wXCI7IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fbGVmdC1saW5rLXdyYXAsIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX3JpZ2h0LWxpbmstd3JhcCB7XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nLXRvcDogMC42ODc1cmVtOyB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX2xlZnQtbGluay10aXRsZSwgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fcmlnaHQtbGluay10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fcmlnaHQtbGluay10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZCAuZmxvLWJsb2NrIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX190b3Atd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBwYWRkaW5nOiA0LjkzNzVyZW0gOC4zMTI1cmVtIDMuOTM3NXJlbSA4LjMxMjVyZW07XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX2xlZnQtbGluay13cmFwIHtcbiAgICAgIHdpZHRoOiAyOCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjc1cmVtOyB9XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fdGVzdGltb25pYWxzLXdyYXAge1xuICAgICAgd2lkdGg6IDQ0JTtcbiAgICAgIHBhZGRpbmc6IDAgNC4zNzVyZW07XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fcmlnaHQtbGluay13cmFwIHtcbiAgICAgIHdpZHRoOiAyOCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQuODEyNXJlbTsgfVxuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWQgLmZsby1ibG9jayB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC44NDM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWQge1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMi4wMzEyNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fdG9wLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX2xlZnQtbGluay13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fdGVzdGltb25pYWxzLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kIC5mbG8tYmxvY2stZGVsaW1pdGVyLTEge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYV9fZmVlZC1sYWJlbCB7XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDIuMTU2MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1hIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlLFxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYSAuaW1nLWJsb2NrIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLyA2KSAhaW1wb3J0YW50OyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1hIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZ3IC8gNik7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWFfX2ZlZWQtbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzLCBib3gtc2hhZG93IDAuNXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYV9fZmVlZC1sYWJlbDpob3ZlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAzNnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMzcpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAyLjAzMTI1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1hLmhpZGRlbi1vbi1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1hX19mZWVkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuMjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWEgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2UsXG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1hIC5pbWctYmxvY2sge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1hIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAxOC43NXJlbTsgfSB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWJfX3NvY2lhbC1saW5rcy13cmFwOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxLjI1NjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44MTI1cmVtO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iX19zb2NpYWwtbGlua3Mge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4xODc1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iX19zb2NpYWwtbGlua3MgYSB7XG4gICAgICAgIG1hcmdpbjogMCAwLjM3NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iX19pbmZvcm1hdGlvbiBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgcGFkZGluZzogMC44MTI1cmVtIDYuMzc1cmVtOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWJfX3NvY2lhbC1saW5rcy13cmFwLCAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iX19pbmZvcm1hdGlvbiB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iX19zb2NpYWwtbGlua3Mtd3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDE4JTsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iX19pbmZvcm1hdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDMyJTsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iX19mZWVkLXdyYXAge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBwYWRkaW5nOiAyLjY4NzVyZW0gMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNDM3NXJlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWIgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2UsXG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWIgLmltZy1ibG9jayB7XG4gICAgICAgICAgd2lkdGg6IDYuMjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMS4zMTI1cmVtOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWIgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2Uge1xuICAgICAgICAgIGhlaWdodDogNi4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iIHtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMi4wMzEyNXJlbTsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iX19zb2NpYWwtbGlua3Mtd3JhcCwgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYl9faW5mb3JtYXRpb24ge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iX19zb2NpYWwtbGlua3Mtd3JhcCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWJfX2luZm9ybWF0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAwOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWJfX2ZlZWQtd3JhcCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEuODc1cmVtOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWJfX2ZlZWQtdGV4dC1hcmVhIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlLFxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iIC5pbWctYmxvY2sge1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6IDE4Ljc1cmVtOyB9IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYS0taGFzLWRlbGltaXRlcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYSAuZmxvLWZvb3Rlcl9fZmxvdGhlbWVzLWxvZ28ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwYWRkaW5nOiAxLjQzNzVyZW0gNi4zNzVyZW07XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWEtLWhhcy1kZWxpbWl0ZXIge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAyLjc4MTI1cmVtOyB9XG4gICAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYS0taGFzLWRlbGltaXRlcjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS4zNDM3NXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMi43NXJlbSk7IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYSAuZmxvLWZvb3Rlcl9fZmxvdGhlbWVzLWxvZ28ge1xuICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1LjYyNXJlbTsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hX19tZW51LXdyYXAge1xuICAgICAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hX19tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDYuNDUzMTJyZW07XG4gICAgICAgICAgLyogU3RhcnQ6IDJuZCBMZXZlbCBEcm9wZG93biAqL1xuICAgICAgICAgIC8qIEVuZDogMm5kIExldmVsIERyb3Bkb3duICovIH1cbiAgICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hX19tZW51IGxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUgPiBsaSA+IHVsIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMjBweCAyMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hX19tZW51IGxpOmhvdmVyID4gdWwge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyB9XG4gICAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYV9fbWVudSBsaSB1bCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTUuNjI1cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMS4xNTYyNXJlbSAwO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUgbGkgdWwgbGkge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMC40MDYyNXJlbSAyLjQzNzVyZW07IH1cbiAgICAgICAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYV9fbWVudSBsaSB1bCBsaSA+IGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYV9fbWVudSBsaSB1bCBsaSA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hX19tZW51IGxpIHVsIGxpID4gYTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUgPiBsaSA+IHVsIHtcbiAgICAgICAgICAgIGJvdHRvbTogY2FsYygxMDAlICsgMS4yNXJlbSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICAgICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hX19tZW51ID4gbGkgPiB1bDpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDIuMzEyNXJlbTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUgPiBsaSA+IHVsOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlIC0gMC4wNjI1cmVtKTtcbiAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwLjQzNzVyZW0gMC4zNzVyZW0gMC40Mzc1cmVtO1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX2NvcHlyaWdodC1ub3RpY2Uge1xuICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgIHdpZHRoOiAzOC42JTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMi4wMzEyNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWEgLmZsby1mb290ZXJfX2Zsb3RoZW1lcy1sb2dvIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgICAgICAgIG9yZGVyOiAxOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUtd3JhcCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hX19tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYV9fbWVudSA+IGxpID4gdWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDA7IH1cbiAgICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hX19tZW51IC5jaGlsZHJlbi12aXNpYmxlID4gLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYV9fbWVudS1kcm9wZG93bi10b2dnbGUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGUoMGRlZyk7IH1cbiAgICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hX19tZW51IC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hX19tZW51IC5zdWItbWVudSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDA7IH0gfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1iIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1iIC5mbG8tZm9vdGVyX19mbG90aGVtZXMtbG9nbyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuMDYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWIge1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDYuMzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWIge1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDIuMDMxMjVyZW07IH0gfVxuXG4uZmxvLWdlbmVyaWMtZmFuY3lib3gtdmlkZW8ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLmZsby1nZW5lcmljLW1lbnUtd3JhcCB7XG4gIC8qIFNUQVJUOiBNRU5VIChkcm9wZG93bnMsIGxpbmtzIGV0Yy4pICovXG4gIC8qIEVORDogTUVOVSAoZHJvcGRvd25zLCBsaW5rcyBldGMuKSAqLyB9XG4gIC5mbG8tZ2VuZXJpYy1tZW51LXdyYXBfX21lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHotaW5kZXg6IDIzMTEyMzEyO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICAvKiBTdGFydDogMm5kIExldmVsIERyb3Bkb3duICovXG4gICAgLyogRW5kOiAybmQgTGV2ZWwgRHJvcGRvd24gKi8gfVxuICAgIC5mbG8tZ2VuZXJpYy1tZW51LXdyYXBfX21lbnUgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAuZmxvLWdlbmVyaWMtbWVudS13cmFwX19tZW51IGxpIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1nZW5lcmljLW1lbnUtd3JhcF9fbWVudSA+IGRpdiA+IHVsID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZmxvLWdlbmVyaWMtbWVudS13cmFwX19tZW51IGxpOmhvdmVyID4gdWwge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyB9XG4gICAgLmZsby1nZW5lcmljLW1lbnUtd3JhcF9fbWVudSBsaSB1bCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB3aWR0aDogMTUuNjI1cmVtO1xuICAgICAgcGFkZGluZzogMS4xNTYyNXJlbSAwO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tZ2VuZXJpYy1tZW51LXdyYXBfX21lbnUgbGkgdWwgbGkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMC40MDYyNXJlbSAyLjQzNzVyZW07IH1cbiAgICAgICAgLmZsby1nZW5lcmljLW1lbnUtd3JhcF9fbWVudSBsaSB1bCBsaSA+IGEge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLmZsby1nZW5lcmljLW1lbnUtd3JhcF9fbWVudSBsaSB1bCBsaSA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICAuZmxvLWdlbmVyaWMtbWVudS13cmFwX19tZW51IGxpIHVsIGxpID4gYTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tZ2VuZXJpYy1tZW51LXdyYXBfX21lbnUgPiBsaSA+IHVsIHtcbiAgICAgIHRvcDogY2FsYygxMDAlICsgMi4zMTI1cmVtKTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgICAgLmZsby1nZW5lcmljLW1lbnUtd3JhcF9fbWVudSA+IGxpID4gdWw6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAyLjMxMjVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZmxvLWdlbmVyaWMtbWVudS13cmFwX19tZW51ID4gbGkgPiB1bDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IGNhbGMoMTAwJSAtIDAuMDYyNXJlbSk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMC40Mzc1cmVtIDAuMzc1cmVtIDAuNDM3NXJlbTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZmxvLWdlbmVyaWMtc2xpZGVzX19zbGlkZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uZmxvLWdlbmVyaWMtc2xpZGVzX19zbGlkZS1jb250ZW50IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG4uZmxvLWdlbmVyaWMtc2xpZGVzX19zbGlkZS1pbWctLWJnaSB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmZsby1nZW5lcmljLXNsaWRlc19fc2xpZGUtYmFja2dyb3VuZC12aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5mbG8tZ2VuZXJpYy1zbGlkZXNfX3NsaWRlLWJhY2tncm91bmQtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgLmZsby1nZW5lcmljLXNsaWRlc19fc2xpZGUtYmFja2dyb3VuZC12aWRlby0tY3JvcHBlZCB2aWRlbyB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbG8tZ2VuZXJpYy1zbGlkZXNfX3NsaWRlLWJhY2tncm91bmQtdmlkZW8tLW5vLWNyb3AgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1nZW5lcmljLXNsaWRlcy0taW1hZ2UtdHlwZS1iZ2kgLmZsby1nZW5lcmljLXNsaWRlc19fc2xpZGUtY29udGVudCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbi5mbG8tZ2VuZXJpYy1zbGlkZXNfX3NsaWRlLWltZyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbm8taW1hZ2UuanBnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLXNtYWxsKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsby1nZW5lcmljLXNsaWRlc19fc2xpZGUtaW1nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbWVkaXVtKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmZsby1nZW5lcmljLXNsaWRlc19fc2xpZGUtaW1nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbGFyZ2UpOyB9IH1cblxuLmZsby1tb2JpbGUtbWVudSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiA5OTk5O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIHBhZGRpbmc6IDIuMTg3NXJlbSAyLjAzMTI1cmVtO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gIC8qIFNUQVJUOiBNRU5VICovXG4gIC8qIEVORDogTUVOVSAqL1xuICAvKiBTVEFSVDogQ09QWVJJR0hUUyBBUkVBICovXG4gIC8qIEVORDogQ09QWVJJR0hUUyBBUkVBICovXG4gIC8qIFNUQVJUOiBWSVNJQklMSVRZICovXG4gIC8qIEVORDogVklTSUJJTElUWSAqL1xuICAvKiBTVEFSVDogVFlQRVMgKi9cbiAgLyogRU5EOiBUWVBFUyAqLyB9XG4gIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUgYSB7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuZmxvLW1vYmlsZS1tZW51X190ZXh0LWFib3ZlLWNvcHlyaWdodC1ub3RpY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMDYyNXJlbTsgfVxuICAuZmxvLW1vYmlsZS1tZW51X19jb3B5cmlnaHQtbm90aWNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjMxMjVyZW07IH1cbiAgLmJvZHktLWZsby1tb2JpbGUtbWVudS1wb3B1cC1vcGVuZWQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuYm9keS0tZmxvLW1vYmlsZS1tZW51LXBvcHVwLW9wZW5lZCAuZmxvLW1vYmlsZS1tZW51IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuICBodG1sIC5mbG8tbW9iaWxlLW1lbnUsIC5ib2R5LS1mbG8tbW9iaWxlLW1lbnUtcG9wdXAtY2xvc2VkIC5mbG8tbW9iaWxlLW1lbnUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tbW9iaWxlLW1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1hIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiBTVEFSVDogRklSU1QgTEVWRUwgSVRFTSAqL1xuICAgIC8qIEVORDogRklSU1QgTEVWRUwgSVRFTSAqL1xuICAgIC8qIFNUQVJUOiBEUk9QRE9XTiAqL1xuICAgIC8qIEVORDogRFJPUERPV04gKi9cbiAgICAvKiBTVEFSVDogRFJPUERPV04gVE9HR0xJTkcgKi9cbiAgICAvKiBFTkQ6IERST1BET1dOIFRPR0dMSU5HICovIH1cbiAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWEgLmZsby1tb2JpbGUtbWVudV9fY2xvc2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44MTI1cmVtOyB9XG4gICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1hIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0LjM3NXJlbTsgfVxuICAgICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1hIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1hIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUgYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYSAuZmxvLW1vYmlsZS1tZW51X19tZW51ID4gbGk6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgcGFkZGluZy10b3A6IDAuODEyNXJlbTsgfVxuICAgIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYSAuZmxvLW1vYmlsZS1tZW51X19tZW51ID4gbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1hIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYSAuZmxvLW1vYmlsZS1tZW51X19tZW51ID4gbGkgPiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuMDYyNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1hIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDAgMS4yNXJlbSAyLjVyZW07XG4gICAgICB3aWR0aDogMC43NXJlbTtcbiAgICAgIGhlaWdodDogMC43NXJlbTsgfVxuICAgICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1hIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUtZHJvcGRvd24tdG9nZ2xlOmJlZm9yZSwgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1hIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUtZHJvcGRvd24tdG9nZ2xlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1hIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUtZHJvcGRvd24tdG9nZ2xlOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDFweDsgfVxuICAgICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1hIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUtZHJvcGRvd24tdG9nZ2xlOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAwLjc1cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cywgb3BhY2l0eSAwLjVzLCBoZWlnaHQgMC41cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYSAuZmxvLW1vYmlsZS1tZW51X19tZW51IGxpLmNoaWxkcmVuLXZpc2libGUgLmZsby1tb2JpbGUtbWVudV9fbWVudS1kcm9wZG93bi10b2dnbGU6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYSAuZmxvLW1vYmlsZS1tZW51X19jb3B5cmlnaHQtYXJlYSB7XG4gICAgICBwYWRkaW5nOiAwIDMuMTI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAvKiBTVEFSVDogRFJPUERPV04gKi9cbiAgICAvKiBFTkQ6IERST1BET1dOICovXG4gICAgLyogU1RBUlQ6IERST1BET1dOIFRPR0dMRVMgKi9cbiAgICAvKiBTVEFSVDogTUFJTiBUT0dHTEUgKi9cbiAgICAvKiBFTkQ6IE1BSU4gVE9HR0xFICovXG4gICAgLyogU1RBUlQ6IERVUExJQ0FURSBUT0dHTEUgRk9SIFRIRSBEUk9QRE9XTiBNRU5VICovXG4gICAgLyogRU5EOiBEVVBMSUNBVEUgVE9HR0xFIEZPUiBUSEUgRFJPUERPV04gTUVOVSAqL1xuICAgIC8qIFNUQVJUOiBWSVNJQklMSVRZICovXG4gICAgLyogRU5EOiBWSVNJQklMSVRZICovXG4gICAgLyogRU5EOiBEUk9QRE9XTiBUT0dHTEVTICovXG4gICAgLyogU1RBUlQ6IERST1BET1dOIE9QRU5FRCBTVFlMRSAqL1xuICAgIC8qIEVORDogRFJPUERPV04gT1BFTkVEIFNUWUxFICovIH1cbiAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYiAuZmxvLW1vYmlsZS1tZW51X19jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUuNjg3NXJlbTsgfVxuICAgIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYiAuZmxvLW1vYmlsZS1tZW51X19tZW51IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYuMTg3NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1iIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWIgLmZsby1tb2JpbGUtbWVudV9fbWVudSA+IGxpID4gdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IGNhbGMoMTAwJSArIDIuNDM3NXJlbSk7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtO1xuICAgICAgd2lkdGg6IDcwJTsgfVxuICAgIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYiAuZmxvLW1vYmlsZS1tZW51X19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYiAuZmxvLW1vYmlsZS1tZW51X19tZW51LWRyb3Bkb3duLXRvZ2dsZSBpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAgIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYiAuZmxvLW1vYmlsZS1tZW51X19tZW51LWRyb3Bkb3duLXRvZ2dsZSBpOmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1iIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUgPiBsaSA+IGEgLmZsby1tb2JpbGUtbWVudV9fbWVudS1kcm9wZG93bi10b2dnbGUge1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCBtYXJnaW4gMC41cywgd2lkdGggMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWIgLmZsby1tb2JpbGUtbWVudV9fbWVudSA+IGxpID4gdWwgPiAuZmxvLW1vYmlsZS1tZW51X19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IGNhbGMoMTAwJSArIDEuNjI1cmVtKTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1iIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUgbGkuY2hpbGRyZW4tdmlzaWJsZSA+IGEgLmZsby1tb2JpbGUtbWVudV9fbWVudS1kcm9wZG93bi10b2dnbGUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYiAuZmxvLW1vYmlsZS1tZW51X19jb3B5cmlnaHQtYXJlYSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1iLmZsby1tb2JpbGUtbWVudS0tZHJvcGRvd24tb3BlbmVkIHtcbiAgICAgIC8qIFNUQVJUOiBEUk9QRE9XTiBUT0dHTEUgU1RVRkYgKi9cbiAgICAgIC8qIEVORDogRFJPUERPV04gVE9HR0xFIFNUVUZGICovIH1cbiAgICAgIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYi5mbG8tbW9iaWxlLW1lbnUtLWRyb3Bkb3duLW9wZW5lZCAuZmxvLW1vYmlsZS1tZW51X19tZW51LFxuICAgICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1iLmZsby1tb2JpbGUtbWVudS0tZHJvcGRvd24tb3BlbmVkIC5mbG8tbW9iaWxlLW1lbnVfX2NvcHlyaWdodC1hcmVhIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTUwdncgKyAyLjAzMTI1cmVtKSk7IH1cblxuLmZsby1oZWFkZXItbW9iaWxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMS41NjI1cmVtIDIuMDMxMjVyZW07XG4gIHotaW5kZXg6IDExMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIG9wYWNpdHkgMC41cywgcGFkZGluZyAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAvKiBTVEFSVDogTUVOVSBUUklHR0VSICovXG4gIC8qIEVORDogTUVOVSBUUklHR0VSICovXG4gIC8qIFNUQVJUOiBMT0dPICovXG4gIC8qIEVORDogTE9HTyAqL1xuICAvKiBTVEFSVDogVFlQRVMgKi9cbiAgLyogRU5EOiBUWVBFUyAqL1xuICAvKiBTVEFSVDogU1RJQ0tZIFRZUEUgQSAqL1xuICAvKiBFTkQ6IFNUSUNLWSBUWVBFIEEgKi9cbiAgLyogU1RBUlQ6IFNUSUNLWSBUWVBFIEIgKi9cbiAgLyogRU5EOiBTVElDS1kgVFlQRSBCICovXG4gIC8qIFNUQVJUOiBISURFIE9OIERFU0tUT1AgKi9cbiAgLyogRU5EOiBISURFIE9OIERFU0tUT1AgKi9cbiAgLyogU1RBUlQ6IE1PQklMRSBMT0dPICovXG4gIC8qIEVORDogTU9CSUxFIExPR08gKi8gfVxuICAuZmxvLWhlYWRlci1tb2JpbGVfX21lbnUtdHJpZ2dlciB7XG4gICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDFlbSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby0tbGlnaHQgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1kZWZhdWx0IHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28tLWxpZ2h0IC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28taW1hZ2Uge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1zdGlja3ksIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5mbG8taGVhZGVyLW1vYmlsZS0tdHlwZS1hIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nbyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmZsby1oZWFkZXItbW9iaWxlLS10eXBlLWIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAgIC5mbG8taGVhZGVyLW1vYmlsZS0tdHlwZS1iIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nbyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5mbG8taGVhZGVyLW1vYmlsZS0tdHlwZS1jIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxLjgxMjVyZW0gMi4wMzEyNXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLW1vYmlsZS0tdHlwZS1jIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nbyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjg3NXJlbTsgfVxuXG4vKiBTVEFSVDogU1RJQ0tZIEJPVFRPTSBBTklNQVRJT04gKi9cbkBrZXlmcmFtZXMgbW92ZV9zdGlja3lfdG9fYm90dG9tIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi8qIEVORDogU1RJQ0tZIEJPVFRPTSBBTklNQVRJT04gKi9cbiAgLmZsby1oZWFkZXItbW9iaWxlLXN0aWNreS13cmFwcGVyIHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXItbW9iaWxlLXN0aWNreS13cmFwcGVyIC5mbG8taGVhZGVyLW1vYmlsZS5pcy1tYWluIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmZsby1oZWFkZXItbW9iaWxlIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMS4yNXJlbSAyLjAzMTI1cmVtOyB9XG4gICAgICAuZmxvLWhlYWRlci1tb2JpbGUtc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IC5mbG8taGVhZGVyLW1vYmlsZS5mbG8taGVhZGVyLW1vYmlsZS0tc3RpY2t5LXN0eWxlLWEuZmxvLWhlYWRlci1tb2JpbGUtLXN0aWNreS1wb3NpdGlvbi10b3Age1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgICAuZmxvLWhlYWRlci1tb2JpbGUtc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IC5mbG8taGVhZGVyLW1vYmlsZS5mbG8taGVhZGVyLW1vYmlsZS0tc3RpY2t5LXN0eWxlLWEuZmxvLWhlYWRlci1tb2JpbGUtLXN0aWNreS1wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogbW92ZV9zdGlja3lfdG9fYm90dG9tO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmZsby1oZWFkZXItbW9iaWxlIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmZsby1oZWFkZXItbW9iaWxlIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAuZmxvLWhlYWRlci1tb2JpbGUtc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IC5mbG8taGVhZGVyLW1vYmlsZSAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28taW1hZ2UtLXN0aWNreSB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZsby1oZWFkZXItbW9iaWxlX19zdGlja3ktaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMy4yNXJlbTtcbiAgICBoZWlnaHQ6IDMuMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMy4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMy4yNXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5mbG8taGVhZGVyLW1vYmlsZV9fc3RpY2t5LWljb24tLXBvc2l0aW9uLXRvcC1sZWZ0IHtcbiAgICAgIHRvcDogMS40Mzc1cmVtO1xuICAgICAgbGVmdDogMS4zMTI1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItbW9iaWxlX19zdGlja3ktaWNvbi0tcG9zaXRpb24tdG9wLXJpZ2h0IHtcbiAgICAgIHRvcDogMS40Mzc1cmVtO1xuICAgICAgcmlnaHQ6IDEuMzEyNXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLW1vYmlsZV9fc3RpY2t5LWljb24tLXBvc2l0aW9uLWJvdHRvbS1yaWdodCB7XG4gICAgICBib3R0b206IDEuNDM3NXJlbTtcbiAgICAgIHJpZ2h0OiAxLjMxMjVyZW07IH1cbiAgICAuZmxvLWhlYWRlci1tb2JpbGVfX3N0aWNreS1pY29uLS1wb3NpdGlvbi1ib3R0b20tbGVmdCB7XG4gICAgICBib3R0b206IDEuNDM3NXJlbTtcbiAgICAgIGxlZnQ6IDEuMzEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1oZWFkZXItbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuYm9keS0tZmxvLXBhZ2UtaGVyby1lbGVtZW50cy1jb2xvci1pcy1saWdodCAuZmxvLWhlYWRlci1hbmQtZmxvLXBhZ2UtaGVybyA+IGhlYWRlciA+IC5mbG8taGVhZGVyLW1vYmlsZSAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28taW1hZ2UtLWRlZmF1bHQsIC5ib2R5LS1mbG8tcGFnZS1oZXJvLWVsZW1lbnRzLWNvbG9yLWlzLWxpZ2h0IC5mbG8taGVhZGVyLWFuZC1mbG8tcGFnZS1oZXJvIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlcjpub3QoLmlzLXN0aWNreSkgLmZsby1oZWFkZXItbW9iaWxlIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuYm9keS0tZmxvLXBhZ2UtaGVyby1lbGVtZW50cy1jb2xvci1pcy1saWdodCAuZmxvLWhlYWRlci1hbmQtZmxvLXBhZ2UtaGVybyA+IGhlYWRlciA+IC5mbG8taGVhZGVyLW1vYmlsZSAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28taW1hZ2UtLWxpZ2h0LCAuYm9keS0tZmxvLXBhZ2UtaGVyby1lbGVtZW50cy1jb2xvci1pcy1saWdodCAuZmxvLWhlYWRlci1hbmQtZmxvLXBhZ2UtaGVybyAuZmxvLWhlYWRlci1tb2JpbGUtc3RpY2t5LXdyYXBwZXI6bm90KC5pcy1zdGlja3kpIC5mbG8taGVhZGVyLW1vYmlsZSAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28taW1hZ2UtLWxpZ2h0IHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmZsby1oZWFkZXItbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICBib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbi5mbG8taGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gIC8qIFNUQVJUOiBIRUFERVIgQ09NTU9OIEVMRU1FTlRTICovXG4gIC8qIFNUQVJUOiBNRU5VIChkcm9wZG93bnMsIGxpbmtzIGV0Yy4pICovXG4gIC8qIEVORDogTUVOVSAoZHJvcGRvd25zLCBsaW5rcyBldGMuKSAqL1xuICAvKiBFTkQ6IEhFQURFUiBDT01NT04gRUxFTUVOVFMgKi9cbiAgLyogU1RBUlQ6IEhFQURFUiBMQVlPVVRTICovXG4gIC8qIFNUQVJUOiBVbmlxdWUgQ1NTIGZvciBlYWNoIEhlYWRlciBUeXBlICovXG4gIC8qIEVORDogVW5pcXVlIENTUyBmb3IgZWFjaCBIZWFkZXIgVHlwZSAqL1xuICAvKiBTVEFSVDogV0hFTiBTVElDS1kgQURKVVNUIFBBRERJTkdTICovXG4gIC8qIEVORDogV0hFTiBTVElDS1kgQURKVVNUIFBBRERJTkdTICovXG4gIC8qIFNUQVJUOiBNZW51IEl0ZW1zIEdhcCAqL1xuICAvKiBFTkQ6IE1lbnUgSXRlbXMgR2FwICovXG4gIC8qIFNUQVJUOiBVbmlxdWUgQ1NTIGZvciBlYWNoIEhlYWRlciBUeXBlICovXG4gIC8qIEVORDogVW5pcXVlIENTUyBmb3IgZWFjaCBIZWFkZXIgVHlwZSAqL1xuICAvKiBTVEFSVDogV0hFTiBTVElDS1kgQURKVVNUIFBBRERJTkdTICovXG4gIC8qIEVORDogV0hFTiBTVElDS1kgQURKVVNUIFBBRERJTkdTICovXG4gIC8qIFNUQVJUOiBNZW51IEl0ZW1zIEdhcCAqL1xuICAvKiBFTkQ6IE1lbnUgSXRlbXMgR2FwICovXG4gIC8qIFNUQVJUOiBVbmlxdWUgQ1NTIGZvciBlYWNoIEhlYWRlciBUeXBlICovXG4gIC8qIEVORDogVW5pcXVlIENTUyBmb3IgZWFjaCBIZWFkZXIgVHlwZSAqL1xuICAvKiBTVEFSVDogTWVudSBJdGVtcyBHYXAgKi9cbiAgLyogRU5EOiBNZW51IEl0ZW1zIEdhcCAqL1xuICAvKiBTVEFSVDogVW5pcXVlIENTUyBmb3IgZWFjaCBIZWFkZXIgVHlwZSAqL1xuICAvKiBFTkQ6IFVuaXF1ZSBDU1MgZm9yIGVhY2ggSGVhZGVyIFR5cGUgKi9cbiAgLyogU1RBUlQ6IFdIRU4gU1RJQ0tZIEFESlVTVFMgUEFERElOR1MgKi9cbiAgLyogRU5EOiBXSEVOIFNUSUNLWSBBREpVU1RTIFBBRERJTkdTICovXG4gIC8qIFNUQVJUOiBVbmlxdWUgQ1NTIGZvciBlYWNoIEhlYWRlciBUeXBlICovXG4gIC8qIEVORDogVW5pcXVlIENTUyBmb3IgZWFjaCBIZWFkZXIgVHlwZSAqL1xuICAvKiBFTkQ6IEhFQURFUiBMQVlPVVRTICovIH1cbiAgLmZsby1oZWFkZXJfX21lbnUge1xuICAgIC8qIFN0YXJ0OiAybmQgTGV2ZWwgRHJvcGRvd24gKi9cbiAgICAvKiBFbmQ6IDJuZCBMZXZlbCBEcm9wZG93biAqLyB9XG4gICAgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgei1pbmRleDogMjMxMTIzMTI7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuZmxvLWhlYWRlcl9fbWVudSBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8taGVhZGVyX19tZW51IGxpIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmZsby1oZWFkZXJfX21lbnUgbGk6aG92ZXIgPiB1bCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgICAuZmxvLWhlYWRlcl9fbWVudSBsaSB1bCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB3aWR0aDogMTUuNjI1cmVtO1xuICAgICAgcGFkZGluZzogMS4xNTYyNXJlbSAwO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8taGVhZGVyX19tZW51IGxpIHVsIGxpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAuNDA2MjVyZW0gMi40Mzc1cmVtOyB9XG4gICAgICAgIC5mbG8taGVhZGVyX19tZW51IGxpIHVsIGxpLmN1cnJlbnQtbWVudS1pdGVtID4gYTpiZWZvcmUsIC5mbG8taGVhZGVyX19tZW51IGxpIHVsIGxpLmN1cnJlbnQtbWVudS1wYXJlbnQgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuZmxvLWhlYWRlcl9fbWVudSBsaSB1bCBsaSA+IGEge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLmZsby1oZWFkZXJfX21lbnUgbGkgdWwgbGkgPiBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgICAgLmZsby1oZWFkZXJfX21lbnUgbGkgdWwgbGkgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpID4gdWwge1xuICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxLjVyZW0pO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICAgICAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGkgPiB1bDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaSA+IHVsOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogY2FsYygxMDAlIC0gMC4wNjI1cmVtKTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwLjQzNzVyZW0gMC4zNzVyZW0gMC40Mzc1cmVtO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5mbG8taGVhZGVyX19tZW51LXRyaWdnZXItd3JhcCAuZmxvLWhlYWRlcl9fbWVudS10cmlnZ2VyIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1oZWFkZXJfX2xvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXJfX2xvZ28tLWlzLWxpZ2h0IC5mbG8taGVhZGVyX19sb2dvLWltYWdlLS1kZWZhdWx0IHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmxvLWhlYWRlcl9fbG9nby0taXMtbGlnaHQgLmZsby1oZWFkZXJfX2xvZ28taW1hZ2UtLWxpZ2h0IHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZmxvLWhlYWRlcl9fbG9nby1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1oZWFkZXJfX2xvZ28taW1hZ2UtLXN0aWNreSwgLmZsby1oZWFkZXJfX2xvZ28taW1hZ2UtLWxpZ2h0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAuZmxvLWhlYWRlcl9fc2VhcmNoLWZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxNi41cmVtO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5mbG8taGVhZGVyX19zZWFyY2gtZm9ybS1sYWJlbCwgLmZsby1oZWFkZXJfX3NlYXJjaC1mb3JtLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAuZmxvLWhlYWRlcl9fc2VhcmNoLWljb24ge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWhlYWRlcl9fc2VhcmNoLWZvcm0tbGFiZWwge1xuICAgIG1hcmdpbi1yaWdodDogMS4zMTI1cmVtO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5mbG8taGVhZGVyX19zZWFyY2gtZm9ybS1pbnB1dCB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1oZWFkZXJfX3NlYXJjaC1mb3JtLXN1Ym1pdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIuMTg3NXJlbTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuZmxvLWhlYWRlcl9fc2VhcmNoLWljb24ge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5mbG8taGVhZGVyX19zb2NpYWwtbGlua3MgYTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMTI1cmVtOyB9XG4gIC5mbG8taGVhZGVyX19zb2NpYWwtbGlua3MgYTpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIHotaW5kZXg6IDk5OTk7IH1cbiAgLmZsby1oZWFkZXJfX21lbnUtcG9wdXAge1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB3aWR0aDogMjYuMjVyZW07XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDUuMzEyNXJlbSA0LjkzNzVyZW0gNC44NzVyZW0gOS42ODc1cmVtO1xuICAgIG92ZXJmbG93LXg6IHZpc2libGU7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTsgfVxuICAuZmxvLWhlYWRlcl9fbWVudS1wb3B1cC1lbGVtZW50cy13cmFwIHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuZmxvLWhlYWRlcl9fbWVudS1wb3B1cC1sb2dvLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mbG8taGVhZGVyX19tZW51LXBvcHVwLWxvZ28td3JhcCAuZmxvLWhlYWRlcl9fbG9nbyB7XG4gICAgICBtYXgtd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG4gIC5mbG8taGVhZGVyX19tZW51LXBvcHVwLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGxlZnQ6IC0zLjMxMjVyZW07XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLmZsby1oZWFkZXJfX21lbnUtcG9wdXAtbWVudS13cmFwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4LjkzNzVyZW07IH1cbiAgICAuZmxvLWhlYWRlcl9fbWVudS1wb3B1cC1tZW51LXdyYXAgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmZsby1oZWFkZXJfX21lbnUtcG9wdXAtbWVudS13cmFwIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNTYyNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmZsby1oZWFkZXJfX21lbnUtcG9wdXAtbWVudS13cmFwIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaSA+IHVsIHtcbiAgICAgICAgbGVmdDogY2FsYygxMDAlICsgMi45Mzc1cmVtKTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuICAgICAgICAuZmxvLWhlYWRlcl9fbWVudS1wb3B1cC1tZW51LXdyYXAgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpID4gdWw6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMC41ZW07XG4gICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVYKC0xMDAlKSB0cmFuc2xhdGVZKDc1JSk7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAuNDM3NXJlbSAwLjM3NXJlbSAwLjQzNzVyZW07IH1cbiAgICAgICAgLmZsby1oZWFkZXJfX21lbnUtcG9wdXAtbWVudS13cmFwIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaSA+IHVsOmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDIuOTM3NXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IDA7IH1cbiAgLmZsby1oZWFkZXJfX21lbnUtcG9wdXAtdGV4dC1hYm92ZS1jb3B5cmlnaHQtbm90aWNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjA2MjVyZW07IH1cbiAgLmZsby1oZWFkZXJfX21lbnUtcG9wdXAtZmxvLWxvZ28ge1xuICAgIG1hcmdpbi10b3A6IDMuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA2LjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAuZmxvLWhlYWRlci0tdHlwZS1hLCAuZmxvLWhlYWRlci0tdHlwZS1iIHtcbiAgICBwYWRkaW5nOiAwIDYuMzc1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWEgLmZsby1oZWFkZXJfX21lbnUtd3JhcCwgLmZsby1oZWFkZXItLXR5cGUtYiAuZmxvLWhlYWRlcl9fbWVudS13cmFwIHtcbiAgICAgIHRyYW5zaXRpb246IHBhZGRpbmctYm90dG9tIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtYSAuZmxvLWhlYWRlcl9fbWVudSwgLmZsby1oZWFkZXItLXR5cGUtYiAuZmxvLWhlYWRlcl9fbWVudSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtYSAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsLCAuZmxvLWhlYWRlci0tdHlwZS1iIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgLmZsby1oZWFkZXItLXR5cGUtYSAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGksIC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgICAgICAgIC5mbG8taGVhZGVyLS10eXBlLWEgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpOmxhc3QtY2hpbGQsIC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7IH1cbiAgICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1hIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaTpudGgtY2hpbGQoNm4pOmxhc3QtY2hpbGQsIC5mbG8taGVhZGVyLS10eXBlLWEgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkLCAuZmxvLWhlYWRlci0tdHlwZS1iIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaTpudGgtY2hpbGQoNm4pOmxhc3QtY2hpbGQsIC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMyU7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7IH1cbiAgICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1hIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZCwgLmZsby1oZWFkZXItLXR5cGUtYiAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgICAgICAgLmZsby1oZWFkZXItLXR5cGUtYSAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGk6bnRoLWNoaWxkKDZuKTpsYXN0LWNoaWxkLCAuZmxvLWhlYWRlci0tdHlwZS1iIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaTpudGgtY2hpbGQoNm4pOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1hIC5mbG8taGVhZGVyX19sb2dvLXdyYXAsIC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX2xvZ28td3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLWJvdHRvbSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWhlYWRlci0tdHlwZS1hIC5mbG8taGVhZGVyX19tZW51LXdyYXAge1xuICAgIHBhZGRpbmctdG9wOiAyLjQzNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDUuMjVyZW07IH1cbiAgLmZsby1oZWFkZXItLXR5cGUtYSAuZmxvLWhlYWRlcl9fbG9nby13cmFwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNi4yNXJlbTsgfVxuICAuZmxvLWhlYWRlci0tdHlwZS1iIC5mbG8taGVhZGVyX19tZW51LXdyYXAge1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjQzNzVyZW07IH1cbiAgLmZsby1oZWFkZXItLXR5cGUtYiAuZmxvLWhlYWRlcl9fbG9nby13cmFwIHtcbiAgICBwYWRkaW5nLXRvcDogMy41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA0LjU2MjVyZW07IH1cbiAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWEgLmZsby1oZWFkZXJfX2xvZ28td3JhcCwgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX2xvZ28td3JhcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWEgLmZsby1oZWFkZXJfX21lbnUtd3JhcCwgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX21lbnUtd3JhcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgLmZsby1oZWFkZXItLXR5cGUtYywgLmZsby1oZWFkZXItLXR5cGUtZCB7XG4gICAgcGFkZGluZzogMS44NzVyZW0gNi4zNzVyZW0gMy4wNjI1cmVtIDYuMzc1cmVtO1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtYyAuZmxvLWhlYWRlcl9fdG9wLXdyYXAsIC5mbG8taGVhZGVyLS10eXBlLWQgLmZsby1oZWFkZXJfX3RvcC13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNjI1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWMgLmZsby1oZWFkZXJfX3NlYXJjaC13cmFwLCAuZmxvLWhlYWRlci0tdHlwZS1kIC5mbG8taGVhZGVyX19zZWFyY2gtd3JhcCB7XG4gICAgICBmbGV4LXNocmluazogMDsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWMgLmZsby1oZWFkZXJfX3NvY2lhbC1saW5rcywgLmZsby1oZWFkZXItLXR5cGUtZCAuZmxvLWhlYWRlcl9fc29jaWFsLWxpbmtzIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtYyAuZmxvLWhlYWRlcl9fYm90dG9tLXdyYXAsIC5mbG8taGVhZGVyLS10eXBlLWQgLmZsby1oZWFkZXJfX2JvdHRvbS13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtYyAuZmxvLWhlYWRlcl9fbG9nby13cmFwLCAuZmxvLWhlYWRlci0tdHlwZS1kIC5mbG8taGVhZGVyX19sb2dvLXdyYXAge1xuICAgICAgZmxleC1zaHJpbms6IDA7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1jIC5mbG8taGVhZGVyX19tZW51LCAuZmxvLWhlYWRlci0tdHlwZS1kIC5mbG8taGVhZGVyX19tZW51IHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWMgPiBkaXYgPiB1bCwgLmZsby1oZWFkZXItLXR5cGUtZCA+IGRpdiA+IHVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLWhlYWRlci0tdHlwZS1jIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1jIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogOS4wNjI1cmVtOyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWQgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41NjI1cmVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxLjU2MjVyZW0pO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWQgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogOS4wNjI1cmVtOyB9XG4gIC5mbG8taGVhZGVyLS1zdGlja3kgLmlzLXN0aWNreSAuZmxvLWhlYWRlci0tdHlwZS1jLCAuZmxvLWhlYWRlci0tc3RpY2t5IC5pcy1zdGlja3kgLmZsby1oZWFkZXItLXR5cGUtZCB7XG4gICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuZmxvLWhlYWRlci0tc3RpY2t5IC5pcy1zdGlja3kgLmZsby1oZWFkZXItLXR5cGUtYyAuZmxvLWhlYWRlcl9fdG9wLXdyYXAsIC5mbG8taGVhZGVyLS1zdGlja3kgLmlzLXN0aWNreSAuZmxvLWhlYWRlci0tdHlwZS1kIC5mbG8taGVhZGVyX190b3Atd3JhcCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLmZsby1oZWFkZXItLXR5cGUtZSwgLmZsby1oZWFkZXItLXR5cGUtZiB7XG4gICAgcGFkZGluZzogMCA2LjM3NXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDIuMTg3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi4xODc1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtZSAuZmxvLWhlYWRlcl9fbG9nby13cmFwLCAuZmxvLWhlYWRlci0tdHlwZS1mIC5mbG8taGVhZGVyX19sb2dvLXdyYXAge1xuICAgICAgZmxleC1zaHJpbms6IDA7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1lIC5mbG8taGVhZGVyX19tZW51LXdyYXAsIC5mbG8taGVhZGVyLS10eXBlLWYgLmZsby1oZWFkZXJfX21lbnUtd3JhcCB7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1lIC5mbG8taGVhZGVyX19tZW51LCAuZmxvLWhlYWRlci0tdHlwZS1mIC5mbG8taGVhZGVyX19tZW51IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1lIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwsIC5mbG8taGVhZGVyLS10eXBlLWYgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1lIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaSwgLmZsby1oZWFkZXItLXR5cGUtZiAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGkge1xuICAgICAgICAgIHBhZGRpbmc6IDAuNDY4NzVyZW0gMDsgfVxuICAuZmxvLWhlYWRlci0tdHlwZS1lIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1lIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogOS4wNjI1cmVtOyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWYgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41NjI1cmVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxLjU2MjVyZW0pOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtZiAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA5LjA2MjVyZW07IH1cbiAgLmZsby1oZWFkZXItLXR5cGUtZywgLmZsby1oZWFkZXItLXR5cGUtaCB7XG4gICAgcGFkZGluZzogMCA2LjM3NXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWcgLmZsby1oZWFkZXJfX2FkZG9ucy13cmFwLCAuZmxvLWhlYWRlci0tdHlwZS1oIC5mbG8taGVhZGVyX19hZGRvbnMtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtZyAuZmxvLWhlYWRlcl9fc2VhcmNoLXdyYXAsIC5mbG8taGVhZGVyLS10eXBlLWggLmZsby1oZWFkZXJfX3NlYXJjaC13cmFwIHtcbiAgICAgIHdpZHRoOiAzMCU7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1nIC5mbG8taGVhZGVyX19sb2dvLXdyYXAsIC5mbG8taGVhZGVyLS10eXBlLWggLmZsby1oZWFkZXJfX2xvZ28td3JhcCB7XG4gICAgICB3aWR0aDogNDAlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWcgLmZsby1oZWFkZXJfX3NvY2lhbC1saW5rcywgLmZsby1oZWFkZXItLXR5cGUtaCAuZmxvLWhlYWRlcl9fc29jaWFsLWxpbmtzIHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWcgLmZsby1oZWFkZXJfX21lbnUtd3JhcCwgLmZsby1oZWFkZXItLXR5cGUtaCAuZmxvLWhlYWRlcl9fbWVudS13cmFwIHtcbiAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1nIC5mbG8taGVhZGVyX19tZW51LCAuZmxvLWhlYWRlci0tdHlwZS1oIC5mbG8taGVhZGVyX19tZW51IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1nIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwsIC5mbG8taGVhZGVyLS10eXBlLWggLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1nIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaSwgLmZsby1oZWFkZXItLXR5cGUtaCAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGkge1xuICAgICAgICAgIHdpZHRoOiAyNCU7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1nIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaTpsYXN0LWNoaWxkLCAuZmxvLWhlYWRlci0tdHlwZS1oIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMHB4OyB9XG4gICAgICAgICAgLmZsby1oZWFkZXItLXR5cGUtZyAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGk6bnRoLWNoaWxkKDVuKTpsYXN0LWNoaWxkLCAuZmxvLWhlYWRlci0tdHlwZS1nIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZCwgLmZsby1oZWFkZXItLXR5cGUtaCAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGk6bnRoLWNoaWxkKDVuKTpsYXN0LWNoaWxkLCAuZmxvLWhlYWRlci0tdHlwZS1oIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTQlOyB9XG4gICAgICAgICAgLmZsby1oZWFkZXItLXR5cGUtZyAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQsIC5mbG8taGVhZGVyLS10eXBlLWggLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgICAgICAgIC5mbG8taGVhZGVyLS10eXBlLWcgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpOm50aC1jaGlsZCg1bik6bGFzdC1jaGlsZCwgLmZsby1oZWFkZXItLXR5cGUtaCAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGk6bnRoLWNoaWxkKDVuKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwOyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWcgLmZsby1oZWFkZXJfX2FkZG9ucy13cmFwIHtcbiAgICBwYWRkaW5nLXRvcDogMy41NjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWcgLmZsby1oZWFkZXJfX21lbnUtd3JhcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDMuNTYyNXJlbTsgfVxuICAuZmxvLWhlYWRlci0tdHlwZS1oIC5mbG8taGVhZGVyX19hZGRvbnMtd3JhcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDQuMjVyZW07IH1cbiAgLmZsby1oZWFkZXItLXR5cGUtaCAuZmxvLWhlYWRlcl9fbWVudS13cmFwIHtcbiAgICBwYWRkaW5nLXRvcDogMi4xODc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjQzNzVyZW07IH1cbiAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWcgLmZsby1oZWFkZXJfX2FkZG9ucy13cmFwLCAuZmxvLWhlYWRlci0tc3RpY2t5IC5pcy1zdGlja3kgLmZsby1oZWFkZXItLXR5cGUtaCAuZmxvLWhlYWRlcl9fYWRkb25zLXdyYXAge1xuICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuODEyNXJlbTsgfVxuICAuZmxvLWhlYWRlci0tc3RpY2t5IC5pcy1zdGlja3kgLmZsby1oZWFkZXItLXR5cGUtZyAuZmxvLWhlYWRlcl9fbWVudS13cmFwLCAuZmxvLWhlYWRlci0tc3RpY2t5IC5pcy1zdGlja3kgLmZsby1oZWFkZXItLXR5cGUtaCAuZmxvLWhlYWRlcl9fbWVudS13cmFwIHtcbiAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgLmZsby1oZWFkZXItLXR5cGUtaSwgLmZsby1oZWFkZXItLXR5cGUtaiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAyLjE4NzVyZW0gNi4zNzVyZW0gMi41NjI1cmVtIDYuMzc1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtaSAuZmxvLWhlYWRlcl9fbGVmdC1zaWRlLCAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19sZWZ0LXNpZGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1pIC5mbG8taGVhZGVyX19yaWdodC1zaWRlLCAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19yaWdodC1zaWRlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWkgLmZsby1oZWFkZXJfX3NlYXJjaC13cmFwLCAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19zZWFyY2gtd3JhcCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQuNzVyZW07IH1cbiAgLmZsby1oZWFkZXItLXR5cGUtaSAuZmxvLWhlYWRlcl9fbWVudS10cmlnZ2VyLXdyYXAge1xuICAgIG1hcmdpbi1yaWdodDogMi4yNXJlbTsgfVxuICAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19tZW51LXRyaWdnZXItd3JhcCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIuMjVyZW07IH1cbiAgLmZsby1oZWFkZXItLXR5cGUtayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAxLjM3NXJlbSA2LjM3NXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIC8qIFNUQVJUOiBNZW51IEl0ZW1zIEdhcCAqL1xuICAgIC8qIEVORDogTWVudSBJdGVtcyBHYXAgKi8gfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWsgLmZsby1oZWFkZXJfX2xlZnQtY29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTYuNXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWsgLmZsby1oZWFkZXJfX21pZGRsZS1jb2x1bW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nOiAwIDIuMzEyNXJlbTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWsgLmZsby1oZWFkZXJfX3RvcC1wYXJ0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcGFkZGluZzogMXJlbSAxLjQzNzVyZW0gMS4zMTI1cmVtIDEuNDM3NXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWsgLmZsby1oZWFkZXJfX3ByZS10aXRsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtayAuZmxvLWhlYWRlcl9fdGl0bGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtayAuZmxvLWhlYWRlcl9fYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6IDAuMzc1cmVtIDEuMTg3NXJlbSAwLjE4NzVyZW0gMS4xODc1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtayAuZmxvLWhlYWRlcl9fYm90dG9tLXBhcnQge1xuICAgICAgcGFkZGluZzogMS41cmVtIDEuNDM3NXJlbSAxLjM3NXJlbSAxLjQzNzVyZW07IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1rIC5mbG8taGVhZGVyX19tZW51IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1rIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTQuMzc1cmVtO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNC4zNzVyZW0pOyB9XG4gICAgICAgIC5mbG8taGVhZGVyLS10eXBlLWsgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNC4zNzVyZW07IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1rIC5mbG8taGVhZGVyX19yaWdodC1jb2x1bW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICB3aWR0aDogMTYuNXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWsgLmZsby1oZWFkZXJfX3NvY2lhbC1saW5rcy1saW5lIHtcbiAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNjg3NXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWsgLmZsby1oZWFkZXJfX3NvY2lhbC1saW5rcyA+IGEge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1rIC5mbG8taGVhZGVyX19zb2NpYWwtbGlua3MtdGV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1rIC5mbG8taGVhZGVyX19wcmUtdGl0bGUsXG4gICAgLmZsby1oZWFkZXItLXR5cGUtayAuZmxvLWhlYWRlcl9fdGl0bGUsXG4gICAgLmZsby1oZWFkZXItLXR5cGUtayAuZmxvLWhlYWRlcl9fYnV0dG9uLFxuICAgIC5mbG8taGVhZGVyLS10eXBlLWsgLmZsby1oZWFkZXJfX3NvY2lhbC1saW5rcy1saW5lLFxuICAgIC5mbG8taGVhZGVyLS10eXBlLWsgLmZsby1oZWFkZXJfX3RpdGxlLWRpdmlkZXIsXG4gICAgLmZsby1oZWFkZXItLXR5cGUtayAuZmxvLWhlYWRlcl9fc29jaWFsLWxpbmtzLXRleHQge1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1rIC5mbG8taGVhZGVyX19idXR0b24ge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWhlYWRlci0tdHlwZS1sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIuNDM3NXJlbSA2LjM3NXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtbC5hbGlnbi1mbGV4LXN0YXJ0IC5mbG8taGVhZGVyX19tZW51LS1sZWZ0LCAuZmxvLWhlYWRlci0tdHlwZS1sLmFsaWduLWZsZXgtc3RhcnQgLmZsby1oZWFkZXJfX21lbnUtLXJpZ2h0IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWwgLmZsby1oZWFkZXJfX2NlbnRlcmVkLWxvZ28td3JhcCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmbGV4LXNocmluazogMDsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtbCAuZmxvLWhlYWRlcl9fY2VudGVyZWQtbG9nby13cmFwIC5mbG8taGVhZGVyX19zb2NpYWwtbGlua3Mge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1sIC5mbG8taGVhZGVyX19tZW51LS1sZWZ0IC5mbG8taGVhZGVyX19tZW51LWl0ZW1zID4gbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzLjE4NzVyZW07IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1sIC5mbG8taGVhZGVyX19tZW51LS1sZWZ0ID4gZGl2ID4gdWwge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1sIC5mbG8taGVhZGVyX19tZW51LS1yaWdodCAuZmxvLWhlYWRlcl9fc2VhcmNoLXdyYXAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMuMTg3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1sIC5mbG8taGVhZGVyX19tZW51LS1yaWdodCAuZmxvLWhlYWRlcl9fc2VhcmNoLXdyYXAgLmZsby1pY29uLWNsb3NlLFxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtbCAuZmxvLWhlYWRlcl9fbWVudS0tcmlnaHQgLmZsby1oZWFkZXJfX3NlYXJjaC13cmFwIC5mbG8taWNvbi1zZWFyY2gge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8taGVhZGVyLS10eXBlLWwgLmZsby1oZWFkZXJfX21lbnUtLXJpZ2h0IC5mbG8taGVhZGVyX19zZWFyY2gtd3JhcCAuZmxvLWljb24tY2xvc2Uge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1sIC5mbG8taGVhZGVyX19tZW51LS1yaWdodCAuZmxvLWhlYWRlcl9fc2VhcmNoLXdyYXAgLnNlYXJjaC12aXNpYmxlICsgLmZsby1oZWFkZXJfX3NlYXJjaC10cmlnZ2VyIC5mbG8taWNvbi1zZWFyY2gge1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1sIC5mbG8taGVhZGVyX19tZW51LS1yaWdodCAuZmxvLWhlYWRlcl9fc2VhcmNoLXdyYXAgLnNlYXJjaC12aXNpYmxlICsgLmZsby1oZWFkZXJfX3NlYXJjaC10cmlnZ2VyIC5mbG8taWNvbi1jbG9zZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5mbG8taGVhZGVyLS10eXBlLWwgLmZsby1oZWFkZXJfX21lbnUtLXJpZ2h0IC5mbG8taGVhZGVyX19zZWFyY2gtd3JhcCAuZmxvLWhlYWRlcl9fc2VhcmNoLWZvcm0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtMS42MjVyZW07XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAuODI1cmVtIDAuNjI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGNkY1ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogY2FsYygxMDAlICsgMS4yMjVyZW0pO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAgIC5mbG8taGVhZGVyLS10eXBlLWwgLmZsby1oZWFkZXJfX21lbnUtLXJpZ2h0IC5mbG8taGVhZGVyX19zZWFyY2gtd3JhcCAuZmxvLWhlYWRlcl9fc2VhcmNoLWZvcm0uc2VhcmNoLXZpc2libGUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgICAgICAgLmZsby1oZWFkZXItLXR5cGUtbCAuZmxvLWhlYWRlcl9fbWVudS0tcmlnaHQgLmZsby1oZWFkZXJfX3NlYXJjaC13cmFwIC5mbG8taGVhZGVyX19zZWFyY2gtZm9ybTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMC41NzgxMnJlbSAwLjU5Mzc1cmVtIDAuNTc4MTJyZW07XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0Y4RjZGNTsgfVxuICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1sIC5mbG8taGVhZGVyX19tZW51LS1yaWdodCAuZmxvLWhlYWRlcl9fc2VhcmNoLXdyYXAgLmZsby1oZWFkZXJfX3NlYXJjaC1mb3JtIC5mbG8taGVhZGVyX19zZWFyY2gtZm9ybS1pbnB1dCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjZGNSAhaW1wb3J0YW50O1xuICAgICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mbG8taGVhZGVyLS10eXBlLWwgLmZsby1oZWFkZXJfX21lbnUtLXJpZ2h0IC5mbG8taGVhZGVyX19zZWFyY2gtd3JhcCAuZmxvLWhlYWRlcl9fc2VhcmNoLXRyaWdnZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtbCAuZmxvLWhlYWRlcl9fbWVudS0tcmlnaHQgLmZsby1oZWFkZXJfX21lbnUtaXRlbXMgPiBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMy4xODc1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtbCAuZmxvLWhlYWRlcl9fbWVudS0tcmlnaHQgPiBkaXYgPiB1bCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8taGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4qIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG5cbi8qIFNUQVJUOiBTVElDS1kgSEVBREVSIFNUWUxFUyAqL1xuLmZsby1oZWFkZXItLXN0aWNreSAuc3RpY2t5LXdyYXBwZXIge1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWhlYWRlci0tc3RpY2t5IC5zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmZsby1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmZsby1oZWFkZXItLXN0aWNreSAuc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IC5mbG8taGVhZGVyX19sb2dvLWltYWdlLS1kZWZhdWx0IHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmxvLWhlYWRlci0tc3RpY2t5IC5zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmZsby1oZWFkZXJfX2xvZ28taW1hZ2UtLWxpZ2h0IHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmxvLWhlYWRlci0tc3RpY2t5IC5zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmZsby1oZWFkZXJfX2xvZ28taW1hZ2UtLXN0aWNreSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi8qIEVORDogU1RJQ0tZIEhFQURFUiBTVFlMRVMgKi9cbi5mbG8taGVhZGVyLXRvcGJhci0tc2ltcGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvLWhlYWRlci10b3BiYXItLXNpbXBsZV9fYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmxvLWhlYWRlci10b3BiYXItLXNpbXBsZV9fYnV0dG9uOmFmdGVyLCAuZmxvLWhlYWRlci10b3BiYXItLXNpbXBsZV9fYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkOyB9XG4gICAgLmZsby1oZWFkZXItdG9wYmFyLS1zaW1wbGVfX2J1dHRvbjphZnRlciB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mbG8taGVhZGVyLXRvcGJhci0tc2ltcGxlX19idXR0b246YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAwcHg7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWhlYWRlci10b3BiYXItLXNpbXBsZV9fYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuZmxvLWhlYWRlci10b3BiYXItLXNpbXBsZV9fY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5mbG8taGVhZGVyLXRvcGJhci0tZXh0ZW5kZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5mbG8taGVhZGVyLXRvcGJhci0tZXh0ZW5kZWRfX3RleHQge1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgLmZsby1oZWFkZXItdG9wYmFyLS1leHRlbmRlZF9fYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjg3NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBib3gtc2hhZG93IDAuNXMsIHRyYW5zZm9ybSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWhlYWRlci10b3BiYXItLWV4dGVuZGVkX19idXR0b246aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgICAuZmxvLWhlYWRlci10b3BiYXItLWV4dGVuZGVkX19idXR0b246YWN0aXZlLCAuZmxvLWhlYWRlci10b3BiYXItLWV4dGVuZGVkX19idXR0b246Zm9jdXMge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsgfVxuICAuZmxvLWhlYWRlci10b3BiYXItLWV4dGVuZGVkX19jbG9zZSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8taGVhZGVyLXRvcGJhci0tc2ltcGxlIHtcbiAgICBwYWRkaW5nOiAyMHB4IDEwMHB4OyB9XG4gICAgLmZsby1oZWFkZXItdG9wYmFyLS1zaW1wbGVfX2J1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogNjVweDsgfVxuICAgIC5mbG8taGVhZGVyLXRvcGJhci0tc2ltcGxlX19jbG9zZSB7XG4gICAgICByaWdodDogNi4yNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAuZmxvLWhlYWRlci10b3BiYXItLWV4dGVuZGVkIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIHBhZGRpbmc6IDI1cHggMDsgfVxuICAgIC5mbG8taGVhZGVyLXRvcGJhci0tZXh0ZW5kZWRfX2ltYWdlLXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7IH1cbiAgICAgIC5mbG8taGVhZGVyLXRvcGJhci0tZXh0ZW5kZWRfX2ltYWdlLXdyYXAgLmZsby1oZWFkZXItdG9wYmFyX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZmxvLWhlYWRlci10b3BiYXItLWV4dGVuZGVkX190ZXh0LXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWxlZnQ6IDUuNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1LjYyNXJlbTtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5mbG8taGVhZGVyLXRvcGJhci0tZXh0ZW5kZWRfX2FjdGlvbnMtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBmbGV4LXNocmluazogMDsgfVxuICAgIC5mbG8taGVhZGVyLXRvcGJhci0tZXh0ZW5kZWRfX2Nsb3NlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLmZsby1oZWFkZXItdG9wYmFyLS1leHRlbmRlZF9faW1hZ2Utd3JhcCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1oZWFkZXItdG9wYmFyLS1zaW1wbGUge1xuICAgIHBhZGRpbmc6IDEuODc1cmVtIDA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWhlYWRlci10b3BiYXItLXNpbXBsZV9fdGV4dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLXRvcGJhci0tc2ltcGxlX19jbG9zZSB7XG4gICAgICB0b3A6IDAuNDM3NXJlbTsgfVxuICAuZmxvLWhlYWRlci10b3BiYXItLWV4dGVuZGVkIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxvX3BhZ2Vfd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvX3BhZ2Vfd3JhcC0tcGFkZGluZy10b3AtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA5LjM3NXJlbTsgfVxuXG4uZmxvX3BhZ2Uge1xuICBmbGV4LWdyb3c6IDE7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mbG8tcG9zdC13cmFwIHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmZsby1wb3N0LS1ub3QtZm91bmQge1xuICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH1cblxuLmZsby1wb3N0LCAuZmxvLXBvc3RfX3N0eWxlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAzLjAgQWxpZ25tZW50c1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgOC4wIExpc3RzXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAxNi4wIE1lZGlhXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyogTWFrZSBzdXJlIGVtYmVkcyBhbmQgaWZyYW1lcyBmaXQgdGhlaXIgY29udGFpbmVycy4gKi9cbiAgLyogTWVkaWEgRWxlbWVudHMgKi9cbiAgLyogQXVkaW8gUGxheWVyICovXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgMTYuMSBHYWxsZXJpZXNcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAvKiBzcGFjaW5nIGJlbG93IGltYWdlICovIH1cbiAgLmZsby1wb3N0IGltZywgLmZsby1wb3N0X19zdHlsZXMgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1wb3N0IC5ibG9ja3MtZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuYmxvY2tzLWdhbGxlcnktaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZmxvLXBvc3QgcCwgLmZsby1wb3N0X19zdHlsZXMgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgLmZsby1wb3N0IHA6bGFzdC1vZi10eXBlLCAuZmxvLXBvc3RfX3N0eWxlcyBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mbG8tcG9zdCBibG9ja3F1b3RlLCAuZmxvLXBvc3RfX3N0eWxlcyBibG9ja3F1b3RlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIC5mbG8tcG9zdCBibG9ja3F1b3RlIHAsIC5mbG8tcG9zdF9fc3R5bGVzIGJsb2NrcXVvdGUgcCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgICAuZmxvLXBvc3QgYmxvY2txdW90ZSBwOmxhc3Qtb2YtdHlwZSwgLmZsby1wb3N0X19zdHlsZXMgYmxvY2txdW90ZSBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZsby1wb3N0IGgxLCAuZmxvLXBvc3QgaDIsIC5mbG8tcG9zdCBoMywgLmZsby1wb3N0IGg0LCAuZmxvLXBvc3QgaDUsIC5mbG8tcG9zdCBoNiwgLmZsby1wb3N0X19zdHlsZXMgaDEsIC5mbG8tcG9zdF9fc3R5bGVzIGgyLCAuZmxvLXBvc3RfX3N0eWxlcyBoMywgLmZsby1wb3N0X19zdHlsZXMgaDQsIC5mbG8tcG9zdF9fc3R5bGVzIGg1LCAuZmxvLXBvc3RfX3N0eWxlcyBoNiB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTsgfVxuICAuZmxvLXBvc3QgLmFsaWdubGVmdCwgLmZsby1wb3N0X19zdHlsZXMgLmFsaWdubGVmdCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMS41ZW07IH1cbiAgLmZsby1wb3N0IC5hbGlnbnJpZ2h0LCAuZmxvLXBvc3RfX3N0eWxlcyAuYWxpZ25yaWdodCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMS41ZW07IH1cbiAgLmZsby1wb3N0IC5hbGlnbmNlbnRlciwgLmZsby1wb3N0X19zdHlsZXMgLmFsaWduY2VudGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmZsby1wb3N0IHVsLFxuICAuZmxvLXBvc3Qgb2wsIC5mbG8tcG9zdF9fc3R5bGVzIHVsLFxuICAuZmxvLXBvc3RfX3N0eWxlcyBvbCB7XG4gICAgbWFyZ2luOiAwIDAgMS41ZW07XG4gICAgcGFkZGluZzogMDsgfVxuICAuZmxvLXBvc3QgdWwsIC5mbG8tcG9zdF9fc3R5bGVzIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjOyB9XG4gIC5mbG8tcG9zdCBvbCwgLmZsby1wb3N0X19zdHlsZXMgb2wge1xuICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7IH1cbiAgLmZsby1wb3N0IGxpID4gdWwsXG4gIC5mbG8tcG9zdCBsaSA+IG9sLCAuZmxvLXBvc3RfX3N0eWxlcyBsaSA+IHVsLFxuICAuZmxvLXBvc3RfX3N0eWxlcyBsaSA+IG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVlbTsgfVxuICAuZmxvLXBvc3QgZHQsIC5mbG8tcG9zdF9fc3R5bGVzIGR0IHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5mbG8tcG9zdCBkZCwgLmZsby1wb3N0X19zdHlsZXMgZGQge1xuICAgIG1hcmdpbjogMCAxLjVlbSAxLjVlbTsgfVxuICAuZmxvLXBvc3QgaW1nLFxuICAuZmxvLXBvc3QgdmlkZW8sIC5mbG8tcG9zdF9fc3R5bGVzIGltZyxcbiAgLmZsby1wb3N0X19zdHlsZXMgdmlkZW8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICAvKiBNYWtlIHN1cmUgaW1hZ2VzIGFyZSBzY2FsZWQgY29ycmVjdGx5LiAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiBBZGhlcmUgdG8gY29udGFpbmVyIHdpZHRoLiAqL1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5mbG8tcG9zdCAuY29tbWVudC1jb250ZW50IC53cC1zbWlsZXksIC5mbG8tcG9zdF9fc3R5bGVzIC5jb21tZW50LWNvbnRlbnQgLndwLXNtaWxleSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5mbG8tcG9zdCBlbWJlZCxcbiAgLmZsby1wb3N0IGlmcmFtZSxcbiAgLmZsby1wb3N0IG9iamVjdCwgLmZsby1wb3N0X19zdHlsZXMgZW1iZWQsXG4gIC5mbG8tcG9zdF9fc3R5bGVzIGlmcmFtZSxcbiAgLmZsby1wb3N0X19zdHlsZXMgb2JqZWN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5mbG8tcG9zdCAud3AtY2FwdGlvbixcbiAgLmZsby1wb3N0IC53cC1jYXB0aW9uIGEsXG4gIC5mbG8tcG9zdCAuZ2FsbGVyeS1jYXB0aW9uLCAuZmxvLXBvc3RfX3N0eWxlcyAud3AtY2FwdGlvbixcbiAgLmZsby1wb3N0X19zdHlsZXMgLndwLWNhcHRpb24gYSxcbiAgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktY2FwdGlvbiB7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgZm9udC1zaXplOiAwLjYxMjVyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogMWVtOyB9XG4gIC5mbG8tcG9zdCAud3AtY2FwdGlvbiBpbWdbY2xhc3MqPVwid3AtaW1hZ2UtXCJdLCAuZmxvLXBvc3RfX3N0eWxlcyAud3AtY2FwdGlvbiBpbWdbY2xhc3MqPVwid3AtaW1hZ2UtXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmZsby1wb3N0IC53cC1jYXB0aW9uIC53cC1jYXB0aW9uLXRleHQsIC5mbG8tcG9zdCAud3AtY2FwdGlvbi10ZXh0IGEsIC5mbG8tcG9zdF9fc3R5bGVzIC53cC1jYXB0aW9uIC53cC1jYXB0aW9uLXRleHQsIC5mbG8tcG9zdF9fc3R5bGVzIC53cC1jYXB0aW9uLXRleHQgYSB7XG4gICAgbWFyZ2luOiAwLjgwNzVlbSAwOyB9XG4gIC5mbG8tcG9zdCAud3AtY2FwdGlvbiBwLCAuZmxvLXBvc3RfX3N0eWxlcyAud3AtY2FwdGlvbiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mbG8tcG9zdCAubWVqcy1jb250YWluZXIsIC5mbG8tcG9zdF9fc3R5bGVzIC5tZWpzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuZmxvLXBvc3QgLm1lanMtY29udHJvbHMgYS5tZWpzLWhvcml6b250YWwtdm9sdW1lLXNsaWRlcixcbiAgLmZsby1wb3N0IC5tZWpzLWNvbnRyb2xzIGEubWVqcy1ob3Jpem9udGFsLXZvbHVtZS1zbGlkZXI6Zm9jdXMsXG4gIC5mbG8tcG9zdCAubWVqcy1jb250cm9scyBhLm1lanMtaG9yaXpvbnRhbC12b2x1bWUtc2xpZGVyOmhvdmVyLCAuZmxvLXBvc3RfX3N0eWxlcyAubWVqcy1jb250cm9scyBhLm1lanMtaG9yaXpvbnRhbC12b2x1bWUtc2xpZGVyLFxuICAuZmxvLXBvc3RfX3N0eWxlcyAubWVqcy1jb250cm9scyBhLm1lanMtaG9yaXpvbnRhbC12b2x1bWUtc2xpZGVyOmZvY3VzLFxuICAuZmxvLXBvc3RfX3N0eWxlcyAubWVqcy1jb250cm9scyBhLm1lanMtaG9yaXpvbnRhbC12b2x1bWUtc2xpZGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmZsby1wb3N0IC5nYWxsZXJ5LWl0ZW0sIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWFyZ2luOiAwIDAgMS41ZW07XG4gICAgcGFkZGluZzogMCAxZW0gMCAwO1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmZsby1wb3N0IC5nYWxsZXJ5LWNvbHVtbnMtMSAuZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1jb2x1bW5zLTEgLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmxvLXBvc3QgLmdhbGxlcnktY29sdW1ucy0xIC5nYWxsZXJ5LWl0ZW0gYSwgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktY29sdW1ucy0xIC5nYWxsZXJ5LWl0ZW0gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmxvLXBvc3QgLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW0sIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuZmxvLXBvc3QgLmdhbGxlcnktaXRlbSBhLFxuICAuZmxvLXBvc3QgLmdhbGxlcnktaXRlbSBhOmhvdmVyLFxuICAuZmxvLXBvc3QgLmdhbGxlcnktaXRlbSBhOmZvY3VzLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1pdGVtIGEsXG4gIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWl0ZW0gYTpob3ZlcixcbiAgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktaXRlbSBhOmZvY3VzIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1wb3N0IC5nYWxsZXJ5LWl0ZW0gYSBpbWcsIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWl0ZW0gYSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC1maWx0ZXIgMC4ycyBlYXNlLWluO1xuICAgIHRyYW5zaXRpb246IC13ZWJraXQtZmlsdGVyIDAuMnMgZWFzZS1pbjtcbiAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4ycyBlYXNlLWluO1xuICAgIHRyYW5zaXRpb246IGZpbHRlciAwLjJzIGVhc2UtaW4sIC13ZWJraXQtZmlsdGVyIDAuMnMgZWFzZS1pbjtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLmZsby1wb3N0IC5nYWxsZXJ5LWl0ZW0gYTpob3ZlciBpbWcsXG4gIC5mbG8tcG9zdCAuZ2FsbGVyeS1pdGVtIGE6Zm9jdXMgaW1nLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1pdGVtIGE6aG92ZXIgaW1nLFxuICAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1pdGVtIGE6Zm9jdXMgaW1nIHtcbiAgICAtd2Via2l0LWZpbHRlcjogb3BhY2l0eSg2MCUpO1xuICAgIGZpbHRlcjogb3BhY2l0eSg2MCUpOyB9XG4gIC5mbG8tcG9zdCAuZ2FsbGVyeS1jYXB0aW9uLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZmxvLXBvc3QgYSBpbWcsIC5mbG8tcG9zdCBpbWcsIC5mbG8tcG9zdCBpbWcuYWxpZ25sZWZ0LCAuZmxvLXBvc3QgaW1nLmFsaWducmlnaHQsIC5mbG8tcG9zdCBpbWcuYWxpZ25jZW50ZXIsIC5mbG8tcG9zdF9fc3R5bGVzIGEgaW1nLCAuZmxvLXBvc3RfX3N0eWxlcyBpbWcsIC5mbG8tcG9zdF9fc3R5bGVzIGltZy5hbGlnbmxlZnQsIC5mbG8tcG9zdF9fc3R5bGVzIGltZy5hbGlnbnJpZ2h0LCAuZmxvLXBvc3RfX3N0eWxlcyBpbWcuYWxpZ25jZW50ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tcG9zdCwgLmZsby1wb3N0X19zdHlsZXMge1xuICAgICAgLyogR2FsbGVyeSBDb2x1bW5zICovIH1cbiAgICAgIC5mbG8tcG9zdCBkaXYuZ2FsbGVyeSwgLmZsby1wb3N0X19zdHlsZXMgZGl2LmdhbGxlcnkge1xuICAgICAgICBmb250LXNpemU6IDBweDsgfVxuICAgICAgLmZsby1wb3N0IC5nYWxsZXJ5LWl0ZW0sIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAgICAgLmZsby1wb3N0IC5nYWxsZXJ5LWNvbHVtbnMtMSAuZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1jb2x1bW5zLTEgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLmZsby1wb3N0IC5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gICAgICAuZmxvLXBvc3QgLmdhbGxlcnktY29sdW1ucy0zIC5nYWxsZXJ5LWl0ZW0sIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWNvbHVtbnMtMyAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMyU7IH1cbiAgICAgIC5mbG8tcG9zdCAuZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbSwgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAgICAgLmZsby1wb3N0IC5nYWxsZXJ5LWNvbHVtbnMtNSAuZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gICAgICAuZmxvLXBvc3QgLmdhbGxlcnktY29sdW1ucy02IC5nYWxsZXJ5LWl0ZW0sIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNi42NiU7IH1cbiAgICAgIC5mbG8tcG9zdCAuZ2FsbGVyeS1jb2x1bW5zLTcgLmdhbGxlcnktaXRlbSwgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktY29sdW1ucy03IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDE0LjI4NSU7IH1cbiAgICAgIC5mbG8tcG9zdCAuZ2FsbGVyeS1jb2x1bW5zLTggLmdhbGxlcnktaXRlbSwgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktY29sdW1ucy04IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG4gICAgICAuZmxvLXBvc3QgLmdhbGxlcnktY29sdW1ucy05IC5nYWxsZXJ5LWl0ZW0sIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMS4xMTElOyB9IH1cblxuLnBvc3QtcGFzc3dvcmQtZm9ybSB7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDYwcHg7IH1cbiAgLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmJiYmIgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4uZmxvLXJlbGF0ZWQtaXRlbXNfX3RpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gIHBhZGRpbmctYm90dG9tOiAyLjA2MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH1cblxuLmZsby1yZWxhdGVkLWl0ZW1zX19pdGVtIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmxvLXJlbGF0ZWQtaXRlbXNfX2l0ZW0taW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZsby1yZWxhdGVkLWl0ZW1zX19pdGVtLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLXJlbGF0ZWQtaXRlbXNfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mbG8tcmVsYXRlZC1pdGVtc19faXRlbSB7XG4gICAgd2lkdGg6IDQ0LjYyNXJlbTsgfVxuICAgIC5mbG8tcmVsYXRlZC1pdGVtc19faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogOS41NjI1cmVtOyB9XG4gICAgLmZsby1yZWxhdGVkLWl0ZW1zX19pdGVtOmhvdmVyIC5mbG8tcmVsYXRlZC1pdGVtc19faXRlbS1pbWFnZSB7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmZsby1yZWxhdGVkLWl0ZW1zX19pdGVtLWltYWdlIHtcbiAgICBoZWlnaHQ6IDEzLjg0Mzc1cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tcmVsYXRlZC1pdGVtc19faXRlbS10aXRsZSB7XG4gICAgcGFkZGluZzogMCA2LjM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLXJlbGF0ZWQtaXRlbXNfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLmZsby1yZWxhdGVkLWl0ZW1zX19pdGVtLWltYWdlIHtcbiAgICBoZWlnaHQ6IDEyLjVyZW07IH0gfVxuXG4uZmxvLXJldmVhbCB7XG4gIGhlaWdodDogMTAwdmg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogLTEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDEwMDAwMDE7IH1cbiAgLmZsby1yZXZlYWwtLXZpc2libGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyB9XG4gIC5mbG8tcmV2ZWFsLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfVxuICAuZmxvLXJldmVhbC0tcmVhZHkge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLXJldmVhbFtkYXRhLWluaXRpYWwtcG9zaXRpb249XCJsZWZ0XCJdIHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgICAuZmxvLXJldmVhbFtkYXRhLWluaXRpYWwtcG9zaXRpb249XCJsZWZ0XCJdLmZsby1yZXZlYWwtLXZpc2libGUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7IH1cbiAgLmZsby1yZXZlYWxbZGF0YS1pbml0aWFsLXBvc2l0aW9uPVwicmlnaHRcIl0ge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gICAgLmZsby1yZXZlYWxbZGF0YS1pbml0aWFsLXBvc2l0aW9uPVwicmlnaHRcIl0uZmxvLXJldmVhbC0tdmlzaWJsZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTsgfVxuICAuZmxvLXJldmVhbC1vdmVybGF5IHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tcmV2ZWFsLW92ZXJsYXk6bm90KC5mbG8tcmV2ZWFsLW92ZXJsYXktLXZpc2libGUpIHtcbiAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5mbG8tcmV2ZWFsLW92ZXJsYXkge1xuICAgIHotaW5kZXg6IDEwMDAwMDsgfVxuXG4uZmxvLXNsaWRlc2hvdyB7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbiAgLyogU1RBUlQ6IE9ORSBTTElERSBNT0RJRklDQVRPUiAqL1xuICAvKiBFTkQ6IE9ORSBTTElERSBNT0RJRklDQVRPUiAqL1xuICAvKiBTVEFSVDogQ09VTlRFUiAqL1xuICAvKiBFTkQ6IENPVU5URVIgKi9cbiAgLyogU1RBUlQ6IFRJVExFIEFSRUEgKi9cbiAgLyogRU5EOiBUSVRMRSBBUkVBICovXG4gIC8qIFNUQVJUOiBGRUFUVVJFRCBMSU5LICovXG4gIC8qIEVORDogRkVBVFVSRUQgTElOSyAqLyB9XG4gIC5mbG8tc2xpZGVzaG93LS1vbmUtc2xpZGUgLnNsaWNrLWxpc3Qge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5mbG8tc2xpZGVzaG93X19zbGlkZXMge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fc2xpZGVzIC5zbGljay1saXN0LFxuICAgIC5mbG8tc2xpZGVzaG93X19zbGlkZXMgLnNsaWNrLXRyYWNrLFxuICAgIC5mbG8tc2xpZGVzaG93X19zbGlkZXMgLnNsaWNrLXNsaWRlLFxuICAgIC5mbG8tc2xpZGVzaG93X19zbGlkZXMgLmZsby1zbGlkZXNob3dfX3NsaWRlLWNvbnRlbnQge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbG8tc2xpZGVzaG93IC5mbG8tc2xpZGVzaG93X19zbGlkZS1pbWctLWJnaSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmZsby1zbGlkZXNob3cgLmZsby1zbGlkZXNob3dfX3NsaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAuZmxvLXNsaWRlc2hvdyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtY29udGVudCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWJsb2NrLS1tZXJnZWQtd2l0aC1oZWFkZXIgLmZsby1zbGlkZXNob3dfX3NsaWRlLWNvbnRlbnQge1xuICAgICAgaGVpZ2h0OiAxMDB2aDsgfVxuICAuZmxvLXNsaWRlc2hvdyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZsby1zbGlkZXNob3cgLmZsby1zbGlkZXNob3dfX3NsaWRlLWltZy0tYmdpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbG8tc2xpZGVzaG93IC5mbG8tc2xpZGVzaG93X19zbGlkZS1iYWNrZ3JvdW5kLXZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5mbG8tc2xpZGVzaG93IC5mbG8tc2xpZGVzaG93X19zbGlkZS1iYWNrZ3JvdW5kLXZpZGVvIHZpZGVvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICAuZmxvLXNsaWRlc2hvdyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtYmFja2dyb3VuZC12aWRlby0tY3JvcHBlZCB2aWRlbyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuZmxvLXNsaWRlc2hvdyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtYmFja2dyb3VuZC12aWRlby0tbm8tY3JvcCB2aWRlbyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1zbGlkZXNob3cgLmZsby1zbGlkZXNob3dfX3NsaWRlLmdyYWRpZW50LXZpc2libGUgLmZsby1zbGlkZXNob3dfX3NsaWRlLWltZzphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwLjY2NjsgfVxuICAgIC5mbG8tc2xpZGVzaG93IC5mbG8tc2xpZGVzaG93X19zbGlkZS1pbWcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLXNsaWRlc2hvdyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1nOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAuZmxvLXNsaWRlc2hvdyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1nLS1iZ2kge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tc2xpZGVzaG93IC5mbG8tc2xpZGVzaG93X19zbGlkZS1jb250ZW50IHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBoZWlnaHQ6IDEwMHZoOyB9XG4gICAgICAuZmxvLWJsb2NrLS1tZXJnZWQtd2l0aC1oZWFkZXIgLmZsby1zbGlkZXNob3dfX3NsaWRlLWNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoOyB9XG4gICAgLmZsby1zbGlkZXNob3cgLmZsby1zbGlkZXNob3dfX3NsaWRlLWltZy0tYmdpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmZsby1zbGlkZXNob3dfX2xheW91dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1hIC5mbG8tc2xpZGVzaG93X190aXRsZS1hcmVhLFxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYSAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbiB7XG4gICAgICBjdXJzb3I6IG5vbmU7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWEgLmZsby1zbGlkZXNob3dfX3NsaWRlcyB7XG4gICAgICBjdXJzb3I6IG5vbmU7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWEgLmZsby1zbGlkZXNob3dfX3RpdGxlLWFyZWEge1xuICAgICAgbGVmdDogNi4wNjI1cmVtO1xuICAgICAgYm90dG9tOiAyMC42ODc1cmVtO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWEgLmZsby1zbGlkZXNob3dfX2NvdW50ZXIge1xuICAgICAgYm90dG9tOiA0LjM3NXJlbTtcbiAgICAgIGxlZnQ6IDQuNTYyNXJlbTtcbiAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWEgLmZsby1zbGlkZXNob3dfX2ZlYXR1cmVkLWxpbmsge1xuICAgICAgYm90dG9tOiA0LjM3NXJlbTtcbiAgICAgIHJpZ2h0OiA0LjU2MjVyZW07IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWEgLmZsby1zbGlkZXNob3dfX2ZlYXR1cmVkLWxpbmstdGl0bGUtYXJlYSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYTpob3ZlciAuZmxvLXNsaWRlc2hvd19fYXJyb3ctbmV4dCB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1hIC5mbG8tc2xpZGVzaG93X19hcnJvdy1uZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC41cywgb3BhY2l0eSAwLjVzLCB0cmFuc2Zvcm0gMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYSAuZmxvLXNsaWRlc2hvd19fYXJyb3ctbmV4dC5pbnZlcnRlZCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyB9XG4gICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWEgLmZsby1zbGlkZXNob3dfX2Fycm93LW5leHQudmVydGljYWwge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYSAuZmxvLXNsaWRlc2hvd19fYXJyb3ctbmV4dCBpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19iYWNrZ3JvdW5kIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX2Fycm93cyB7XG4gICAgZm9udC1zaXplOiAwLjVyZW07IH1cbiAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19zbGlkZS1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX2JhY2tncm91bmQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gNi4zNzVyZW0pO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX2Fycm93cyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTkuMTI1cmVtO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICB0b3A6IDIzLjE4NzVyZW07XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fYXJyb3cge1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19hcnJvdzpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fYXJyb3ctLW5leHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjgxMjVyZW07IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX3NsaWRlcyB7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19zbGlkZTpub3QoLnNsaWNrLWN1cnJlbnQpIC5mbG8tc2xpZGVzaG93X190aXRsZS1hcmVhIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX3NsaWRlOm5vdCguc2xpY2stY3VycmVudCkgLmZsby1zbGlkZXNob3dfX3NsaWRlLWltYWdlLXdyYXAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA1LjMxMjVyZW0pOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19zbGlkZS5ncmFkaWVudC12aXNpYmxlIC5mbG8tc2xpZGVzaG93X19zbGlkZS1pbWFnZTphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX3NsaWRlLW1haW4td3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogNjguMTI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiA2LjM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDYuMzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDYuMzc1cmVtOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19zbGlkZS1pbWFnZS13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1hZ2U6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX3RpdGxlLWFyZWEge1xuICAgICAgYm90dG9tOiA1LjQzNzVyZW07XG4gICAgICBsZWZ0OiA2LjA2MjVyZW07XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fdGl0bGUtYXJlYS1wcmV0aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjg3NXJlbTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fY291bnRlciB7XG4gICAgICBsZWZ0OiA2OS4wNjI1cmVtO1xuICAgICAgYm90dG9tOiA2LjU2MjVyZW07XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19jb3VudGVyLWluZGV4IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMnJlbTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fY291bnRlci1zZXBhcmF0b3Ige1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19jb3VudGVyLWNvdW50IHtcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX2Fycm93IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fYmFja2dyb3VuZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19jb3VudGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX3NsaWRlcyB7XG4gICAgICBoZWlnaHQ6IDEwMHZoOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19zbGlkZSB7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgd2lkdGg6IDEwMHZ3OyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19zbGlkZS1pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG4gIC5mbG8tc2xpZGVzaG93LWJsb2NrLS10eXBlLWMuZmxvLWJsb2NrLS1tZXJnZWQtd2l0aC1oZWFkZXIgLmZsby1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuZmxvLXNsaWRlc2hvdy1ibG9jay0tdHlwZS1jIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9XG4gIC5mbG8tc2xpZGVzaG93LWJsb2NrLS10eXBlLWMgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50OyB9XG4gIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyB7XG4gICAgLyogU1RBUlQ6IFRPUCBBUkVBICovXG4gICAgLyogRU5EOiBUT1AgQVJFQSAqL1xuICAgIC8qIFNUQVJUOiBTTElERVMgKi9cbiAgICAvKiBFTkQ6IFNMSURFUyAqL1xuICAgIC8qIFNUQVJUOiBGRUFUVVJFRCBMSU5LICovXG4gICAgLyogRU5EOiBGRUFUVVJFRCBMSU5LICovXG4gICAgLyogU1RBUlQ6IFNMSURFIFNFTEVDVE9SICovXG4gICAgLyogRU5EOiBTTElERSBTRUxFQ1RPUiAqL1xuICAgIC8qIFNUQVJUOiBSSUdIVCBCQVIgKi9cbiAgICAvKiBFTkQ6IFJJR0hUIEJBUiAqLyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X190b3AtYXJlYS1sb2dvIC5mbG8taGVhZGVyLWxvZ28ge1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3RvcC1hcmVhLXNvY2lhbC1saW5rcyBhOmJlZm9yZSB7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3Itd3JhcCB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIHtcbiAgICAgICAgLyogU1RBUlQ6IFRPUCBBUkVBICovXG4gICAgICAgIC8qIEVORDogVE9QIEFSRUEgKi9cbiAgICAgICAgLyogU1RBUlQ6IFNMSURFUyAqL1xuICAgICAgICAvKiBFTkQ6IFNMSURFUyAqL1xuICAgICAgICAvKiBTVEFSVDogRkVBVFVSRUQgTElOSyAqL1xuICAgICAgICAvKiBFTkQ6IEZFQVRVUkVEIExJTksgKi9cbiAgICAgICAgLyogU1RBUlQ6IFNMSURFIFNFTEVDVE9SICovXG4gICAgICAgIC8qIEVORDogU0xJREUgU0VMRUNUT1IgKi9cbiAgICAgICAgLyogU1RBUlQ6IFJJR0hUIEJBUiAqL1xuICAgICAgICAvKiBTVEFSVDogSEVBREVSIFBPUFVQIFNUWUxFICovXG4gICAgICAgIC8qIEVORDogSEVBREVSIFBPUFVQIFNUWUxFICovXG4gICAgICAgIC8qIEVORDogUklHSFQgQkFSICovIH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X190b3AtYXJlYSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2LjM3NXJlbSk7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSA2LjM3NXJlbSAwIDYuMzc1cmVtOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fdG9wLWFyZWEtc29jaWFsLWxpbmtzIGE6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjc1cmVtOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGVzIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDYuMzc1cmVtKTtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA1cmVtKTsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX2ZlYXR1cmVkLWxpbmsge1xuICAgICAgICAgIGJvdHRvbTogMTIuMDYyNXJlbTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9ycyB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSA2LjM3NXJlbSk7XG4gICAgICAgICAgaGVpZ2h0OiA1cmVtOyB9XG4gICAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3RvcnMgLnNsaWNrLWxpc3Qge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNy42MjVyZW0pOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3Ige1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3Iuc2xpY2stY3VycmVudDpiZWZvcmUsIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3I6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuOTsgfVxuICAgICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3Iuc2xpY2stY3VycmVudCAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3ItcHJldGl0bGUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3I6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDAuNjI1cmVtKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3Itd3JhcCB7XG4gICAgICAgICAgcGFkZGluZzogMC44MTI1cmVtIDEuNjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDcuNjI1cmVtO1xuICAgICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci1wcmV0aXRsZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDEuNjI1cmVtO1xuICAgICAgICAgIGJvdHRvbTogY2FsYygxMDAlICsgMi4zMTI1cmVtKTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgY29sb3IgMC41cztcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci1wcmV0aXRsZTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgd2lkdGg6IDEuNDY4NzVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yLXNlY29uZC1wcmV0aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3JpZ2h0LWJhciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgd2lkdGg6IDYuMzc1cmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fcmlnaHQtYmFyLXNlYXJjaC10cmlnZ2VyIHtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3JpZ2h0LWJhci1saW5rIHtcbiAgICAgICAgICB3cml0aW5nLW1vZGU6IHRiLXJsOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fcmlnaHQtYmFyLW1lbnUtdHJpZ2dlciB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgLmJvZHktLWZsby1oZWFkZXJfX3BvcHVwLS1mb3Itc2xpZGVzaG93LXR5cGUtYyAuZmxvLWhlYWRlci1wb3B1cDpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmJvZHktLWZsby1oZWFkZXJfX3BvcHVwLS1mb3Itc2xpZGVzaG93LXR5cGUtYyAuZmxvLWhlYWRlci1wb3B1cF9fbWFpbi13cmFwIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RyZXRjaDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjYyNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA2LjM3NXJlbTsgfVxuICAgICAgICAuYm9keS0tZmxvLWhlYWRlcl9fcG9wdXAtLWZvci1zbGlkZXNob3ctdHlwZS1jIC5mbG8taGVhZGVyLXBvcHVwX190b3AtYmFyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAxLjg3NXJlbTtcbiAgICAgICAgICByaWdodDogMS42MjVyZW07XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgICAgIC5ib2R5LS1mbG8taGVhZGVyX19wb3B1cC0tZm9yLXNsaWRlc2hvdy10eXBlLWMgLmZsby1oZWFkZXItcG9wdXBfX2Nsb3NlIHtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuICAgICAgICAuYm9keS0tZmxvLWhlYWRlcl9fcG9wdXAtLWZvci1zbGlkZXNob3ctdHlwZS1jIC5mbG8taGVhZGVyLXBvcHVwX19zZWFyY2gge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgICAuYm9keS0tZmxvLWhlYWRlcl9fcG9wdXAtLWZvci1zbGlkZXNob3ctdHlwZS1jIC5mbG8taGVhZGVyLXBvcHVwX19zZWFyY2gtaW5wdXQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmJvZHktLWZsby1oZWFkZXJfX3BvcHVwLS1mb3Itc2xpZGVzaG93LXR5cGUtYyAuZmxvLWhlYWRlci1wb3B1cF9fbWVudSB7XG4gICAgICAgICAgaGVpZ2h0OiA1MHZoOyB9XG4gICAgICAgICAgLmJvZHktLWZsby1oZWFkZXJfX3BvcHVwLS1mb3Itc2xpZGVzaG93LXR5cGUtYyAuZmxvLWhlYWRlci1wb3B1cF9fbWVudSA+IGRpdiA+IHVsID4gbGkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMi43NXJlbTsgfVxuICAgICAgICAuYm9keS0tZmxvLWhlYWRlcl9fcG9wdXAtLWZvci1zbGlkZXNob3ctdHlwZS1jIC5mbG8taGVhZGVyLXBvcHVwX19zb2NpYWwtbGlua3Mge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDEuODc1cmVtO1xuICAgICAgICAgIGxlZnQ6IDYuMzc1cmVtO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMge1xuICAgICAgICAvKiBTVEFSVDogVE9QIEFSRUEgKi9cbiAgICAgICAgLyogRU5EOiBUT1AgQVJFQSAqL1xuICAgICAgICAvKiBTVEFSVDogU0xJREVTICovXG4gICAgICAgIC8qIEVORDogU0xJREVTICovXG4gICAgICAgIC8qIFNUQVJUOiBGRUFUVVJFRCBMSU5LICovXG4gICAgICAgIC8qIEVORDogRkVBVFVSRUQgTElOSyAqL1xuICAgICAgICAvKiBTVEFSVDogU0xJREUgU0VMRUNUT1IgKi9cbiAgICAgICAgLyogRU5EOiBTTElERSBTRUxFQ1RPUiAqL1xuICAgICAgICAvKiBTVEFSVDogUklHSFQgQkFSICovXG4gICAgICAgIC8qIEVORDogUklHSFQgQkFSICovIH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X190b3AtYXJlYSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3RpdGxlLWFyZWEge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19mZWF0dXJlZC1saW5rIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3JzIHtcbiAgICAgICAgICBoZWlnaHQ6IDVyZW07IH1cbiAgICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9ycyAuc2xpY2stbGlzdCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxLjI1cmVtKTsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAyLjVyZW0pO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci5zbGljay1jdXJyZW50IC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci13cmFwOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjk7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci13cmFwIHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjgxMjVyZW0gMS42MjVyZW07XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMi41cmVtKTsgfVxuICAgICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3Itd3JhcDpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMC42MjVyZW0pO1xuICAgICAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yLXByZXRpdGxlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMS42MjVyZW07XG4gICAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgKyAyLjMxMjVyZW0pO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3ItcHJldGl0bGU6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjQ2ODc1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci1zZWNvbmQtcHJldGl0bGUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci10aXRsZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19yaWdodC1iYXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuZmxvLXNsaWRlc2hvdy0tb25lLXNsaWRlIC5mbG8tc2xpZGVzaG93X19zbGlkZXMge1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAuZmxvLXNsaWRlc2hvdy0tb25lLXNsaWRlIC5mbG8tc2xpZGVzaG93X19jb3VudGVyLFxuICAuZmxvLXNsaWRlc2hvdy0tb25lLXNsaWRlIC5mbG8tc2xpZGVzaG93X19hcnJvdy1uZXh0LFxuICAuZmxvLXNsaWRlc2hvdy0tb25lLXNsaWRlIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3RvcnMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuZmxvLXNsaWRlc2hvd19fY291bnRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuZmxvLXNsaWRlc2hvd19fY291bnRlci1pbmRleCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tc2xpZGVzaG93X19jb3VudGVyLXNlcGFyYXRvciwgLmZsby1zbGlkZXNob3dfX2NvdW50ZXItY291bnQge1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICAuZmxvLXNsaWRlc2hvd19fY291bnRlci1zZXBhcmF0b3Ige1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAwLjY4NzVyZW07XG4gICAgbWFyZ2luOiAwIDAuMjVyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1zbGlkZXNob3dfX2NvdW50ZXItY291bnQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDFlbSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1zbGlkZXNob3dfX2NvdW50ZXIge1xuICAgICAgYm90dG9tOiAyLjE4NzVyZW07XG4gICAgICByaWdodDogMy40Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1zbGlkZXNob3dfX2NvdW50ZXIge1xuICAgICAgYm90dG9tOiAyLjE4NzVyZW07XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuICAuZmxvLXNsaWRlc2hvd19fdGl0bGUtYXJlYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuZmxvLXNsaWRlc2hvd19fdGl0bGUtYXJlYS1wcmV0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS40Mzc1cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X190aXRsZS1hcmVhLXByZXRpdGxlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB3aWR0aDogMS40Mzc1cmVtO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMzEyNXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1zbGlkZXNob3dfX3RpdGxlLWFyZWEtdGl0bGUge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1zbGlkZXNob3dfX3RpdGxlLWFyZWEge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMuMSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLXNsaWRlc2hvd19fdGl0bGUtYXJlYSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3R0b206IDMwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAuZmxvLXNsaWRlc2hvd19fZmVhdHVyZWQtbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuZmxvLXNsaWRlc2hvd19fZmVhdHVyZWQtbGluay10aXRsZS1hcmVhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjU2MjVyZW07IH1cbiAgLmZsby1zbGlkZXNob3dfX2ZlYXR1cmVkLWxpbmstcHJldGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLXNsaWRlc2hvd19fZmVhdHVyZWQtbGluay10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2ZlYXR1cmVkLWxpbmstdGl0bGUgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mbG8tc2xpZGVzaG93X19mZWF0dXJlZC1saW5rLWltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgd2lkdGg6IDcuMzQzNzVyZW07XG4gICAgaGVpZ2h0OiA3LjM0Mzc1cmVtO1xuICAgIGJvcmRlcjogMC43ODEyNXJlbSBzb2xpZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1zbGlkZXNob3dfX2ZlYXR1cmVkLWxpbmstZGl2aWRlciB7XG4gICAgaGVpZ2h0OiA1cmVtO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1zbGlkZXNob3dfX2ZlYXR1cmVkLWxpbmsge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLS1tZXJnZWQtd2l0aC1oZWFkZXIuZmxvLXNsaWRlc2hvdy1ibG9jay0tdHlwZS1hIC5mbG8taGVhZGVyLmlzLW5vdC1zdGlja3kge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stLW1lcmdlZC13aXRoLWhlYWRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICAgICAuZmxvLWJsb2NrLS1tZXJnZWQtd2l0aC1oZWFkZXIuZmxvLXNsaWRlc2hvdy1ibG9jay0tdHlwZS1hIC5mbG8taGVhZGVyLW1vYmlsZS5ub3Qtc3RpY2t5LmlzLW1haW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9IH1cblxuLmZsby1zcGxhc2gge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMTAwMDAwMDAwMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1zcGxhc2hfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmZsby1zcGxhc2hfX2NvbnRlbnQgLmZsby1oZWFkZXJfX2xvZ28sXG4gICAgLmZsby1zcGxhc2hfX2NvbnRlbnQgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLFxuICAgIC5mbG8tc3BsYXNoX19jb250ZW50IGltZyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5mbG8tc3BsYXNoX19jdXN0b20tcHJlbG9hZGVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tc3BsYXNoX19jb250ZW50LS1tZWRpdW0tdXAge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5mbG8tc3BsYXNoX19jb250ZW50LS1zbWFsbC1vbmx5IHtcbiAgICAgIG9wYWNpdHk6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLXNwbGFzaF9fY29udGVudC0tbWVkaXVtLXVwIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmxvLXNwbGFzaF9fY29udGVudC0tc21hbGwtb25seSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuZmxvLXNwbGFzaF9fY29udGVudC0tc21hbGwtb25seSAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIC5mbG8tc3BsYXNoX19jdXN0b20tcHJlbG9hZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL25vLWltYWdlLmpwZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLXNtYWxsKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZmxvLXNwbGFzaF9fY3VzdG9tLXByZWxvYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbWVkaXVtKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuZmxvLXNwbGFzaF9fY3VzdG9tLXByZWxvYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbGFyZ2UpOyB9IH1cblxuLmZsby10ZXh0LWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHBhZGRpbmc6IDIuNXJlbSAwOyB9XG5cbi5mbG8taGVyby12aWRlby1lbWJlZF9fY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8taGVyby12aWRlby1lbWJlZF9fY29udGFpbmVyIGlmcmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4uZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyLjVyZW07XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgei1pbmRleDogMTAwO1xuICB3aWR0aDogNC4wNjI1cmVtO1xuICBoZWlnaHQ6IDQuMDYyNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNC4wNjI1cmVtO1xuICBmb250LXNpemU6IDAuOTczNDVyZW07XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBpbml0aWFsO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCB0b3AgMC41cywgYm90dG9tIDAuNXMsIG9wYWNpdHkgMC41cywgYm9yZGVyIDAuNXMsIHRyYW5zZm9ybSAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjQ7IH1cblxuLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24taWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbi1pY29uLS1wbGF5IHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uLWljb24tLXN0b3Age1xuICAgIG9wYWNpdHk6IDA7IH1cblxuLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICB0b3A6IDUwJTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbi1pY29uLS1wbGF5IHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmxvLWhlcm8tdmlkZW8tZW1iZWQtLWJ1dHRvbi1hdC1ib3R0b20gLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICB0b3A6IDgwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1oZXJvLXZpZGVvLWVtYmVkLS1idXR0b24tbW9iaWxlLWJvdHRvbSAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbiB7XG4gICAgdG9wOiA4MCU7IH0gfVxuXG4vKiBTVEFSVDogQlVUVE9OIEhJRERFTiAqL1xuLmZsby1oZXJvLXZpZGVvLWVtYmVkLS1idXR0b24taGlkZGVuIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLyogRU5EOiBCVVRUT04gSElEREVOICovXG4udmlkZW8taXMtcGxheWluZyAuZmxvLWJsb2NrX19oZWFkZXIsIC52aWRlby1pcy1wbGF5aW5nIC5mbG8taGVhZGVyLW1vYmlsZSwgLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1zbGlkZXNob3dfX2NlbnRlcmVkLWxvZ28sIC52aWRlby1pcy1wbGF5aW5nIC5mbG8tc2xpZGVzaG93X190eXBlLWEtbWVudSwgLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1zbGlkZXNob3dfX3NsaWRlLWNvbnRlbnQsIC52aWRlby1pcy1wbGF5aW5nIC5mbG8tc2xpZGVzaG93X19jb3VudGVyLCAudmlkZW8taXMtcGxheWluZyAuZmxvLXNsaWRlc2hvd19fdGl0bGUtYXJlYSwgLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1zbGlkZXNob3dfX2ZlYXR1cmVkLWxpbmssIC52aWRlby1pcy1wbGF5aW5nIC5mbG8tc2xpZGVzaG93X190b3AtYXJlYSwgLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1zbGlkZXNob3dfX3NsaWRlLWltYWdlLCAudmlkZW8taXMtcGxheWluZyAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19jb250ZW50LXdyYXAsIC52aWRlby1pcy1wbGF5aW5nIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2NvbnRlbnQtd3JhcCwgLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1ibG9jay1zbGlkZXNob3ctM19fY29udGVudC13cmFwLCAudmlkZW8taXMtcGxheWluZyAuZmxvLWJsb2NrLXNsaWRlc2hvdy00X19hcnJvd3MsIC52aWRlby1pcy1wbGF5aW5nIC5mbG8tYmxvY2stc2xpZGVzaG93LTRfX2NvdW50ZXIge1xuICB6LWluZGV4OiAxO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1zbGlkZXNob3dfX2Fycm93LW5leHQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC52aWRlby1pcy1wbGF5aW5nIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3RvcnMge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfSB9XG5cbi52aWRlby1pcy1wbGF5aW5nIC5mbG8taGVyby12aWRlby1lbWJlZF9fY29udGFpbmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cblxuLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICB0b3A6IDYuMjVyZW0gIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cblxuLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24taWNvbi0tcGxheSB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyB9XG5cbi52aWRlby1pcy1wbGF5aW5nIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uLWljb24tLXN0b3Age1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuXG4udmlkZW8taXMtcGxheWluZzpub3QoOmhvdmVyKSAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbiB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZsby13cC1jb250ZW50LXdpdGgtcGFnaW5hdGlvbl9fcGFnaW5hdGlvbiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb25fX2xpbmsge1xuICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb25fX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMCAxMi43NXJlbTsgfVxuICAgIC5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb25fX3BhZ2luYXRpb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzLjEyNXJlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgNi4zNzVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb25fX2xpbmsge1xuICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbSAwOyB9XG4gICAgICAuZmxvLXdwLWNvbnRlbnQtd2l0aC1wYWdpbmF0aW9uX19saW5rOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IC0zLjE4NzVyZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICAgICAgICB3aWR0aDogMS40Njg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7IH1cbiAgICAgIC5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb25fX2xpbmstLXByZXYge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby13cC1jb250ZW50LXdpdGgtcGFnaW5hdGlvbiB7XG4gICAgcGFkZGluZzogMCAyLjAzMTI1cmVtOyB9XG4gICAgLmZsby13cC1jb250ZW50LXdpdGgtcGFnaW5hdGlvbl9fcGFnaW5hdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmZsby13cC1jb250ZW50LXdpdGgtcGFnaW5hdGlvbl9fbGluayB7XG4gICAgICB3aWR0aDogNDU7XG4gICAgICBmbGV4LWdyb3c6IDA7IH0gfVxuXG4uZmxvLXdwLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8td3AtdGl0bGVfX3RpdGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5mbG9fc2lkZWJhciB7XG4gIHdpZHRoOiAyNSU7XG4gIHBhZGRpbmc6IDAgMi41cmVtIDIuNXJlbTtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMDsgfVxuICAuZmxvX3NpZGViYXIgLmNvbHVtbiwgLmZsb19zaWRlYmFyIC5jb2x1bW5zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgcGFkZGluZzogMCAyLjVyZW07IH1cbiAgICAuZmxvX3NpZGViYXIgLmNvbHVtbjpsYXN0LWNoaWxkLCAuZmxvX3NpZGViYXIgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mbG9fc2lkZWJhciAuZmlndXJlLWhpZGUtaW1nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmZsb19zaWRlYmFyIC5maWd1cmUtaGlkZS1pbWcgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mbG9fc2lkZWJhciAud2lkZ2V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAuZmxvX3NpZGViYXIgKiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG4gIC5mbG9fc2lkZWJhciAud2lkZ2V0X3NlYXJjaCAuc2VhcmNoLWZpZWxkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuZmxvX3NpZGViYXIgLndpZGdldF9zZWFyY2ggaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsb19zaWRlYmFyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjA5Mzc1cmVtOyB9XG4gICAgICAuZmxvX3NpZGViYXItLW9uLWxlZnQge1xuICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsb19zaWRlYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiBCT0YgV09PQ09NTUVSQ0UgU1VQUE9SVCAqL1xuLmZsby13b29jb21tZXJjZS13cmFwIHtcbiAgbWF4LXdpZHRoOiA2Mi41cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4ud29vY29tbWVyY2UtcGFnZSAuZmxvLWJsb2NrIHtcbiAgcGFkZGluZy10b3A6IDBweDsgfVxuXG4ud29vY29tbWVyY2UtcGFnZSAuZmxvLXBvc3QgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UgdGhlYWQsIC53b29jb21tZXJjZSB0Ym9keSwgLndvb2NvbW1lcmNlIHRmb290IHtcbiAgYm9yZGVyOiAwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi53b29jb21tZXJjZSAuZmxvLXBvc3QgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UgLnF1YW50aXR5IC5xdHksIC53b29jb21tZXJjZSAucXVhbnRpdHkgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gIHdpZHRoOiA1ZW07XG4gIGhlaWdodDogMS41NjI1cmVtO1xuICBwYWRkaW5nOiAwLjFlbTtcbiAgYm9yZGVyLWNvbG9yOiAjZTVlNWU1O1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1icmVhZGNydW1iIGEge1xuICBib3gtc2hhZG93OiAwIDFweCAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1icmVhZGNydW1iIGE6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDA7IH1cblxuLndvb2NvbW1lcmNlIC5jYXJ0IGlucHV0LmJ1dHRvbjpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi53b29jb21tZXJjZSBzcGFuLm9uc2FsZSB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByaWNlIGRlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgYS5idXR0b24ge1xuICBwYWRkaW5nOiAwLjZlbSAxZW07IH1cblxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC52YXJpYXRpb25zIHRkLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAudmFyaWF0aW9ucyAudmFsdWUgc2VsZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLnZhcmlhdGlvbnMgLnJlc2V0X3ZhcmlhdGlvbnMge1xuICBib3gtc2hhZG93OiAwIDFweCAwOyB9XG4gIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCAudmFyaWF0aW9ucyAucmVzZXRfdmFyaWF0aW9uczpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggMDsgfVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLnByb2R1Y3RfbWV0YSBhIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMDsgfVxuICAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLnByb2R1Y3RfbWV0YSBhOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCAwOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAucHJvZHVjdF9tZXRhIC50YWdnZWRfYXMge1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC5yZWxhdGVkIGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyBsaS5hY3RpdmUgYSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIGE6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDNweCAwOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyBhIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMDsgfVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgLnBhbmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogNGVtOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIHtcbiAgYm9yZGVyOiAwcHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnM6YmVmb3JlIHtcbiAgICBib3JkZXI6IDBweDsgfVxuICAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSB7XG4gICAgYm9yZGVyOiAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaS5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaTpiZWZvcmUsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpOmFmdGVyIHtcbiAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG4ud29vY29tbWVyY2UgLmNoZWNrb3V0ICNjdXN0b21lcl9kZXRhaWxzIHtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuLndvb2NvbW1lcmNlIC5jaGVja291dCAud2NfcGF5bWVudF9tZXRob2QgLmlucHV0LXJhZGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xMHB4OyB9XG5cbi53b29jb21tZXJjZSBwLndvb2NvbW1lcmNlLXRoYW5reW91LW9yZGVyLXJlY2VpdmVkIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGhhbmt5b3Utb3JkZXItZGV0YWlscyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGhhbmt5b3Utb3JkZXItZGV0YWlscyBsaSB7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICBib3JkZXItcmlnaHQ6IDBweDtcbiAgICBjbGVhcjogYm90aDsgfVxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGhhbmt5b3Utb3JkZXItZGV0YWlscyBsaSBzdHJvbmcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgLmFkZHJlc3NlcyB7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgLndvb2NvbW1lcmNlLU1lc3NhZ2UgYnIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLmlzLWFjdGl2ZSBhIHtcbiAgYm94LXNoYWRvdzogMCAzcHggMDsgfVxuICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIC5pcy1hY3RpdmUgYTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggMDsgfVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIGE6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDFweCAwOyB9XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtQWRkcmVzcy10aXRsZSAuZWRpdCB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAxcHggMDsgfVxuICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLUFkZHJlc3MtdGl0bGUgLmVkaXQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDA7IH1cblxuLndvb2NvbW1lcmNlIC5vcmRlcl9kZXRhaWxzIC5wcm9kdWN0LW5hbWUgYSB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDA7IH1cbiAgLndvb2NvbW1lcmNlIC5vcmRlcl9kZXRhaWxzIC5wcm9kdWN0LW5hbWUgYTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggMDsgfVxuXG4ud29vY29tbWVyY2UgLm9yZGVyX2RldGFpbHMgbGkge1xuICBib3JkZXItcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi53b29jb21tZXJjZSAuYWN0aW9ucyAuY291cG9uIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBoZWlnaHQ6IDIuNjI1cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UgLmFjdGlvbnMgcCB7XG4gIG1hcmdpbi1ib3R0b206IDBweDsgfVxuXG4ud29vY29tbWVyY2UgLmFjdGlvbnMgaW5wdXQuYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICBoZWlnaHQ6IDIuNjI1cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1MTUxNTE7IH1cblxuLndvb2NvbW1lcmNlIGZvcm0gcCwgLndvb2NvbW1lcmNlIHRhYmxlIHAge1xuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UgLm9yZGVyLW51bWJlciBhIGJyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UgI2NvdXBvbl9jb2RlIHtcbiAgbWluLXdpZHRoOiAxNWVtO1xuICBoZWlnaHQ6IDIuNTVyZW07IH1cblxuLndvb2NvbW1lcmNlIC5idXR0b24gYnIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi53b29jb21tZXJjZSAuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbi5idXR0b24sIC53b29jb21tZXJjZSAuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbi5idXR0b24uZGlzYWJsZWQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC41ZW07IH1cblxuLndvb2NvbW1lcmNlIC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IHAge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlIC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IC5jaGVja291dC1idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSksIC53b29jb21tZXJjZSB0ZXh0YXJlYSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBwYWRkaW5nOiAwLjVyZW07IH1cblxuLndvb2NvbW1lcmNlIHRleHRhcmVhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIEVPRiBXT09DT01NRVJDRSBTVVBQT1JUICovXG4uYm9keV9oYXNfc2lkZWJhciAuZmxvLWljb24tc2lkZWJhciB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mbG9fc2lkZWJhci0tYWN0aXZlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBFTkQ6IENPTVBPTkVOVFMgKEtFRVAgVEhJUyBPTkUgQVQgVEhFIEJPVFRPTSBBTEwgVEhFIFRJTUUpICovXG4iLCIvKiBTVEFSVDogVkVORE9SICovXG4gIEBpbXBvcnQgXCJ2ZW5kb3IvZm91bmRhdGlvbi9fc2V0dGluZ3Muc2Nzc1wiO1xuICBAaW1wb3J0IFwiZm91bmRhdGlvbi5zY3NzXCI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZXZlcnl0aGluZygpO1xuICBAaW1wb3J0IFwibW90aW9uLXVpXCI7XG4gIEBpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcbi8qIEVORDogVkVORE9SICovXG5cbi8qIFNUQVJUOiBHTE9CQUwgKi9cbiAgQGltcG9ydCBcImdsb2JhbC9nbG9iYWwuc2Nzc1wiO1xuLyogRU5EOiBHTE9CQUwgKi9cblxuLyogU1RBUlQ6IENPTVBPTkVOVFMgKEtFRVAgVEhJUyBPTkUgQVQgVEhFIEJPVFRPTSBBTEwgVEhFIFRJTUUpICovXG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzAvY29tbWVudHMtYmxvY2svY29tbWVudHMtYmxvY2subWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzAvZmxvLWJsb2NrL2Zsby1ibG9jay5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMC9mbG8tZm9ybS9mbG8tZm9ybS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMC9mbG8tbHFpcC9mbG8tbHFpcC5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMC9mbG8tcGFnZS13cmFwL2Zsby1wYWdlLXdyYXAubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzAvZmxvLXNoYXJlLXJvbGxvdmVyL2Zsby1zaGFyZS1yb2xsb3Zlci5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMC9mbG8tc2xpZGVyL2Zsby1zbGlkZXIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzAvZmxvLXZpZGVvLWVtYmVkL2Zsby12aWRlby1lbWJlZC1kdW1teS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMC9mbG8tdmlkZW8tZW1iZWQvZmxvLXZpZGVvLWVtYmVkLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8wL3NvY2lhbC1saW5rcy9zb2NpYWwtbGlua3MubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWJ1dHRvbi9mbG8tYmxvY2stYnV0dG9uLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci9mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWNvbW1lbnRzL2Zsby1ibG9jay1jb21tZW50cy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stY29udGFjdC1ibG9jay0xL2Zsby1ibG9jay1jb250YWN0LWJsb2NrLTEubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMi9mbG8tYmxvY2stY29udGFjdC1ibG9jay0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1jb250YWN0LWJsb2NrLTMvZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stY29udGVudC1pbi1jb2x1bW5zLTMvZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1kZWxpbWl0ZXItMS9mbG8tYmxvY2stZGVsaW1pdGVyLTEubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZhcS1ibG9jay0xL2Zsby1ibG9jay1mYXEtYmxvY2stMS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZmFxLWJsb2NrLTIvZmxvLWJsb2NrLWZhcS1ibG9jay0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1mZWF0dXJlZC1saW5rLTIvZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstMi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zL2Zsby1ibG9jay1mZWF0dXJlZC1saW5rLTMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTMvZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTQvZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTQubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xL2Zsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTIvZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctNy9mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTcubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xL2Zsby1ibG9jay1nYWxsZXJ5LXZpZXctMS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTIvZmxvLWJsb2NrLWdhbGxlcnktdmlldy0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1nYWxsZXJ5LXZpZXctMy9mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWJsb2NrLTEvZmxvLWJsb2NrLWltYWdlLWJsb2NrLTEubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWJsb2NrLTIvZmxvLWJsb2NrLWltYWdlLWJsb2NrLTIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWJsb2NrLTMvZmxvLWJsb2NrLWltYWdlLWJsb2NrLTMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTIvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTQvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTQubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTUvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTUubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTYvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTYubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTcvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTcubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWludHJvLWJsb2NrL2Zsby1ibG9jay1pbnRyby1ibG9jay5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2staXRlbS1jb250ZW50L2Zsby1ibG9jay1pdGVtLWNvbnRlbnQubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi9mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1pdGVtLXRpdGxlLTIvZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2staXRlbS10aXRsZS9mbG8tYmxvY2staXRlbS10aXRsZS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbGlzdGluZy0xL2Zsby1ibG9jay1saXN0aW5nLTEubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWxpc3RpbmctMi9mbG8tYmxvY2stbGlzdGluZy0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1saXN0aW5nLTMvZmxvLWJsb2NrLWxpc3RpbmctMy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbGlzdGluZy00L2Zsby1ibG9jay1saXN0aW5nLTQubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWxpc3RpbmctNS9mbG8tYmxvY2stbGlzdGluZy01Lm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1saXN0aW5nLTYvZmxvLWJsb2NrLWxpc3RpbmctNi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uLTIvZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbi0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24vZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzL2Zsby1ibG9jay1udW1lcmljLWRldGFpbHMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXByZXNzL2Zsby1ibG9jay1wcmVzcy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTEvZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZS0xLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTIvZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stcmVsYXRlZC1pdGVtcy9mbG8tYmxvY2stcmVsYXRlZC1pdGVtcy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stc2hhcmUtYW5kLXRhZ3MvZmxvLWJsb2NrLXNoYXJlLWFuZC10YWdzLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1zbGlkZXNob3ctMS9mbG8tYmxvY2stc2xpZGVzaG93LTEubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXNsaWRlc2hvdy0yL2Zsby1ibG9jay1zbGlkZXNob3ctMi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stc2xpZGVzaG93LTMvZmxvLWJsb2NrLXNsaWRlc2hvdy0zLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1zbGlkZXNob3ctNC9mbG8tYmxvY2stc2xpZGVzaG93LTQubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXNvY2lhbC1saW5rcy9mbG8tYmxvY2stc29jaWFsLWxpbmtzLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay10ZXN0aW1vbmlhbHMtMS9mbG8tYmxvY2stdGVzdGltb25pYWxzLTEubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRleHQtYmxvY2stMS9mbG8tYmxvY2stdGV4dC1ibG9jay0xLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay10ZXh0LWJsb2NrLTIvZmxvLWJsb2NrLXRleHQtYmxvY2stMi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGV4dC1ibG9jay0zL2Zsby1ibG9jay10ZXh0LWJsb2NrLTMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRleHQtYmxvY2stNC9mbG8tYmxvY2stdGV4dC1ibG9jay00Lm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay10ZXh0LWJsb2NrLTUvZmxvLWJsb2NrLXRleHQtYmxvY2stNS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGl0bGUtMS9mbG8tYmxvY2stdGl0bGUtMS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGl0bGUtMi9mbG8tYmxvY2stdGl0bGUtMi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGl0bGUtMy9mbG8tYmxvY2stdGl0bGUtMy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGl0bGUtNC9mbG8tYmxvY2stdGl0bGUtNC5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdmVuZG9ycy9mbG8tYmxvY2stdmVuZG9ycy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdmlkZW8tYmxvY2stMS9mbG8tYmxvY2stdmlkZW8tYmxvY2stMS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdmlkZW8tYmxvY2stMi9mbG8tYmxvY2stdmlkZW8tYmxvY2stMi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tY29tbWVudHMvZmxvLWNvbW1lbnRzLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1jdXN0b20tYmxvY2svZmxvLWN1c3RvbS1ibG9jay5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tZm9vdGVyLXNpZGViYXJzL2Zsby1mb290ZXItc2lkZWJhcnMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWZvb3Rlci9mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWUubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWZvb3Rlci9mbG8tZm9vdGVyLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvL2Zsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1nZW5lcmljLW1lbnUtd3JhcC9mbG8tZ2VuZXJpYy1tZW51LXdyYXAubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWdlbmVyaWMtc2xpZGVzL2Zsby1nZW5lcmljLXNsaWRlcy10ZW1wbGF0ZS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8taGVhZGVyLW1vYmlsZS1tZW51L2Zsby1oZWFkZXItbW9iaWxlLW1lbnUubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci1tb2JpbGUvZmxvLWhlYWRlci1tb2JpbGUubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci9mbG8taGVhZGVyLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1wYWdlLXdyYXAvZmxvLXBhZ2Utd3JhcC5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tcG9zdC9mbG8tcG9zdC5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tcmVsYXRlZC1pdGVtcy9mbG8tcmVsYXRlZC1pdGVtcy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tcmV2ZWFsL2Zsby1yZXZlYWwubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLXNsaWRlc2hvdy9mbG8tc2xpZGVzaG93Lm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1zcGxhc2gvZmxvLXNwbGFzaC5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tdGV4dC1jb250ZW50L2Zsby10ZXh0LWNvbnRlbnQubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLXZpZGVvLWJ1dHRvbi9mbG8taGVyby12aWRlby1lbWJlZC5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0bzIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb24vZmxvLXdwLWNvbnRlbnQtd2l0aC1wYWdpbmF0aW9uLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby13cC10aXRsZS9mbG8td3AtdGl0bGUubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvc2lkZWJhci9zaWRlYmFyLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL3dvb2NvbW1lcmNlL3dvb2NvbW1lcmNlLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8yL2JvZHktaGFzLXNpZGViYXIvYm9keS1oYXMtc2lkZWJhci5tYWluLnNjc3NcIjtcbi8qIEVORDogQ09NUE9ORU5UUyAoS0VFUCBUSElTIE9ORSBBVCBUSEUgQk9UVE9NIEFMTCBUSEUgVElNRSkgKi9cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjMuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0ICcuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKCRmbGV4OiBmYWxzZSkge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgdXJsKFwiLi4vZm9udHMvZm9udGVsbG8vY3NzL2Zsby1pY29ucy5jc3NcIik7IC8vIHJlbGF0aXZlIHRvIHB1YmxpYy9jc3MvXG5cbmJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIge1xuICAuZmxvLWljb24teW91dHViZTpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnWVQnOyB9IC8qICfvhacnICovXG4gIC5mbG8taWNvbi1mbGlja3I6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHsgY29udGVudDogJ0ZLJzsgfSAvKiAn74yDJyAqL1xuICAuZmxvLWljb24tdmltZW86bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHsgY29udGVudDogJ1ZJJzsgfSAvKiAn74yGJyAqL1xuICAuZmxvLWljb24tdHdpdHRlcjpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnVFcnOyB9IC8qICfvjIknICovXG4gIC5mbG8taWNvbi1mYWNlYm9vazpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnRkInOyB9IC8qICfvjIwnICovXG4gIC5mbG8taWNvbi1ncGx1czpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnR1AnOyB9IC8qICfvjI8nICovXG4gIC5mbG8taWNvbi1waW50ZXJlc3Q6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHsgY29udGVudDogJ1BJJzsgfSAvKiAn74ySJyAqL1xuICAuZmxvLWljb24tdHVtYmxyOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7IGNvbnRlbnQ6ICdUTSc7IH0gLyogJ++MlScgKi9cbiAgLmZsby1pY29uLWxpbmtlZGluOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7IGNvbnRlbnQ6ICdMSyc7IH0gLyogJ++MmCcgKi9cbiAgLmZsby1pY29uLWRyaWJiYmxlOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7IGNvbnRlbnQ6ICdEQic7IH0gLyogJ++MmycgKi9cbiAgLmZsby1pY29uLWluc3RhZ3JhbTpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnSUcnOyB9IC8qICfvjK0nICovXG4gIC5mbG8taWNvbi15YWhvbzpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnWUgnOyB9IC8qICfuoIQnICovXG4gIC5mbG8taWNvbi1kZWxpY2lvdXM6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHsgY29udGVudDogJ0RFJzsgfSAvKiAn7qCFJyAqL1xuICAuZmxvLWljb24tbWFpbDpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnTUwnOyB9IC8qICfuoIYnICovXG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBWZXJ0aWNhbCBSaHl0aG1cbi8vXG4vLyBUaGlzIGlzIHRoZSBtaW5pbWFsIGFtb3VudCBvZiBjb2RlIG5lZWRlZCB0byBjcmVhdGUgdmVydGljYWwgcmh5dGhtIGluIG91clxuLy8gQ1NTLiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcm9idXN0IHNvbHV0aW9uLCBsb29rIGF0IHRoZSBleGNlbGxlbnQgVHlwZXlcbi8vIGxpYnJhcnkuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pwdGFyYW50by90eXBleVxuXG5AZnVuY3Rpb24gbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplLCAkdW5pdDogJGJhc2UtdW5pdCkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9IHB4IHtcbiAgICBAZXJyb3IgXCJUaGUgbm9ybWFsaXplIHZlcnRpY2FsLXJoeXRobSBtb2R1bGUgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBAaWYgJHVuaXQgPT0gcmVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkYmFzZS1mb250LXNpemUpICogMXJlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSBlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJHJlbGF0aXZlLXRvKSAqIDFlbTtcbiAgfVxuICBAZWxzZSB7IC8vICR1bml0ID09IHB4XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIG5vcm1hbGl6ZS1mb250LXNpemUoJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdweCcge1xuICAgIEBlcnJvciBcIm5vcm1hbGl6ZS1mb250LXNpemUoKSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWUtbGlzdCB7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICR2YWx1ZSAhPSAwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogbm9ybWFsaXplLXJoeXRobSgkYmFzZS1saW5lLWhlaWdodCwgJHJlbGF0aXZlLXRvKTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICB9XG4gICN7JHByb3BlcnR5fTogJG5vcm1hbGl6ZWQtdmFsdWVzO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLW1hcmdpbigkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKG1hcmdpbiwgJHZhbHVlcywgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkZm9udC1zaXplLCAkbWluLWxpbmUtcGFkZGluZzogMnB4KSB7XG4gICRsaW5lczogY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpO1xuICAvLyBJZiBsaW5lcyBhcmUgY3JhbXBlZCBpbmNsdWRlIHNvbWUgZXh0cmEgbGVhZGluZy5cbiAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKCRtaW4tbGluZS1wYWRkaW5nICogMikge1xuICAgICRsaW5lczogJGxpbmVzICsgMTtcbiAgfVxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKGxpbmUtaGVpZ2h0LCAkbGluZXMsICRmb250LXNpemUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldHMgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVybiB0aGVuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJzsgICAgXG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlIG9yIGJyZWFrcG9pbnQgbmFtZSB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBPdXRwdXRzIENTUyBjbGFzc2VzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiBmb3VuZGF0aW9uLWdyaWQoXG4gICRyb3c6ICdyb3cnLFxuICAkY29sdW1uOiAnY29sdW1uJyxcbiAgJGNvbHVtbi1yb3c6ICdjb2x1bW4tcm93JyxcbiAgJGd1dHRlcjogJ2d1dHRlcicsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyZWQnLFxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXG4gICRvZmZzZXQ6ICdvZmZzZXQnLFxuICAkZW5kOiAnZW5kJyxcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnLFxuICAkYmxvY2s6ICdibG9jaydcbikge1xuICAvLyBSb3dcbiAgLiN7JHJvd30ge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgLy8gQ29sbGFwc2luZ1xuICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJiAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuXG4gICAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgKGZ1bGwtd2lkdGgpIHJvd1xuICAgICYuI3skZXhwYW5kZWR9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC4jeyRleHBhbmRlZH0pIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkZ3JpZC1jb2x1bW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAvLyBTdGF0aWMgKHVucmVzcG9uc2l2ZSkgcm93IGd1dHRlcnNcbiAgICAgIC8vXG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRncmlkLWNvbHVtbi1ndXR0ZXIge1xuICAgICAgICAmLiN7JGd1dHRlcn0tI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCR2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC4jeyRjb2x1bW59IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcblxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmLiN7JGVuZH0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLiN7JHJvd30gLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBDb2x1bW4gd2lkdGhcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1zaXplKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgICBAaWYgJGkgPCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRvZmZzZXR9LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KCRpLCAnLiN7JGNvbHVtbn0nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRleHBhbmRlZH0uI3skcm93fSAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfS4jeyRyb3d9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfSxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIHtcbiAgICAuY29sdW1ucyB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbHVtbi1ndXR0ZXIoKS4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sLWd1dHRlcigpLiBncmlkLWNvbC11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKCN7JG59bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBoZWxwO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRvIHJlbW92ZSB0aGUgYnVsbGV0cyBmcm9tIGFuIHVub3JkZXJlZCBsaXN0XG4gIC5uby1idWxsZXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRwcmltYXJ5LWNvbG9yLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJHByaW1hcnktY29sb3JdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KTtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcbiAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNsYXNoIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzbGFzaDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJy8nLCAnXFxcXCcpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcblxuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb250ZW50OiAkc2xhc2g7XG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIEJvcmRlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kYnV0dG9uZ3JvdXAtc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlXG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRidXR0b25ncm91cC1zcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIGZvcmNlLWVsZW1lbnQtbmVzdGluZ1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZ1YWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY2FyZC1mb250LWNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBmb3IgYm9yZGVyZWQgbWVudVxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBtYXJnaW46ICRtZW51LW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXMgYXJlIHRhYmxlIGNlbGwgdG8gYWxsb3cgZm9yIHZlcnRpY2FsIGFsaWdubWVudFxuICA+IGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBsaW5lIGhlaWdodCB0byBtYWtlIHRoZSBoZWlnaHQgb2YgdGhlIG92ZXJhbGwgaXRlbSBlYXNpZXIgdG8gY2FsY3VsYXRlXG4gID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgID4gbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cblxuICA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgPiBsaSAgPiBhIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFNldCB0byBgbnVsbGAgdG8gZG8gbm90IGdlbmVyYXRlIHN0eWxlcyBmb3IgZGlyZWN0aW9uLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCkge1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgQGlmICRkaXIgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVudS1zaW1wbGUtZGlyZWN0aW9uKCRkaXIpO1xuICB9XG59XG5cbi8vLyBEaXJlY3Rpb24gbW9kaWZpZXIgZm9yIGEgc2ltcGxlIE1lbnVcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnVcbkBtaXhpbiBtZW51LXNpbXBsZS1kaXJlY3Rpb24oJGRpcjogJGdsb2JhbC1sZWZ0KSB7XG4gICRuby1tYXJnaW4tZGlyOiAkZGlyO1xuICAkbWFyZ2luLWRpcjogZGlyZWN0aW9uLW9wcG9zaXRlKCRkaXIpO1xuXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skbm8tbWFyZ2luLWRpcn06IDA7XG4gICAgbWFyZ2luLSN7JG1hcmdpbi1kaXJ9OiBnZXQtc2lkZSgkbWVudS1pdGVtLXBhZGRpbmcsICRtYXJnaW4tZGlyKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRwYWRkaW5nIFthdXRvXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuQG1peGluIG1lbnUtbmVzdGVkKCRtYXJnaW46ICRtZW51LW1hcmdpbi1uZXN0ZWQpIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbn1cblxuLy8vIEFkZHMgc3VwcG9ydCBmb3IgaWNvbnMgdG8gTWVudSBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbc2lkZV0gLSBQb3NpdGlvbmluZyBmb3IgaWNvbnMuIENhbiBiZSBgc2lkZWAgKGxlZnQsIG9yIHJpZ2h0IG9uIFJUTCkgb3IgYHRvcGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHRoZSBzaGFyZWQgQ1NTIGJldHdlZW4gc2lkZS0gYW5kIHRvcC1hbGlnbmVkIGljb25zIGZyb20gYmVpbmcgcHJpbnRlZC4gU2V0IHRoaXMgdG8gYGZhbHNlYCBpZiB5b3UncmUgY2FsbGluZyB0aGUgbWl4aW4gbXVsdGlwbGUgdGltZXMgb24gdGhlIHNhbWUgZWxlbWVudC5cbkBtaXhpbiBtZW51LWljb25zKCRwb3NpdGlvbjogc2lkZSwgJGJhc2U6IHRydWUpIHtcbiAgQGlmICRiYXNlIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICsgc3BhbiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gc2lkZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWVudS1pY29uLXNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuXG4gICAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZS1kaXJlY3Rpb24oJGdsb2JhbC1yaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgaWNvbnNcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnModG9wLCAkYmFzZTogZmFsc2UpO1xuICAgICAgLy8gTWFrZSB2ZXJ0aWNhbCBtZW51IHdpdGggaWNvbnMgb24gdG9wIHdvcmtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICBhID4gc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gTWVudSB3aXRoIGJvcmRlclxuICAgICYubWVudS1ib3JkZXJlZCB7XG4gICAgICBsaSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZW51LWJvcmRlcjtcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgd2l0aCBiYWNrZ3JvdW5kIGhvdmVyXG4gICAgJi5tZW51LWhvdmVyIHtcbiAgICAgIGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZW51LXRleHQge1xuICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgfVxuXG4gIC8vIEFsaWduIGNlbnRlclxuICAubWVudS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgPiAubWVudSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBBcHBsaWVkIHRvIG5lc3RlZCA8dWw+c1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgIH1cbiAgfVxuXG4gIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG5cbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuQG1peGluIGxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAxLjVyZW07XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkKCkuIGZvdW5kYXRpb24tZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG59XG5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW8pIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgcmVzcG9uc2l2ZS1lbWJlZCgpLiBmbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxMikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4ICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgJi5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICAmLmlzLW9wZW4gfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHNpemU7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICAmLmlzLW9wZW4gfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgJi5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLXNoYWRvdyBpcyBzZXQsIGFkZCBpdCBhcyBhIHBzZXVkby1lbGVtZW50LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtc2hhZG93IHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaDo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vIHRyYW5zZm9ybSBvbiBvdmVybGFwIHRyYW5zaXRpb25cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzc1xuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAkb2ZmY2FudmFzLXNpemU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzbGlkZSBjb250YWluaW5nIGFuIGltYWdlLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtaW1hZ2VgIGNsYXNzLlxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb2dyZXNzLWJhclxuLy8vL1xuXG4vLy8gSGVpZ2h0IG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLWhlaWdodDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBhIHByb2dyZXNzIGJhcidzIG1ldGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1lbGVtZW50IHtcbiAgcHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICB9XG5cbiAgICAvLyBGb3IgRmlyZWZveFxuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciBzZXRzIHRoZSBmaWxsIHdpdGggY29sb3JcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9yIElFIGFuZCBFZGdlXG4gICAgJjo6LW1zLWZpbGwge1xuICAgICAgQGlmIGhhc3ZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzbGlkZXIncyB0cmFjay5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGFjdGl2ZSBmaWxsIGNvbG9yIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGhhbmRsZSBmb3IgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgYW1vdW50IG9mIGEgZGlzYWJsZWQgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQge1xuICBpbnB1dFt0eXBlPVwicmFuZ2VcIl0geyAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJG1hcmdpbjogKCRzbGlkZXItaGFuZGxlLWhlaWdodCAtICRzbGlkZXItaGVpZ2h0KSAvIDI7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbjtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAvLyBDaHJvbWUvU2FmYXJpXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci1oYW5kbGUge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGaXJlZm94XG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlclxuICAgICY6Oi1tcy10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItYm90dG9tOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBhdC1yb290IHtcbiAgICAgIG91dHB1dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbiAgICAvLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICVyZXZlYWwtY2VudGVyZWQge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6IDApIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICZbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gICYudG9wOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gIH1cblxuICAmLmxlZnQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuXG4gICYucmlnaHQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFNUQVJUOiBURU1QT1JBUlkgKi9cbi8qIEVORDogVEVNUE9SQVJZICovXG5cbi8qIFNUQVJUOiBGTE8gSUNPTlMgKi9cbkBpbXBvcnQgXCJsZXR0ZXItaWNvbnMtZm9udGVsbG8uc2Nzc1wiO1xuLyogRU5EOiBGTE8gSUNPTlMgKi9cblxuLyogU1RBUlQ6IENPTE9SUyAqL1xuJGNvbG9yLXdoaXRlOiAjZmZmZmZmO1xuJGNvbG9yLWJsYWNrOiAjMzMyRjJGO1xuJGNvbG9yLWdyYXktZGFyazogI2RkZGNkYjtcbiRjb2xvci1ncmF5OiAjZjlmOWY5O1xuJGNvbG9yLWdyYXktbGlnaHQ6ICNiYmJiYmI7XG4kY29sb3ItZ3JheS1saWdodC0yOiAjZWVlZWVlO1xuXG4kY29sb3ItYnJvd246ICRjb2xvci1ibGFjaztcbi8qIEVORDogQ09MT1JTICovXG5cbi8qIFNUQVJUOiBXSURUSCBWQVJJQUJMRVMgKi9cbiRnbG9iYWwtY29sdW1uLXdpZHRoOiByZW0tY2FsYygxMDIpO1xuJGdsb2JhbC1ndXR0ZXItd2lkdGg6IHJlbS1jYWxjKDIwKTtcbiRjb250ZW50LWRlZmF1bHQtd2lkdGg6IHJlbS1jYWxjKDE0NDApO1xuJGNvbnRlbnQtbWVkaXVtLXdpZHRoOiByZW0tY2FsYyg3NjApO1xuXG4kZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDogcmVtLWNhbGMoMzIuNSk7XG4kZ2xvYmFsLXBhZGRpbmctLXZlcnRpY2FsOiByZW0tY2FsYyg1MCk7XG4kZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbDogcmVtLWNhbGMoMzApO1xuXG4kZ2xvYmFsLWNvbHVtbjogcmVtLWNhbGMoOTUpO1xuLyogRU5EOiBXSURUSCBWQVJJQUJMRVMgKi9cblxuXG4vKiBTVEFSVDogTUlYSU5TICovXG5cbi8qIEVuZDogVHJhbnNpdGlvbnMgKi9cbiRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDogMC41cztcbi8vICRnbG9iYWwtZWFzaW5nOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuJGdsb2JhbC1lYXNpbmc6IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcblxuLnJldmVhbCB7XG4gIC8vIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkZ2xvYmFsLWVhc2luZyFpbXBvcnRhbnQ7XG4gIC8vIHRyYW5zaXRpb24tZHVyYXRpb246ICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZCFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBnbG9iYWwtdHJhbnNpdGlvbigkdHJhbnNpdGlvbnMuLi4pIHtcbiAgLy8gJHRyYW5zaXRpb25zOiBhcHBlbmQoJHRyYW5zaXRpb25zIGNvbW1hKTtcbiAgJHM6ICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcbiAgJHVuZm9sZGVkVHJhbnNpdGlvbnM6ICgpO1xuICBAZWFjaCAkdHJhbnNpdGlvbiBpbiAkdHJhbnNpdGlvbnMge1xuICAgICR1bmZvbGRlZFRyYW5zaXRpb25zOiBhcHBlbmQoJHVuZm9sZGVkVHJhbnNpdGlvbnMsICR0cmFuc2l0aW9uICsgXCIgXCIgKyAkcywgY29tbWEpXG4gIH1cbiAgdHJhbnNpdGlvbjogJHVuZm9sZGVkVHJhbnNpdGlvbnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkZ2xvYmFsLWVhc2luZztcbn1cbi8qIEVuZDogVHJhbnNpdGlvbnMgKi9cblxuXG5AbWl4aW4gcGxhY2Vob2xkZXIoJG9wYWNpdHksICRjb2xvcil7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgfVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgfVxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbn1cblxuLyogU3RhcnQ6IEJhY2tncm91bmQgaW1hZ2UgKi9cbkBtaXhpbiBnbG9iYWwtYmdpLWNvbnRhaW4ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ2xvYmFsLWJnaS1jb3ZlciB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4vKiBFbmQ6IEJhY2tncm91bmQgaW1hZ2UgKi9cblxuLyogU3RhcnQ6IEJveCBTaXppbmcgKi9cbkBtaXhpbiBib3gtc2l6aW5nKCRkYXRhKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGRhdGE7XG4gIC1tb3otYm94LXNpemluZzogJGRhdGE7XG4gIGJveC1zaXppbmc6ICRkYXRhO1xufVxuLyogRW5kOiBCb3ggc2l6aW5nICovXG5cbkBtaXhpbiBnbG9iYWwtY2xpY2thYmxlKCRhbmltYXRlOiBmYWxzZSkge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICBAaWYgKCRhbmltYXRlKSB7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odHJhbnNmb3JtLCBjb2xvciwgb3BhY2l0eSk7XG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIH1cbiAgfVxufVxuLmZsby1nbG9iYWwtY2xpY2thYmxlIHtcbiAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZSgpO1xuICAmLXdpdGgtYW5pbWF0aW9uIHtcbiAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlKHRydWUpO1xuICB9XG59XG5cbi8qIFNUQVJUOiBSZXNwb25zaXZlIEltYWdlcyBGb3IgQmFja2dyb3VuZCAqL1xuICBAbWl4aW4gZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoJGJsb2NrX2NsYXNzKSB7XG4gICAgI3skYmxvY2tfY2xhc3N9IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbm8taW1hZ2UuanBnKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1zbWFsbCk7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgI3skYmxvY2tfY2xhc3N9IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLW1lZGl1bSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICN7JGJsb2NrX2NsYXNzfSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1sYXJnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4vKiBFTkQ6IFJlc3BvbnNpdmUgSW1hZ2VzIEZvciBCYWNrZ3JvdW5kICovXG5cbkBtaXhpbiBmbG8tZGlzYWJsZS1mYWRpbmctZWZmZWN0KCRjbGFzcykge1xuICAvKiBTVEFSVDogQVBQRUFSIEFOSU1BVElPTiAqL1xuICBib2R5Om5vdCgjeyRjbGFzc30pOm5vdCguc2luZ2xlLWdhbGxlcnkpIHtcbiAgICAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2ssXG4gICAgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpLFxuICAgIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICosXG4gICAgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhciksXG4gICAgLnRvLWFwcGVhcixcbiAgICAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAmOm5vdCgudmlzaWJsZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocmVtLWNhbGMoMTIwKSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgIH1cbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgICAgIC8vIEBpbmNsdWRlIGdsb2JhbF90cmFuc2l0aW9uKG9wYWNpdHksIHRyYW5zZm9ybSk7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGdsb2JhbC1lYXNpbmc7XG4gICAgICAmOm50aC1jaGlsZCgxbikge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZCAqIDIuNSwgdHJhbnNmb3JtICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZCwgY29sb3IgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQgKiAyLjUgMC4xcywgdHJhbnNmb3JtICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZCAwLjFzLCBjb2xvciAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG4gICAgICB9XG4gICAgICAmLnZpc2libGUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAvLyB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvKiBFTkQ6IEFQUEVBUiBBTklNQVRJT04gKi9cbn1cbi8qIEVORDogTUlYSU5TICovXG5cblxuLyogU1RBUlQ6IEdMT0JBTCBTVFlMRVMgKi9cblxuICBodG1sIHtcbiAgICAvLyBFbnN1cmUgZ29vZCBkZXNpZ24gcHJvcG9ydGlvbiBmcm9tIHRhYmxldCB1cCB3aGlsZSB1c2luZyByZW1zICh5ZXMgZm9yZ2V0IGFib3V0IHpvb20pLlxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAvLyBmb250LXNpemU6IDEuMjh2dztcbiAgICAgIGZvbnQtc2l6ZTogMS4xMTExMXZ3O1xuICAgIH07XG4gIH1cblxuICAqIHtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIC8vIFN0eWxlcyBvdXRzaWRlIHBvc3RcbiAgKjpub3QoLmZsby1wb3N0KSwgKjpub3QoLmZsby1wb3N0X19zdHlsZXMpIHtcbiAgICBhIHtcbiAgICAgIC8vIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIC8vIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yLCBvcGFjaXR5KTtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgLy8gY29sb3I6ICRjb2xvci1ncmF5LWxpZ2h0O1xuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhvdmVyLWJsb2Nre1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIGZpZ3VyZXtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlcntcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgbGkge1xuXG4gICAgfVxuXG4gIH1cblxuICAvL1Jlc2V0IGRlZmF1bHQgc3R5bGVzXG4gIGJvZHl7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgfVxuXG4gIGgxLGgyLGgzLGg0LGg1LGg2e1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250OiBpbmhlcml0O1xuICB9XG5cbiAgW2NsYXNzXj1cImZsby1pY29uLVwiXTpiZWZvcmUsXG4gIFtjbGFzcyo9XCIgZmxvLWljb24tXCJdOmJlZm9yZXtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgYnV0dG9ue1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgYXtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAmOmhvdmVye1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgICY6dmlzaXRlZHtcbiAgICAgIC8vIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuICBwIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIGZpZ3VyZXtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgcHJle1xuICAgIHdoaXRlLXNwYWNlOiBpbml0aWFsO1xuICB9XG5cbiAgLnJvd3tcbiAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgd2lkdGg6IGluaXRpYWw7XG4gIH1cblxuICAucm93LWZsZXh7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gIH1cblxuICAuY29sdW1ue1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuXG4gIC8vU2xpY2sgU2xpZGVyIHJlc2V0IGRlZmF1bHQgc3R5bGVzXG5cbiAgLnNsaWNrLWluaXRpYWxpemVkIHtcbiAgICAuc2xpY2stc2xpZGV7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG5cbiAgLyogU1RBUlQ6IElOUFVUUyAqL1xuICAgIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSksXG4gICAgdGV4dGFyZWEge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygxNSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVye1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgfVxuXG4gICAgICAmLmZsby1uby1zdHlsaW5nIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICYsXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXN7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgaW5wdXRbdHlwZT1cInVybFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1cbiAgICB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMWVtIWltcG9ydGFudDtcbiAgICAgIC8vIGhlaWdodDogMWVtO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J3N1Ym1pdCdde1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogMDtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yLGxldHRlci1zcGFjaW5nKTtcblxuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXN7XG4gICAgICB9XG4gICAgfVxuICAvKiBFTkQ6IElOUFVUUyAqL1xuXG4gIC8qIFNUQVJUOiBCVVRUT05TICovXG4gICAgLmZsby1idXR0b24sXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVxuICAgIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTM1KTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYpIHJlbS1jYWxjKDQwKTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHksIGJhY2tncm91bmQtY29sb3IsIGNvbG9yKTtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDI3KTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpub3QoLmZsby1idXR0b24tLXdpdGhvdXQtYm9yZGVyKSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgfVxuICAgIH1cbiAgLyogRU5EOiBCVVRUT05TICovXG5cbi8qIEVORDogR0xPQkFMIFNUWUxFUyAqL1xuXG5cbi8qIFNUQVJUOiBBUFBFQVIgQU5JTUFUSU9OICovXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gIEBpbmNsdWRlIGZsby1kaXNhYmxlLWZhZGluZy1lZmZlY3QoJy5mbG8tYXBwZWFyLWRpc2FibGVkJyk7XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgQGluY2x1ZGUgZmxvLWRpc2FibGUtZmFkaW5nLWVmZmVjdCgnLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkJyk7XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICBAaW5jbHVkZSBmbG8tZGlzYWJsZS1mYWRpbmctZWZmZWN0KCcuZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQnKTtcbn1cbi8qIEVORDogQVBQRUFSIEFOSU1BVElPTiAqL1xuXG5cbi8qIFNUQVJUOiBaLUlOREVYIE1BUCAqL1xuQGltcG9ydCBcInotaW5kZXgtbWFwLnNjc3NcIjtcbi8qIEVORDogWi1JTkRFWCBNQVAgKi9cblxuYm9keSB7XG4gIC8vIG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAvLyBoZWlnaHQ6IGF1dG87XG4gIC8vIG1hcmdpbjogMDtcblxuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UtaW47XG4gIFxuICAmLmZsby1kZWNvcmF0aW9uLXR5cGUge1xuICAgICYtLXdhdmVzIHtcbiAgICAgIC5mbG8taWNvbi1xdW90ZS1sZWZ0IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGU4MTAnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmxvLWljb24tcXVvdGUtcmlnaHQge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcZTgwMyc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi0tc3RhcnMge1xuICAgICAgLmZsby1pY29uLXF1b3RlLWxlZnQge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcZTgyMSc7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5mbG8taWNvbi1xdW90ZS1yaWdodCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnXFxlODIyJztcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLS1yYWluZHJvcHMge1xuICAgICAgLmZsby1pY29uLXF1b3RlLWxlZnQge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcZTgyMCc7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5mbG8taWNvbi1xdW90ZS1yaWdodCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnXFxlODIwJztcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLS13aW5kIHtcbiAgICAgIC5mbG8taWNvbi1xdW90ZS1sZWZ0IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGU4MjMnO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmxvLWljb24tcXVvdGUtcmlnaHQge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcZTgyNCc7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm92ZXJmbG93LWhpZGUge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG4vKiBFTkQ6IEhUTUwgT1ZFUkZMT1cgRk9SIFNBRkFSSSBGSVggKi9cblxuLyogU1RBUlQ6IEZJWCBST1dTIElOIFNBRkFSSSAqL1xuLnJvdyB7XG4gICY6YmVmb3JlIHtcbiAgICB3aWR0aDogMDtcbiAgfVxufVxuLyogRU5EOiBGSVggUk9XUyBJTiBTQUZBUkkgKi9cbiIsIi5mbG8tcGFnZS1oYXMtc2lkZWJhcl9fc2lkZWJhcntcbiAgei1pbmRleDogOTtcbn1cblxuLmZsby1zbGlkZXItYXJyb3d7XG4gei1pbmRleDogOTtcbn1cblxuLmZsby1wYWdlLWhlcm9fX2xvZ28ge1xuICB6LWluZGV4OiAxMTtcbn1cblxuLmZsby1oZWFkZXJ7XG4gIHotaW5kZXg6IDk5OTk5OTtcbn1cblxuLmZsby1wYWdlLWFib3V0LXR5cGUtYV9fZmVhdHVyZWQtaW5mb3tcbiAgei1pbmRleDogOTtcbn0iLCIuY29tbWVudHMtYmxvY2t7XG4gICRiOiBcIi5jb21tZW50cy1ibG9ja1wiO1xuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoODUpO1xuXG4gIC5mbG8taWNvbi1yZXBseXtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgfVxuXG5cbiAgLnBhcmVudHtcbiAgICAuY29tbWVudHtcbiAgICAgIC5jb21tZW50LWJvZHl7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzUpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzNSk7XG4gICAgICB9XG4gICAgICAmLmRlcHRoLTN7XG4gICAgICAgIC5jb21tZW50LWJvZHl7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuZGVwdGgtNHtcbiAgICAgICAgLmNvbW1lbnQtYm9keXtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDY1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5kZXB0aC01e1xuICAgICAgICAuY29tbWVudC1ib2R5e1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoODApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmRlcHRoLTV7XG4gICAgICAgIC5jb21tZW50LWJvZHl7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg5NSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29tbWVudC1ib2R5e1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMikgMDtcbiAgfVxuXG4gIC5jb21tZW50LW5hbWUtYW5kLXJlcGx5e1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAuY29tbWVudC1hdmF0YXItYW5kLW5hbWV7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLmZsby1wb3J0bzItY29tbWVudHMtYmxvY2tfX3JlcGx5e1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDEwKSAwO1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAuY29tbWVudC1yZXBseS1saW5re1xuLy8gICAgICB0ZXh0LWluZGVudDogLTk5OTk5cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgICY6aG92ZXJ7XG4gICAgICBjb2xvcjogJGNvbG9yLWdyYXktbGlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmNvbW1lbnQtYmxvY2stY29udGVudHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMCk7XG4gIH1cblxuICAuY29tbWVudC1tZXRhe1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjQpO1xuICB9XG5cbiAgLmNvbW1lbnQtYXZhdGFye1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICBpbWd7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzYpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jb21tZW50LXJlc3BvbmR7XG4gICAgLy9wYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pe1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICB9XG5cblxuICAmX190b3AtYmFye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDI0KTtcbiAgfVxuXG4gICZfX3Nob3d7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9fdG9wLWJhci1oaWRlLWJ1dHRvbntcbiAgICAuZmxvLWljb257XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDgpO1xuICAgIH1cbiAgfVxuICAmX190b3AtYmFyLXNob3ctYnV0dG9ue1xuICAgIC5mbG8taWNvbntcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIH1cbiAgfVxuXG4gICZfX3RvcC1iYXItaGlkZS1idXR0b24sXG4gICZfX3RvcC1iYXItc2hvdy1idXR0b24sXG4gICZfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5LCB2aXNpYmlsaXR5LCBoZWlnaHQpO1xuICB9XG5cbiAgLy8mX190b3AtYmFyLWhpZGUtYnV0dG9uLXRleHQsXG4gIC8vJl9fdG9wLWJhci1zaG93LWJ1dHRvbi10ZXh0LFxuICAvLyZfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbiB7XG4gIC8vICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMi41KTtcbiAgLy99XG5cbiAgJl9fdG9wLWJhci10b2dnbGUtYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbiAgICAmX190b3AtYmFyLXRvZ2dsZS1idXR0b24tbGFiZWwtd3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgICAgJl9fdG9wLWJhci10b2dnbGUtYnV0dG9uLWxhYmVsIHtcblxuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5LCBjb2xvcik7XG5cbiAgICAgICAgJi0tc2hvdyB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1oaWRlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fdG9wLWJhci10b2dnbGUtYnV0dG9uLWljb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTIuNSk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG4gICAgICB9XG5cblxuICAmX19jb2xsYXBzZWR7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fcG9zdHN7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odmlzaWJpbGl0eSwgb3BhY2l0eSk7XG4gIH1cblxuICAmLS1leHBhbmRlZHtcbiAgICAjeyRifV9fcG9zdHN7XG4gICAgICAvLyBoZWlnaHQ6IGF1dG87XG4gICAgICAvLyBvcGFjaXR5OiAxO1xuICAgICAgLy8gdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gICAgI3skYn1fX3RvcC1iYXItc2hvdy1idXR0b257XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cbiAgICAjeyRifV9fdG9wLWJhci1oaWRlLWJ1dHRvbntcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgICN7JGJ9X190b3AtYmFyLXRvZ2dsZS1idXR0b24tbGFiZWwge1xuICAgICAgJi0tc2hvdyB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgICAmLS1oaWRlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gICYtLWNvbGxhcHNlZHtcbiAgICAjeyRifV9fcG9zdHN7XG4gICAgICAvLyBoZWlnaHQ6IDA7XG4gICAgICAvLyB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAvLyBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAjeyRifV9fdG9wLWJhci1zaG93LWJ1dHRvbntcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICN7JGJ9X190b3AtYmFyLWhpZGUtYnV0dG9ue1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgI3skYn1fX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbi1sYWJlbCB7XG4gICAgICAmLS1zaG93IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICAgICYtLWhpZGUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAjeyRifV9fdG9wLWJhci10b2dnbGUtYnV0dG9uLWljb24ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICB9XG4gIC8vRm9ybVxuICAmX19wb3N0LWZvcm17XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQ0KTtcblxuICAgIC5mb3JtLXN1Ym1pdHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0OCk7XG4gICAgfVxuXG4gICAgLyogU1RBUlQ6IFBBUlNMRVkgKi9cbiAgICAgIC5wYXJzbGV5LWVycm9ycy1saXN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAgIC5wYXJzbGV5LXJlcXVpcmVkIHtcbiAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTApIDA7XG4gICAgICAgIH1cbiAgICAvKiBFTkQ6IFBBUlNMRVkgKi9cblxuICB9XG5cbiAgJl9fZm9ybS10aXRsZS1hcmVhe1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9fZm9ybS10aXRsZXtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzYpO1xuICB9XG5cblxuICAmX19mb3JtLWZpZWxke1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAvL3BhZGRpbmctdG9wOiByZW0tY2FsYygxMik7XG4gICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICAuZm9ybS1zdWJtaXR7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQ4KTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuXG4gICAgLy9wYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDk1KTtcbiAgICAvL3BhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDk1KTtcblxuICAgIC5jb21tZW50LWNvbnRlbnR7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgICAvLyZfX3Bvc3QtZm9ybXtcbiAgICAvLyAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg5NSk7XG4gICAgLy8gIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDk1KTtcbiAgICAvL31cbiAgICAmX19mb3JtLWZpZWxke1xuICAgICAgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKXtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg5MCk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgLmNvbW1lbnQtYmxvY2stY29udGVudHtcbiAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgJl9fZm9ybS1maWVsZHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzUpO1xuICAgICAgICAmOmxhc3Qtb2YtdHlwZXtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB9XG4gICAgJl9fcG9zdC1mb3Jte1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuICB9XG59XG5cbi5jb21tZW50LXJlcGx5LXRpdGxle1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8vIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0MCk7XG5cbiAgLmZsby1pY29uLWNsb3Nle1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgfVxufVxuLmNvbW1lbnRzLXBhZ2luYXRpb257XG4gIGgyLnNjcmVlbi1yZWFkZXItdGV4dHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXYtbGlua3N7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5wYWdlLW51bWJlcnN7XG4gICAgJi5wcmV2LCYubmV4dHtcbiAgICAgIC5zY3JlZW4tcmVhZGVyLXRleHR7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICYucHJldntcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICAmLm5leHR7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2Nre1xuICAkYjogJy5mbG8tYmxvY2snO1xuICAvLyAkZ2FwLXNpZGU6IHJlbS1jYWxjKDIwKTtcblxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLS1tZXJnZWQtd2l0aC1oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiAwIWltcG9ydGFudDtcbiAgfVxuXG4gICYtLWZ1bGwtd2lkdGgge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgJi0tbm8tcGFkZGluZyB7XG4gICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLS1ub3QtZm91bmR7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuICB9XG5cbiAgJi0taGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJl9faGVhZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogOTk5OTtcbiAgfVxuICAmX19jb250YWluZXJ7XG4gICAgJjphZnRlcntcbiAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctLXZlcnRpY2FsICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcblxuICAgICZfX2NvbnRhaW5lcntcbiAgICAgIC8vIHdpZHRoOiAkY29udGVudC1kZWZhdWx0LXdpZHRoO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIFxuICAgICYtLW5vLXRvcC1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi0tZnVsbC13aWR0aCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgLy8jeyRifV9fY29udGFpbmVye1xuICAgICAgLy8gIHdpZHRoOiAxMDAlO1xuICAgICAgLy99XG4gICAgfVxuICAgICYtLW1lZGl1bS13aWR0aHtcbiAgICAgICN7JGJ9X19jb250YWluZXJ7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRlbnQtbWVkaXVtLXdpZHRoO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1oZWFkZXItaGlkZGVuLW9uLWRlc2t0b3Age1xuICAgICAgI3skYn1fX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLXZlcnRpY2FsIDA7XG4gICAgJjpub3QoLmZsby1ibG9jay0tZnVsbC13aWR0aCl7XG4gICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgIH1cbiAgICAmLmZsby1ibG9jay1tb2JpbGUtLW5vLXZlcnRpY2FsLXBhZGRpbmcge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tZm9ybXtcclxuXHJcbiAgaW5wdXRbdHlwZV17XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG5cclxuICAmX19maWVsZHtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIzLjUpO1xyXG4gICAgJjpsYXN0LW9mLXR5cGV7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXXtcclxuICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XHJcbiAgIH1cclxufVxyXG5cclxuLmZsby1tb2RhbHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDk7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRvcDogMHB4O1xyXG4gICAgbGVmdDogMHB4O1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIC50aHgtbXNnIHtcclxuICAgICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbWFyZ2luLXRvcDogLTE4MHB4O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0xNzBweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgI2U1ZTVlNTtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRhY3QtcmVzcG9uc2Uge1xyXG4gIHAge1xyXG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMTIuNSk7XHJcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgJGNvbG9yLWdyYXk7XHJcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XHJcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyYXktZGFyaztcclxuICB9XHJcbn1cclxuIiwiKltkYXRhLWxxaXAtc3JjXVxue1xuICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihmaWx0ZXIsIGJhY2tncm91bmQtaW1hZ2UpO1xuICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC8vIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICY6bm90KC5mbG8tbHFpcC0tb3JpZ2luYWwtbG9hZGVkKSB7XG4gICAgZmlsdGVyOiBibHVyKDQwcHgpO1xuICAgIC8vIG9wYWNpdHk6IDA7XG4gIH1cbn1cbiIsIi5mbG8tcGFnZS1oZWFke1xuICAkYjogJy5mbG8tcGFnZS1oZWFkJztcbiAgJGdhcC1zaWRlOiByZW0tY2FsYyg0MCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGdhcC1zaWRlKjJ9KTtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgJi0td2l0aC1ib3JkZXJ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5LWxpZ2h0O1xuICB9XG5cbiAgJl9fZHJvcGRvd257XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgLmZsby1kcm9wZG93bi1tZW51e1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICYtLWhhcy1kcm9wZG93bi1tZW51e1xuICAgICN7JGJ9X19kcm9wZG93bntcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuICB9XG5cbiAgJl9fZGVjb3JhdGlvbi1pbWFnZXtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg4OC44KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gIH1cbiAgJl9fdGl0bGV7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKXtcblxuICAgICZfX3RpdGxle1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQzKSAwO1xuICAgIH1cblxuICAgICZfX2xlZnQtc2lkZXtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgfVxuICAgICZfX2Ryb3Bkb3due1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG4gICAgLmZsby1kcm9wZG93bi1tZW51X19idG57XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgJGdhcC1zaWRlOiByZW0tY2FsYygzMCk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRnYXAtc2lkZSoyfSk7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQzKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG5cbiAgICAuZmxvLWRyb3Bkb3duLW1lbnVfX2J0bntcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIzKSAwIHJlbS1jYWxjKDQzKTtcbiAgICB9XG4gIH1cblxuXG59XG4iLCIuZmxvLXNoYXJlLXJvbGxvdmVyIHtcbiAgJGI6IFwiLmZsby1zaGFyZS1yb2xsb3ZlclwiO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmX190cmlnZ2VyIHtcbiAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICB9XG5cbiAgJl9fc2hhcmUtd3JhcCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYSB7XG4gICAgICBtYXJnaW46IDAgcmVtLWNhbGMoNyk7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICB9XG4gIH1cbiAgJi52aXNpYmxlIHtcbiAgICAjeyRifV9fdHJpZ2dlciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgICN7JGJ9X19zaGFyZS13cmFwIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXG4gICAgJl9fdHJpZ2dlciB7XG5cbiAgICB9XG5cbiAgICAmX19zaGFyZS13cmFwIHtcblxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG4gICAgJl9fdHJpZ2dlciB7XG5cbiAgICB9XG5cbiAgICAmX19zaGFyZS13cmFwIHtcblxuICAgIH1cbiAgfVxufVxuIiwiLy9TbGljayBTbGlkZXIgcmVzZXQgZGVmYXVsdCBzdHlsZXNcblxuLnNsaWNrLXNsaWRlciB7XG4gIC5zbGljay10cmFjayxcbiAgLnNsaWNrLWxpc3QsXG4gIC5zbGljay1zbGlkZSxcbiAgYXtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbn1cblxuLnNsaWNrLWFycm93e1xuICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuIiwiLmZsby12aWRlby1lbWJlZC1kdW1teSB7XG4gICRiOiBcIi5mbG8tdmlkZW8tZW1iZWQtZHVtbXlcIjtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblxuICAmX192aWRlby1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgICRzaXplOiByZW0tY2FsYyg3MCk7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogJHNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogJHNpemU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG5cbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci13aGl0ZTtcblxuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yLCB0b3AsIG9wYWNpdHksIGJvcmRlciwgdHJhbnNmb3JtKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cbiAgfVxuICAgICZfX3ZpZGVvLWJ1dHRvbi1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcblxuICAgICAgJi0tcGxheSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAmX192aWRlby1idXR0b24ge1xuICAgICAgJHNpemU6IHJlbS1jYWxjKDQ4KTtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc2l6ZTtcbiAgICAgIGZvbnQtc2l6ZTogJHNpemUgLyAxLjYxIC8gMS42MSAvIDEuNjE7XG4gICAgfVxuICB9XG59XG4iLCIuZmxvLXZpZGVvLWVtYmVkIHtcbiAgJGI6IFwiLmZsby12aWRlby1lbWJlZFwiO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAmX19zY3JlZW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG5cbiAgICBpZnJhbWUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlXG4gICAgfVxuICB9XG5cblxuICAmX192aWRlby1idXR0b24ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgICRzaXplOiByZW0tY2FsYyg3MCk7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogJHNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogJHNpemU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG5cbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci13aGl0ZTtcblxuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yLCB0b3AsIG9wYWNpdHksIGJvcmRlciwgdHJhbnNmb3JtKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cbiAgfVxuICAgICZfX3ZpZGVvLWJ1dHRvbi1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcblxuICAgICAgJi0tcGxheSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgICAmLS1zdG9wIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgJGxvYWRlZF9tb2RpZmljYXRvcjogXCItLWxvYWRlZFwiO1xuXG4gIC8vIFN0YXJ0OiBWaWRlbyBOb3QgUGxheWluZyBTdGF0ZVxuICAgICY6bm90KCYjeyRsb2FkZWRfbW9kaWZpY2F0b3J9KSB7XG4gICAgICAjeyRifV9fc2NyZWVuIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgICAjeyRifV9fdmlkZW8tYnV0dG9uIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X192aWRlby1idXR0b24taWNvbi0tcGxheSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cbiAgLy8gRW5kOiBWaWRlbyBOb3QgUGxheWluZyBTdGF0ZVxuXG4gIC8vIFN0YXJ0OiBWaWRlbyBQbGF5aW5nIFN0YXRlXG4gICAgJiN7JGxvYWRlZF9tb2RpZmljYXRvcn0ge1xuICAgICAgI3skYn1fX3NjcmVlbiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgfVxuICAgICAgI3skYn1fX3ZpZGVvLWJ1dHRvbiB7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoMTAwKTtcbiAgICAgIH1cbiAgICAgICAgI3skYn1fX3ZpZGVvLWJ1dHRvbi1pY29uLS1zdG9wIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAmOm5vdCg6aG92ZXIpIHtcbiAgICAgICAgI3skYn1fX3ZpZGVvLWJ1dHRvbiB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgLy8gRW5kOiBWaWRlbyBQbGF5aW5nIFN0YXRlXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAmX192aWRlby1idXR0b24ge1xuICAgICAgJHNpemU6IHJlbS1jYWxjKDQ4KTtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc2l6ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOSk7XG4gICAgfVxuICB9XG59XG4iLCIuZmxvLXNvY2lhbC1saW5rcyB7XG4gICRiOiBcIi5mbG8tc29jaWFsLWxpbmtzXCI7XG5cbiAgQGF0LXJvb3Qge1xuICAgIC5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYSB7XG4gICAgICAjeyRifV9fbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgfVxuICAgIH1cbiAgICAuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIge1xuICAgICAgI3skYn1fX2xpbms6YmVmb3JlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbSFpbXBvcnRhbnQ7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiLmZsby1ibG9jay1idXR0b24ge1xuICAkYjogXCIuZmxvLWJsb2NrLWJ1dHRvblwiO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICZfX2J1dHRvbiB7XG5cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX2J1dHRvbiB7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fYnV0dG9uIHtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXIge1xuICAkYjogXCIuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyXCI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAmX19jYXRlZ29yeSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoOCkgcmVtLWNhbGMoMTEpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJvcmRlci1jb2xvcik7XG4gICAgJi0tYWN0aXZlIHtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAmLS1hY3RpdmUge1xuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgJl9fY2F0ZWdvcnkge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICYtLWFjdGl2ZSB7XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stY29tbWVudHMge1xuICAkYjogXCIuZmxvLWJsb2NrLWNvbW1lbnRzXCI7XG5cbiAgJl9fZmJfY29tbWVudHN7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICZfX2ZiX2NvbW1lbnRzICZfX3RpdGxle1xuICAgICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgJl9fbGlzdC13cmFwIHtcblxuICB9XG4gICAgJl9fdGl0bGUge1xuXG4gICAgfVxuICAgICZfX2xpc3Qge1xuXG4gICAgfVxuICAgICAgJl9fY29tbWVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM3KTtcbiAgICAgIH1cbiAgICAgICAgJl9fY29tbWVudC1sZWZ0LXdyYXAge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX19jb21tZW50LWF2YXRhciB7XG4gICAgICAgICAgICAkc2l6ZTogcmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgJixcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkc2l6ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2NvbW1lbnQtYXV0aG9yIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fY29tbWVudC1kYXRlIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgJl9fY29tbWVudC1jb250ZW50IHtcblxuICAgICAgICB9XG4gICAgICAgICAgJl9fY29tbWVudC10ZXh0IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jb21tZW50LXJlcGx5IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jb21tZW50LWFsZXJ0IHtcblxuICAgICAgICAgIH1cblxuICAmX19mb3JtLXdyYXAge1xuXG4gIH1cbiAgICAmX19mb3JtLXRpdGxlIHtcblxuICAgIH1cbiAgICAmX19mb3JtIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzOCk7XG4gICAgfVxuICAgICAgJl9fZm9ybS1maWVsZC13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmLS1iaWcgI3skYn1fX2Zvcm0tZmllbGQge1xuICAgICAgICAgICYgKyAjeyRifV9fZm9ybS1maWVsZC1sYWJlbCxcbiAgICAgICAgICAmICsgdWwgKyAjeyRifV9fZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLXNtYWxsICN7JGJ9X19mb3JtLWZpZWxkIHtcbiAgICAgICAgICAmICsgI3skYn1fX2Zvcm0tZmllbGQtbGFiZWwsXG4gICAgICAgICAgJiArIHVsICsgI3skYn1fX2Zvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAvLyB0b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX2Zvcm0tZmllbGQge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgMCFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICY6bm90KC5lbXB0eSkge1xuICAgICAgICAgICAgJiArICN7JGJ9X19mb3JtLWZpZWxkLWxhYmVsLFxuICAgICAgICAgICAgJiArIHVsICsgI3skYn1fX2Zvcm0tZmllbGQtbGFiZWxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuXG4gICAgICAgIH1cbiAgICAgICAgJl9fZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0b3AsIHRyYW5zZm9ybSk7XG4gICAgICAgIH1cbiAgICAgICZfX2Zvcm0gLnN1Ym1pdCB7XG4gICAgICB9XG5cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy0tdmVydGljYWwgcmVtLWNhbGMoMjIxKTtcblxuICAgICZfX2xpc3Qtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgd2lkdGg6IDIyLjYyJTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgICAmX19saXN0IHtcbiAgICAgICAgd2lkdGg6IDc3LjM4JTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODcpO1xuICAgICAgfVxuICAgICAgICAmX19jb21tZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIH1cbiAgICAgICAgICAuY29tbWVudCAuY29tbWVudCAmX19jb21tZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUyKSByZW0tY2FsYygzOCk7XG5cbiAgICAgICAgICAgICN7JGJ9X19jb21tZW50LWRhdGUge1xuICAgICAgICAgICAgICAvLyBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDI3KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fY29tbWVudC1sZWZ0LXdyYXAge1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE4MCk7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LWF2YXRhciB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NvbW1lbnQtYXV0aG9yIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NvbW1lbnQtZGF0ZSB7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICZfX2NvbW1lbnQtY29udGVudCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LXRleHQge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LXJlcGx5IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1hbGVydCB7XG5cbiAgICAgICAgICAgIH1cblxuICAgICZfX2Zvcm0td3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAgICZfX2Zvcm0tdGl0bGUge1xuICAgICAgICB3aWR0aDogMjIuNjIlO1xuICAgICAgfVxuICAgICAgLmNvbW1lbnQtcmVzcG9uZCB7XG4gICAgICAgIHdpZHRoOiA3Ny4zOCU7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICAgICZfX2Zvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXBcbiAgICAgIH1cbiAgICAgICAgJl9fZm9ybS1maWVsZC13cmFwIHtcbiAgICAgICAgICAkc21hbGwtd2lkdGg6IDI3LjglO1xuICAgICAgICAgICRnYXA6IHJlbS1jYWxjKDYzLjUpO1xuXG4gICAgICAgICAgJi0tc21hbGwge1xuICAgICAgICAgICAgd2lkdGg6ICRzbWFsbC13aWR0aDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQxKSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmOm5vdCg6bnRoLWNoaWxkKDMpKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLS1iaWcge1xuICAgICAgICAgICAgLy8gd2lkdGg6IHJlbS1jYWxjKDUwMCk7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygjeyRzbWFsbC13aWR0aCAqIDJ9ICsgI3skZ2FwfSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2Nyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgJl9fZm9ybS1maWVsZCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fbGlzdCAuY29tbWVudC1yZXNwb25kIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcbiAgICAgICAgICAgICN7JGJ9X19mb3JtLWZpZWxkLXdyYXAge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgI3skYn1fX2Zvcm0tZmllbGQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICYtLXNtYWxsLFxuICAgICAgICAgICAgICAgICYtLWJpZyB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fZm9ybS1maWVsZC1sYWJlbCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZm9ybSAuc3VibWl0IHtcblxuICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgICZfX2xpc3Qtd3JhcCB7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgICZfX2xpc3Qge1xuXG4gICAgICB9XG4gICAgICAgIC5jb21tZW50IC5jb21tZW50ICN7JGJ9X19jb21tZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgICZfX2NvbW1lbnQge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX19jb21tZW50LWxlZnQtd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1hdmF0YXIge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LWF1dGhvciB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NvbW1lbnQtZGF0ZSB7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICZfX2NvbW1lbnQtY29udGVudCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LXRleHQge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LXJlcGx5IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1hbGVydCB7XG5cbiAgICAgICAgICAgIH1cblxuICAgICZfX2Zvcm0td3JhcCB7XG5cbiAgICB9XG4gICAgICAmX19mb3JtLXRpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICAmX19mb3JtIHtcblxuICAgICAgfVxuICAgICAgICAmX19mb3JtLWZpZWxkLXdyYXAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQxKSFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19mb3JtLWZpZWxkIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19mb3JtLWZpZWxkLWxhYmVsIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgJl9fZm9ybSAuc3VibWl0IHtcblxuICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xIHtcbiAgJGI6IFwiLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFcIjtcbiAgZGlzcGxheTogZmxleDtcbiAgJl9fdGV4dC1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAgICZfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgfVxuICAgICZfX3RpdGxlLXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIH1cbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgfVxuICAgICZfX3RleHQtZGVzY3JpcHRpb24ge1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4KTtcbiAgICAgIH1cbiAgICB9XG4gICZfX2Zvcm0tc2VjdGlvbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmLS1jdXN0b20ge1xuXG4gICAgICBmb3JtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLHRleHRhcmVhIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMCFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgLmFwcC1mbG8tZm9ybXMgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIC5lcnJvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICBjb2xvcjogcmVkIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fZm9ybS1maWVsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQhaW1wb3J0YW50O1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgaW5wdXQsXG4gICAgICBsYWJlbCxcbiAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgbGFiZWwge1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19mb3JtLXN1Ym1pdCB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxOCkgcmVtLWNhbGMoNjIpIHJlbS1jYWxjKDEzKSByZW0tY2FsYyg1OCkhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbSFpbXBvcnRhbnQ7XG4gICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0Mik7XG4gICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX3RleHQtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDMyKTtcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWljb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg3NSk7XG4gICAgICB9XG4gICAgICAmX190aXRsZS13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUtZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgwKTtcbiAgICAgIH1cbiAgICAgICZfX3RleHQtZGVzY3JpcHRpb24ge1xuICAgICAgICAmOmxhc3QtY2hpbGQoKXtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgJl9fZm9ybS1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwMCkgcmVtLWNhbGMoMTMxKTtcbiAgICB9XG4gICAgICAmX19mb3JtLWZpZWxkLFxuICAgICAgaW5wdXQsXG4gICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICZfX2Zvcm0tc3VibWl0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAmX190ZXh0LXNlY3Rpb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZS1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIH1cbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgfVxuICAgICAgJl9fdGV4dC1kZXNjcmlwdGlvbiB7XG4gICAgICB9XG4gICAgJl9fZm9ybS1zZWN0aW9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0tdmVydGljYWwgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICB9XG4gICAgICAmX19mb3JtLWZpZWxkLFxuICAgICAgaW5wdXQsXG4gICAgICB0ZXh0YXJlYSB7XG4gICAgICAgIH1cbiAgICAgICZfX2Zvcm0tc3VibWl0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjUpO1xuICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMiB7XG4gICRiOiBcIi5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yXCI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICZfX3RpdGxlLXNlY3Rpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAuZmxvLWhlYWRlcl9fc2VhcmNoLWZvcm0gLmZsby1oZWFkZXJfX3NlYXJjaC1mb3JtLWlucHV0e1xuICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgICAmX19oZWFkZXItYXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSB7XG4gICAgICAgIC5mbG8taGVhZGVyIHtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgIH1cbiAgJl9fZm9ybS1zZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYtLWN1c3RvbSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICYgLmxlZnRfY29sdW1uIHtcbiAgICAgIH1cbiAgICAgICYgLnJpZ2h0X2NvbHVtbiB7XG4gICAgICB9XG4gICAgICBmb3JtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAuYXBwLWZsby1mb3JtcyBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSx0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlci10b3A6IDAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItbGVmdDogMCFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogMCFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5lcnJvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICBjb2xvcjogcmVkIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgICAmX19mb3JtLWRlc2NyaXB0aW9uIHtcbiAgICB9XG4gICAgJl9fZmllbGRzLXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgICAmX19jb2x1bW4ge1xuICAgICAgICAmLS1sZWZ0IHt9XG4gICAgICAgICYtLXJpZ2h0IHt9XG4gICAgICB9XG5cbiAgICAmX19mb3JtLWZpZWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0LFxuICAgICAgICBsYWJlbCxcbiAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBib3JkZXI6IDAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgJl9fZm9ybS1zdWJtaXQge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTgpIHJlbS1jYWxjKDYyKSByZW0tY2FsYygxMykgcmVtLWNhbGMoNTgpIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW0haW1wb3J0YW50O1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDIpO1xuICAgIH1cbiAgJl9fY29udGFjdC1pbmZvIHtcbiAgfVxuICAgICZfX2NvbnRhY3QtZGV0YWlscyB7XG4gICAgfVxuICAgICZfX2NvbnRhY3QtZW1haWwge1xuICAgIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX190aXRsZS1zZWN0aW9uIHtcblxuICAgIH1cbiAgICAgICYtLWhlYWRlci1pcy12aXNpYmxlIHtcbiAgICAgICAgI3skYn1fX3RpdGxlIHtcbiAgICAgICAgICAvLyBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjUpO1xuICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMDUpO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMTMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm5vdCgjeyRifS0taGVhZGVyLWlzLXZpc2libGUpe1xuICAgICAgICAjeyRifV9fdGl0bGUtc2VjdGlvbiB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgJHRpdGxlX3BhZGRpbmc6ICgkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDIpICsgKCRnbG9iYWwtZ3V0dGVyLXdpZHRoKTtcbiAgICAgICAgcGFkZGluZzogMCAkdGl0bGVfcGFkZGluZztcbiAgICAgIH1cbiAgICAmX19mb3JtLXNlY3Rpb24ge1xuICAgICAgJGZvcm1fbWFyZ2luczogKCRnbG9iYWwtY29sdW1uLXdpZHRoICogMikgKyAkZ2xvYmFsLWd1dHRlci13aWR0aDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRmb3JtX21hcmdpbnMgKiAyfSk7XG4gICAgICBtYXJnaW46IDAgJGZvcm1fbWFyZ2lucztcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDc3KSByZW0tY2FsYyg2MCkgcmVtLWNhbGMoODEpIHJlbS1jYWxjKDYwKTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xMTMpO1xuICAgICAgJi0tY3VzdG9tIHtcbiAgICAgICAgJHRvdGFsX2dhcDogcmVtLWNhbGMoNjUpO1xuICAgICAgICAkY29sdW1uX2dhcDogJHRvdGFsX2dhcCAvIDI7XG4gICAgICAgICYgLmxlZnRfY29sdW1uIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb2x1bW5fZ2FwO1xuICAgICAgICB9XG4gICAgICAgICYgLnJpZ2h0X2NvbHVtbiB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb2x1bW5fZ2FwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fZm9ybS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTg2KTtcbiAgICAgIH1cbiAgICAgICZfX2ZpZWxkcy13cmFwIHtcbiAgICAgIH1cbiAgICAgICAgJl9fY29sdW1uIHtcbiAgICAgICAgICAkdG90YWxfZ2FwOiByZW0tY2FsYyg2NSk7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gICN7JHRvdGFsX2dhcH0pO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAkY29sdW1uX2dhcDogJHRvdGFsX2dhcCAvIDI7XG4gICAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29sdW1uX2dhcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29sdW1uX2dhcDtcbiAgICAgICAgICAgICN7JGJ9X19mb3JtLWZpZWxkIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgICZfX2Zvcm0tZmllbGQge1xuICAgICAgICAgIH1cbiAgICAgICZfX2Zvcm0tc3VibWl0IHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg4MSkgYXV0byAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICZfX2NvbnRhY3QtaW5mbyB7XG4gICAgICAkZm9ybV9tYXJnaW5zOiAoJGdsb2JhbC1jb2x1bW4td2lkdGggKiAyKSArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGZvcm1fbWFyZ2lucyAqIDJ9KTtcbiAgICAgIG1hcmdpbjogMCAkZm9ybV9tYXJnaW5zO1xuICAgICAgcGFkZGluZy10b3A6ICRnbG9iYWwtcGFkZGluZy0tdmVydGljYWw7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fY29udGFjdC1kZXRhaWxzIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2NvbnRhY3QtZW1haWwge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX3RpdGxlLXNlY3Rpb24ge1xuXG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46YXV0bztcbiAgICAgIH1cbiAgICAmX19mb3JtLXNlY3Rpb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgIH1cbiAgICAgICZfX2Zvcm0tZGVzY3JpcHRpb24ge1xuICAgICAgfVxuICAgICAgJl9fZmllbGRzLXdyYXAge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgICAgICAmX19jb2x1bW4ge1xuICAgICAgICAgICYtLWxlZnQge31cbiAgICAgICAgICAmLS1yaWdodCB7fVxuICAgICAgICB9XG4gICAgICAmX19mb3JtLWZpZWxkLGlucHV0LHRleHRhcmVhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgICZfX2Zvcm0tc3VibWl0IHtcbiAgICAgICAgbWFyZ2luOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCBhdXRvICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLXZlcnRpY2FsIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICZfX2NvbnRhY3QtaW5mbyB7XG4gICAgICBtYXJnaW46ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWwgYXV0byAwIGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fY29udGFjdC1kZXRhaWxzIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJ8XCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fY29udGFjdC1lbWFpbCB7XG4gICAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCImX190aXRsZS1zZWN0aW9uXCIpO1xufVxuIiwiLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTMge1xuICAkYjogXCIuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM1wiO1xuXG5cbiAgJl9fZm9ybS1zZWN0aW9uIHtcbiAgICAmLS1jdXN0b20ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAmIC5sZWZ0X2NvbHVtbiB7XG4gICAgICB9XG4gICAgICAmIC5yaWdodF9jb2x1bW4ge1xuICAgICAgfVxuICAgICAgZm9ybSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgLmFwcC1mbG8tZm9ybXMgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSksXG4gICAgICB0ZXh0YXJlYSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5lcnJvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICBjb2xvcjogcmVkIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgICAmX19mb3JtLWZpZWxkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIGxhYmVsLCBpbnB1dCwgdGV4dGFyZWEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19yZXNwb25zZSB7XG4gICAgfVxuICAgICZfX2Zvcm0tc3VibWl0IHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE4KSByZW0tY2FsYyg2MikgcmVtLWNhbGMoMTMpIHJlbS1jYWxjKDU4KSFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogMWVtIWltcG9ydGFudDtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQyKTtcbiAgICB9XG4gICZfX2NvbnRhY3QtaW5mbyB7XG4gIH1cbiAgICAmX19jb250YWN0LWRldGFpbHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgICAmX19jb250YWN0LWVtYWlsIHtcbiAgICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fZm9ybS1zZWN0aW9uIHtcbiAgICAgICRmb3JtX21hcmdpbnM6ICgkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDMpICsgJGdsb2JhbC1ndXR0ZXItd2lkdGggKiAzO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGZvcm1fbWFyZ2lucyAqIDJ9KTtcbiAgICAgIG1hcmdpbjogMCAkZm9ybV9tYXJnaW5zO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNjQpIHJlbS1jYWxjKDE1MykgcmVtLWNhbGMoNjQpIHJlbS1jYWxjKDE1Myk7XG4gICAgICAmLS1jdXN0b20ge1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2Zvcm0tZmllbGQge1xuICAgICAgfVxuICAgICAgbGFiZWwsIGlucHV0LCB0ZXh0YXJlYSB7XG4gICAgICB9XG4gICAgICAmX19yZXNwb25zZSB7XG4gICAgICB9XG4gICAgICAmX19mb3JtLXN1Ym1pdCB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNDApIGF1dG8gMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAmX19jb250YWN0LWluZm8ge1xuICAgICAgJGZvcm1fbWFyZ2luczogKCRnbG9iYWwtY29sdW1uLXdpZHRoICogMikgKyAkZ2xvYmFsLWd1dHRlci13aWR0aDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRmb3JtX21hcmdpbnMgKiAyfSk7XG4gICAgICBtYXJnaW46IDAgJGZvcm1fbWFyZ2lucztcbiAgICAgIHBhZGRpbmctdG9wOiAkZ2xvYmFsLXBhZGRpbmctLXZlcnRpY2FsO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAgICZfX2NvbnRhY3QtZGV0YWlscyB7XG4gICAgICB9XG4gICAgICAmX19jb250YWN0LWVtYWlsIHtcbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX2Zvcm0tc2VjdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLXZlcnRpY2FsICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgICAmLS1jdXN0b20ge1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2Zvcm0tZmllbGQsIGxhYmVsLCBpbnB1dCwgdGV4dGFyZWEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgJl9fcmVzcG9uc2Uge1xuICAgICAgfVxuICAgICAgJl9fZm9ybS1zdWJtaXQge1xuICAgICAgICBtYXJnaW46ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLXZlcnRpY2FsIGF1dG8gJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0tdmVydGljYWwgYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgJl9fY29udGFjdC1pbmZvIHtcbiAgICAgIG1hcmdpbjogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbCBhdXRvIDAgYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgICAmX19jb250YWN0LWRldGFpbHMge1xuICAgICAgfVxuICAgICAgJl9fY29udGFjdC1lbWFpbCB7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stY29udGVudC1pbi1jb2x1bW5zLTMge1xuICAkYjogXCIuZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zXCI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgJl9fY29sdW1uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgICAmX19kZWNvcmF0aXZlLWVsZW1lbnRzIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIzKTtcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWljb24ge1xuICAgICAgICAmLS13aXRoLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB9XG4gICAgICAgICYtLW5vLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1udW1iZXIge1xuICAgICAgICAmLS13aXRoLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgJi0tbm8tZGVjb3JhdGl2ZS1sZXR0ZXIge1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAmX19jb2x1bW4tdGl0bGUge1xuICAgIH1cbiAgICAmX19jb2x1bW4tdGV4dCB7XG4gICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICRibG9ja19wYWRkaW5nOiAkZ2xvYmFsLWNvbHVtbi13aWR0aCArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgIHBhZGRpbmc6IDAgJGJsb2NrX3BhZGRpbmc7XG4gICAgJl9fY29sdW1uIHtcbiAgICAgICRjb2x1bW5fd2lkdGg6ICRnbG9iYWwtY29sdW1uLXdpZHRoICogMiArICRnbG9iYWwtZ3V0dGVyLXdpZHRoICogMztcbiAgICAgIHdpZHRoOiAkY29sdW1uX3dpZHRoO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEyNCk7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgcGFkZGluZzogMCAkZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoIC8gMjtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoIC8gMjtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWVsZW1lbnRzIHtcbiAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGl2ZS1udW1iZXIge1xuICAgICAgICB9XG4gICAgICAmX19jb2x1bW4tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzOCk7XG4gICAgICB9XG4gICAgICAmX19jb2x1bW4tdGV4dCB7XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICZfX2NvbHVtbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWVsZW1lbnRzIHtcbiAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGl2ZS1udW1iZXIge1xuICAgICAgICB9XG4gICAgICAmX19jb2x1bW4tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAmX19jb2x1bW4tdGV4dCB7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stZGVsaW1pdGVyLTEge1xuICAkYjogXCIuZmxvLWJsb2NrLWRlbGltaXRlci0xXCI7XG5cbiAgJl9fZGVsaW1pdGVyLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgICAmX19kZWxpbWl0ZXItbGluZSB7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwLjY4ZW0gMC41MmVtO1xuICAgICAgbWFyZ2luOiAwIDAuNjhlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW0haW1wb3J0YW50O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAhaW1wb3J0YW50O1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICAkb2Zmc2V0OiAwLjI1ZW07XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogJG9mZnNldDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skb2Zmc2V0ICogMn0pO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAkb2Zmc2V0OiAwLjIyZW07XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogJG9mZnNldDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JG9mZnNldCAqIDJ9KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgfVxufVxuIiwiLmZsby1ibG9jay1mYXEtYmxvY2stMSB7XG4gICRiOiBcIi5mbG8tYmxvY2stZmFxLWJsb2NrLTFcIjtcblxuICAmX190aXRsZS1hcmVhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICAgICZfX3RpdGxlLWRlY29yYXRpdmUtaWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG4gICZfX2ZhcS13cmFwIHtcbiAgfVxuICAgICZfX3NpbmdsZS1xYSB7XG4gICAgICAvKi1BZGQgYm90dG9tIG1hcmdpbiB0byBhbGwgY2hpbGRyZW4gZXhjZXB0IGZvciB0aGUgbGFzdCAyLSovXG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0NCk7XG4gICAgICAmOm50aC1sYXN0LWNoaWxkKDEpLFxuICAgICAgJjpudGgtbGFzdC1jaGlsZCgyKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19xdWVzdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgICAgJl9fYW5zd2VyIHtcbiAgICAgICAgJiBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX190aXRsZS1hcmVhIHtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX190aXRsZS1kZWNvcmF0aXZlLWljb24ge1xuICAgICAgfVxuICAgICZfX2ZhcS13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgMDtcbiAgICB9XG4gICAgICAmX19zaW5nbGUtcWEge1xuICAgICAgICAkaGFsZl9jb2x1bW46ICRnbG9iYWwtY29sdW1uLXdpZHRoIC8gMjtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkaGFsZl9jb2x1bW47XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGhhbGZfY29sdW1uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX3F1ZXN0aW9uIHtcbiAgICAgICAgfVxuICAgICAgICAmX19hbnN3ZXIge1xuICAgICAgICB9XG4gICAgJl9fZGl2aWRlciB7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX190aXRsZS1hcmVhIHtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX190aXRsZS1kZWNvcmF0aXZlLWljb24ge1xuICAgICAgfVxuICAgICZfX2ZhcS13cmFwIHtcbiAgICB9XG4gICAgICAmX19zaW5nbGUtcWEge1xuICAgICAgICAmOm50aC1sYXN0LWNoaWxkKDEpLFxuICAgICAgICAmOm50aC1sYXN0LWNoaWxkKDIpe1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX19xdWVzdGlvbiB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fYW5zd2VyIHtcbiAgICAgICAgfVxuICAgICZfX2RpdmlkZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGZsby1yZXNwb25zaXZlLWltYWdlLWJnKFwiLmZsby1ibG9jay1mYXEtYmxvY2stMlwiKTtcblxuLmZsby1ibG9jay1mYXEtYmxvY2stMiB7XG4gICRiOiBcIi5mbG8tYmxvY2stZmFxLWJsb2NrLTJcIjtcblxuICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmX19pbWFnZS1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gICZfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gICZfX2ZhcS1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuIWltcG9ydGFudDtcbiAgICAmIC5zbGljay1saXN0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxuICAgICZfX2ZhcS1zbGlkZSB7XG4gICAgfVxuICAgICAgJl9fZmFxLXNsaWRlLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAgICZfX3NpbmdsZS1xYSB7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19xdWVzdGlvbiB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2Fuc3dlciB7XG5cbiAgICAgICAgICAgICYgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH1cblxuICAmX19uYXZpZ2F0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9fZmFxLWNvdW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gICAgJl9fY3VycmVudC1pdGVtLW51bWJlciB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAmX19udW1iZXItZGl2aWRlciB7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMykgMDtcbiAgICB9XG4gICAgJl9fdG90YWwtaXRlbS1udW1iZXIge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgJl9fYXJyb3cge1xuXG4gICAgICAmLS1sZWZ0IHtcbiAgICAgIH1cbiAgICAgICYtLXJpZ2h0IHtcbiAgICAgIH1cblxuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDg3KTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMDApO1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTE2KTtcbiAgICB9XG4gICAgJl9fZmFxLXNsaWRlciB7XG4gICAgfVxuICAgICAgJl9fZmFxLXNsaWRlIHtcbiAgICAgIH1cbiAgICAgICAgJl9fZmFxLXNsaWRlLWNvbnRlbnQge1xuICAgICAgICB9XG4gICAgICAgICAgJl9fcXVlc3Rpb25zLXdyYXAge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNTQ5KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTM5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19zaW5nbGUtcWEge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX3F1ZXN0aW9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1jb2x1bW4td2lkdGggLyA0O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX2Fuc3dlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRnbG9iYWwtY29sdW1uLXdpZHRoIC8gNDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgJl9fbmF2aWdhdGlvbiB7XG5cbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgYm90dG9tOiByZW0tY2FsYyg1MSk7XG5cbiAgICAgICYtLWhpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgfVxuICAgICZfX2ZhcS1jb3VudGVyIHtcbiAgICAgIG1hcmdpbjogMCByZW0tY2FsYygxNDApO1xuICAgIH1cbiAgICAgICZfX2N1cnJlbnQtaXRlbS1udW1iZXIge1xuICAgICAgfVxuICAgICAgJl9fbnVtYmVyLWRpdmlkZXIge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTgwKTtcbiAgICAgIH1cbiAgICAgICZfX3RvdGFsLWl0ZW0tbnVtYmVyIHtcbiAgICAgIH1cblxuXG4gICAgJl9fYXJyb3cge1xuXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDgpO1xuXG4gICAgICAmLS1sZWZ0IHtcbiAgICAgIH1cbiAgICAgICYtLXJpZ2h0IHtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuXG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cbiAgICAmX19pbWFnZS1vdmVybGF5IHtcblxuICAgICAgJi0taGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cblxuICAgICZfX2ZhcS1zbGlkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgICAgICZfX2ZhcS1zbGlkZSB7XG4gICAgICB9XG4gICAgICAmX19mYXEtc2xpZGUtY29udGVudCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICAgICZfX3F1ZXN0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fYW5zd2VyIHtcbiAgICAgICAgfVxuXG4gICAgJl9fbmF2aWdhdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgJl9fZmFxLWNvdW50ZXIge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgICAmX19jdXJyZW50LWl0ZW0tbnVtYmVyIHtcbiAgICAgIH1cbiAgICAgICZfX251bWJlci1kaXZpZGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAmX190b3RhbC1pdGVtLW51bWJlciB7XG4gICAgICB9XG5cbiAgICAmX19hcnJvdyB7XG5cbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgJi0tbGVmdCB7XG4gICAgICB9XG4gICAgICAmLS1yaWdodCB7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0yIHtcbiAgJGI6IFwiLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJcIjtcblxuICAmX190ZXh0LWFyZWEge1xuICB9XG4gICAgJl9fcHJldGl0bGUge1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgICB9XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fdGV4dCB7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICZfX2ltYWdlLWxpbmstYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX2ltYWdlIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxODApO1xuICAgIH1cbiAgICAmX19saW5rLXdyYXAge1xuICAgIH1cbiAgICAgICZfX2xpbmstZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fYnV0dG9uLXdyYXAge1xuICAgICAgfVxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNykgcmVtLWNhbGMoMTgpO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IsIGNvbG9yLCBib3JkZXItY29sb3IpO1xuICAgICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy0tdmVydGljYWwgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuXG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAvLyB3aWR0aDogcmVtLWNhbGMoNDk1KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICB9XG4gICAgICAmX19wcmV0aXRsZSB7XG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX190ZXh0IHtcbiAgICAgIH1cblxuICAgICZfX2ltYWdlLWxpbmstYXJlYSB7XG4gICAgICAvLyB3aWR0aDogcmVtLWNhbGMoNDUwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg5MCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICB9XG4gICAgICAmX19pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjcwKTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgICZfX2xpbmstd3JhcCB7XG4gICAgICAgIC8vIHBhZGRpbmc6IDAgcmVtLWNhbGMoNDUpO1xuICAgICAgfVxuICAgICAgICAmX19saW5rLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgfVxuICAgICAgICAmX19idXR0b24td3JhcCB7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgIH1cblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX3ByZXRpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3RleHQge1xuICAgICAgfVxuXG4gICAgJl9faW1hZ2UtbGluay1hcmVhIHtcbiAgICB9XG4gICAgICAmX19pbWFnZSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIHJlbS1jYWxjKDIwKSBhdXRvO1xuICAgICAgfVxuICAgICAgJl9fbGluay13cmFwIHtcbiAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICAgICZfX2xpbmstZGVzY3JpcHRpb24ge1xuICAgICAgICB9XG4gICAgICAgICZfX2J1dHRvbi13cmFwIHtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgfVxuXG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zIHtcbiAgJGI6IFwiLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTNcIjtcbiAgZGlzcGxheTogZmxleDtcbiAgJl9faW1hZ2Utd3JhcCB7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgfVxuICAmX190ZXh0LXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX3RpdGxlLXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDEpIDAgcmVtLWNhbGMoNTApIDA7XG4gICAgfVxuICAgICAgJl9fdGl0bGUtZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoLTIxKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDMyKTtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAmX19zdWJ0aXRsZSB7XG4gIH1cbiAgJl9fYnV0dG9uIHtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICRibG9ja19wYWRkaW5nOiAkZ2xvYmFsLWNvbHVtbi13aWR0aCArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgIHBhZGRpbmc6IDAgJGJsb2NrX3BhZGRpbmc7XG4gICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgICAkaW1hZ2Vfd2lkdGg6ICggJGdsb2JhbC1jb2x1bW4td2lkdGggKiA1ICkgKyAoICRnbG9iYWwtZ3V0dGVyLXdpZHRoICogNik7XG4gICAgICB3aWR0aDogJGltYWdlX3dpZHRoO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MzQpO1xuICAgIH1cbiAgICAmX190ZXh0LXdyYXAge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDc0KSAwO1xuICAgICAgcGFkZGluZzogMCByZW0tY2FsYygxNDQpIDAgcmVtLWNhbGMoMTQ0KTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg0NDApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC03Myk7XG4gICAgfVxuICAgICAgJl9fdGl0bGUtd3JhcCB7XG4gICAgICB9XG4gICAgICAgICZfX3RpdGxlLWRlY29yYXRpdmUtaWNvbiB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUtZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgfVxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDU1KTtcbiAgICB9XG4gICAgJl9fYnV0dG9uIHtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICZfX2ltYWdlLXdyYXAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMxNik7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgICZfX3RleHQtd3JhcCB7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKC02MCkgcmVtLWNhbGMoMjApIDAgcmVtLWNhbGMoMjApO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzApIHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgICAmX190aXRsZS13cmFwIHtcbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUtZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgICAgICB0b3A6IHJlbS1jYWxjKC0yMSkgKyByZW0tY2FsYyg5KTtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZS1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICB9XG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgJl9fYnV0dG9uIHtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtMyB7XG4gICRiOiBcIi5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM1wiO1xuXG4gICZfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gIH1cbiAgICAmX19saW5rLS1sZWZ0IHtcbiAgICB9XG4gICAgJl9fbGluay0tcmlnaHQge1xuICAgIH1cbiAgICAgICZfX3RleHQtd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgICAgICN7JGJ9X19saW5rLXByZXRpdGxlLFxuICAgICAgICAjeyRifV9fbGluay10aXRsZSxcbiAgICAgICAgI3skYn1fX2xpbmstdGV4dCB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX19saW5rLXByZXRpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX19saW5rLXRpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX19saW5rLXRleHQge1xuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19saW5rLWJ1dHRvbiB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmc6ICAkZ2xvYmFsLXBhZGRpbmctLXZlcnRpY2FsIHJlbS1jYWxjKDIyMik7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgICRnYXA6IHJlbS1jYWxjKDUzKSAvIDI7XG4gICAgJl9fbGluayB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MSkgcmVtLWNhbGMoNjApO1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gI3skZ2FwfSk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fbGluay0tbGVmdCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGdhcDtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gICAgICB9XG4gICAgICAgICZfX3RleHQtd3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMjAgLSA2KSAwIHJlbS1jYWxjKDgxIC0gMikgMDtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2xpbmstcHJldGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNyk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2xpbmstdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTUgLSA2KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoNTApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19saW5rLXRleHQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzEgLSAxNCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDc3KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fbGluay1idXR0b24ge1xuICAgICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLXZlcnRpY2FsICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgJl9fbGluayB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygzMSkgcmVtLWNhbGMoMzApO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAgICZfX2xpbmstLWxlZnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICB9XG4gICAgICAmX19saW5rLS1yaWdodCB7XG4gICAgICB9XG4gICAgICAgICZfX3RleHQtd3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCkgMCByZW0tY2FsYyg0MSkgMDtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2xpbmstcHJldGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNyk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2xpbmstdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygxNSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2xpbmstdGV4dCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fbGluay1idXR0b24ge1xuICAgICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00IHtcbiAgJGI6IFwiLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00XCI7XG5cbiAgJl9fdGV4dC13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gICAgJl9fY29sdW1uIHtcbiAgICAgICYtLXRpdGxlLWNvbHVtbiB7XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtLW1pZGRsZS1jb2x1bW4ge1xuICAgICAgICAjeyRifV9fbWlkZGxlLWxhYmVsIHtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi0tbmF2aWdhdGlvbi1jb2x1bW4ge1xuICAgICAgICAjeyRifV9fYXJyb3ctbGVmdCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg0MSk7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZTtcbiAgICAgICAgfVxuICAgICAgICAjeyRifV9fbmF2aWdhdGlvbi1sYWJlbCB7XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX2Fycm93LXJpZ2h0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNDEpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICZfX3NsaWRlciB7XG4gIH1cbiAgICAmX19zbGlkZS1saW5rIHtcbiAgICB9XG4gICAgICAmX19zbGlkZS1saW5rLWltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgIH1cbiAgICAgICAgJl9fc2xpZGUtbGluay10aXRsZSB7XG4gICAgICAgICAgbWluLXdpZHRoOiByZW0tY2FsYygxNTApO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygyMCk7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IpO1xuICAgICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAkYmxvY2tfcGFkZGluZzogJGdsb2JhbC1jb2x1bW4td2lkdGggKyAkZ2xvYmFsLWd1dHRlci13aWR0aDtcbiAgICBwYWRkaW5nOiAwICRibG9ja19wYWRkaW5nO1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gI3skZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDJ9KTtcbiAgICAmX190ZXh0LXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTIpO1xuICAgIH1cbiAgICAgICRnYXA6IHJlbS1jYWxjKDM1KSAqIDI7XG4gICAgICAmX19jb2x1bW4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyArICN7JGdhcH0pO1xuICAgICAgICAmLS10aXRsZS1jb2x1bW4ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzUpO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgICB9XG4gICAgICAgICYtLW1pZGRsZS1jb2x1bW4ge1xuICAgICAgICAgIG1hcmdpbjowIHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAgICZfX21pZGRsZS1sYWJlbCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAmLS1uYXZpZ2F0aW9uLWNvbHVtbiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICZbZGF0YS1zbGlkZXMtY291bnQ9XCIxXCJdLFxuICAgICAgICAgICZbZGF0YS1zbGlkZXMtY291bnQ9XCIyXCJdLFxuICAgICAgICAgICZbZGF0YS1zbGlkZXMtY291bnQ9XCIzXCJdIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgICAmX19hcnJvdy1sZWZ0IHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fbmF2aWdhdGlvbi1sYWJlbCB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2Fycm93LXJpZ2h0IHtcbiAgICAgICAgICB9XG4gICAgICB9XG5cblxuICAgICRzbGlkZXItd2lkdGg6IGNhbGMoMTAwdncgLSAjeyRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbCAqIDR9ICsgI3skZ2xvYmFsLWd1dHRlci13aWR0aH0pO1xuICAgICRzbGlkZS1nYXA6IHJlbS1jYWxjKDM1KTtcblxuICAgICZfX3NsaWRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtZmxleCFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAmX19zbGlkZS1saW5rIHtcbiAgICAgICAgLy8gd2lkdGg6IGNhbGMoI3skc2xpZGVyLXdpZHRofSAvIDMgLSAjeyRzbGlkZS1nYXB9KSFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmcgJHBhZGRpbmcgcmVtLWNhbGMoNDIpICRwYWRkaW5nO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjcxKSArICRwYWRkaW5nICogMjtcblxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzbGlkZS1nYXA7XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6ICRzbGlkZS1nYXA7XG4gICAgICAgIH1cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6ICRzbGlkZS1nYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9fc2xpZGUtbGluay1pbWFnZSB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNjIpO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX3NsaWRlLWxpbmstdGl0bGUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygtMTkpO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX3RleHQtd3JhcCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgICAgICZfX2NvbHVtbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgJi0tdGl0bGUtY29sdW1uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgI3skYn1fX3RpdGxlIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3N1YnRpdGxlIHtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0tbWlkZGxlLWNvbHVtbiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICN7JGJ9X19taWRkbGUtbGFiZWwge1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1uYXZpZ2F0aW9uLWNvbHVtbiB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICZbZGF0YS1zbGlkZXMtY291bnQ9XCIxXCJdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgICN7JGJ9X19hcnJvdy1sZWZ0IHtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX25hdmlnYXRpb24tbGFiZWwge1xuICAgICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fYXJyb3ctcmlnaHQge1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICRzbGlkZXItd2lkdGg6IGNhbGMoMTAwdncgLSAjeyRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWwgKiAyfSk7XG4gICAgJl9fc2xpZGVyIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgICAgICZfX3NsaWRlLWxpbmsge1xuICAgICAgICAkZ2FwOiAocmVtLWNhbGMoNSkgKiAyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAje3JlbS1jYWxjKDMwKSAtICRnYXB9O1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDMwKSByZW0tY2FsYygxNSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayFpbXBvcnRhbnQ7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX3NsaWRlLWxpbmstaW1hZ2Uge1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzYyKTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19zbGlkZS1saW5rLXRpdGxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoLTE5KTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTEge1xuICAkYjogXCIuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xXCI7XG4gIHotaW5kZXg6IDE7XG4gICZfX2ZlYXR1cmVkLXNsaWRlciB7XG4gIH1cbiAgICAmX19zbGlkZSB7XG4gICAgfVxuICAgICAgJl9fbGVmdC13cmFwIHtcbiAgICAgIH1cbiAgICAgICZfX3JpZ2h0LXdyYXAge1xuICAgICAgICAmLS1uby1kZWNvcmF0aW9uIHtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZXMtd3JhcCB7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3ByZS10aXRsZSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICAgIH1cbiAgJl9fYXJyb3dzIHtcbiAgfVxuICAgICZfX2Fycm93LWxlZnQge1xuICAgIH1cbiAgICAmX19hcnJvdy1yaWdodCB7XG4gICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIG1hcmdpbjogMCAkZ2xvYmFsLWNvbHVtbi13aWR0aCArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgICRoYWxmX2NvbHVtbjogJGdsb2JhbC1jb2x1bW4td2lkdGggLyAyO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDY1LjUpICRoYWxmX2NvbHVtbiByZW0tY2FsYyg4MC41KSAkaGFsZl9jb2x1bW47XG4gICAgJl9fZmVhdHVyZWQtc2xpZGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgICAmX19zbGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4IWltcG9ydGFudDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1OTMpO1xuICAgICAgfVxuICAgICAgICAmX19sZWZ0LXdyYXAge1xuICAgICAgICAgIHdpZHRoOiAoJGdsb2JhbC1jb2x1bW4td2lkdGggKiAzKSArICRoYWxmX2NvbHVtbiArICgkZ2xvYmFsLWd1dHRlci13aWR0aCAqIDQpO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvbnRhaW47XG4gICAgICAgIH1cbiAgICAgICAgJl9fcmlnaHQtd3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIHdpZHRoOiAjeygkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDQpICsgKCRnbG9iYWwtZ3V0dGVyLXdpZHRoICogNSl9O1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAmLS1uby1kZWNvcmF0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxOTApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDU3KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxNDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX190aXRsZXMtd3JhcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogLTUwJTtcbiAgICAgICAgICAgICAgbGVmdDogNDAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDAuMDU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19wcmUtdGl0bGUge1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICAgICAgfVxuICAmX19hcnJvd3Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IHJlbS1jYWxjKDEyMyk7XG4gICAgcmlnaHQ6IGNhbGMoNTAlIC0gI3skZ2xvYmFsLWNvbHVtbi13aWR0aCArICRnbG9iYWwtZ3V0dGVyLXdpZHRofSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYyg0MCUgKyAjeyRnbG9iYWwtY29sdW1uLXdpZHRoICsgJGdsb2JhbC1ndXR0ZXItd2lkdGh9KSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbiAgICAmX19hcnJvdyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAmOm5vdCgjeyRifV9fYXJyb3ctLXNlcGFyYXRvcil7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgJi0tbGVmdCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjkpO1xuICAgICAgfVxuICAgICAgJi0tcmlnaHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzYpO1xuICAgICAgfVxuICAgICAgJi0tc2VwYXJhdG9yIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0Nik7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEwZGVnKTtcbiAgICAgIH1cbiAgICAgICYtLXByZXYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQ4KTtcbiAgICAgIH1cbiAgICAgICYtLW5leHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICAmX19mZWF0dXJlZC1zbGlkZXIge1xuICAgIH1cbiAgICAgICZfX3NsaWRlIHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgfVxuICAgICAgICAmX19sZWZ0LXdyYXAge1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjk2KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb250YWluO1xuICAgICAgICB9XG4gICAgICAgICZfX3JpZ2h0LXdyYXAge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICYtLW5vLWRlY29yYXRpb257fVxuICAgICAgICB9XG4gICAgICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fdGl0bGVzLXdyYXAge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIGxlZnQ6IDQwJTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwLjA1O1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDYuNXJlbSkhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fcHJlLXRpdGxlIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgICAgIH1cbiAgICAmX19hcnJvd3Mge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gICAgICAmX19hcnJvdy1sZWZ0IHtcbiAgICAgIH1cbiAgICAgICZfX2Fycm93LXJpZ2h0IHtcbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMiB7XG4gICRiOiBcIi5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTJcIjtcblxuICAmX190ZXh0LWFyZWEge1xuXG4gIH1cbiAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICBvcGFjaXR5OiAwLjI0O1xuICAgIH1cbiAgICAmX190ZXh0IHtcblxuICAgIH1cblxuICAmX19zbGlkZXMge1xuXG4gIH1cbiAgICAmX19zbGlkZSB7XG4gICAgfVxuICAgICAgJl9fc2xpZGUtaW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgICAgfVxuXG4gICZfX2Fycm93cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAgICZfX2Fycm93IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgJi0tcHJldiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNjMpO1xuICAgICAgfVxuICAgICAgJi0tbmV4dCB7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTI3KSAwIHJlbS1jYWxjKDE0NikgcmVtLWNhbGMoMCk7XG5cbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIyMik7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDcxKTtcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMCU7XG4gICAgICAgIHRvcDogMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC00MCUpO1xuICAgICAgfVxuICAgICAgJl9fdGV4dCB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyNzkpO1xuICAgICAgfVxuXG4gICAgJHNsaWRlLWhlaWdodDogcmVtLWNhbGMoNjIyKTtcbiAgICAkc2xpZGUtd2lkdGg6IHJlbS1jYWxjKDQxNyk7XG4gICAgJHNsaWRlLWdhcDogcmVtLWNhbGMoMTgpO1xuICAgICZfX3NsaWRlcyB7XG4gICAgICB3aWR0aDogJHNsaWRlLXdpZHRoICogMiArICRzbGlkZS1nYXA7XG4gICAgfVxuICAgICAgJl9fc2xpZGUge1xuICAgICAgfVxuICAgICAgICAmX19zbGlkZS1pbWFnZSB7XG4gICAgICAgICAgaGVpZ2h0OiAkc2xpZGUtaGVpZ2h0O1xuICAgICAgICAgIHdpZHRoOiAkc2xpZGUtd2lkdGg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc2xpZGUtZ2FwO1xuICAgICAgICB9XG5cbiAgICAmX19hcnJvd3Mge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDEwMyk7XG4gICAgICBib3R0b206IHJlbS1jYWxjKDY2KTtcbiAgICB9XG4gICAgICAmX19hcnJvdyB7XG4gICAgICAgIG9wYWNpdHk6IDAuMjQ7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNTApICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG5cbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgb3JkZXI6IDE7XG5cbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAmX190ZXh0IHtcblxuICAgICAgfVxuXG4gICAgJl9fc2xpZGVzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAgICZfX3NsaWRlIHtcblxuICAgICAgfVxuICAgICAgICAmX19zbGlkZS1pbWFnZSB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MDApO1xuICAgICAgICB9XG5cbiAgICAmX19hcnJvd3Mge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygzMCkgMDtcbiAgICB9XG4gICAgICAmX19hcnJvdyB7XG5cbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctNyB7XG4gICRiOiBcIi5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdcIjtcblxuICAmX190aXRsZS1hcmVhLXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX2RlY29yYXRpb24td3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgICAgJl9fZGVjb3JhdGlvbi1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgIH1cbiAgICAgICZfX2RlY29yYXRpb24tdGl0bGUge1xuICAgICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICB9XG4gICZfX2ZlYXR1cmVkLXNsaWRlciB7XG4gIH1cbiAgICAmX19zbGlkZSB7XG4gICAgfVxuICAgICAgJl9fc2xpZGUtaW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgICAgfVxuICAgICAgJl9fc2xpZGUtdGl0bGUtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgICAgICZfX3NsaWRlLXRpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX19hcnJvd3Mge1xuICAgICAgICB9XG4gICAgICAgICAgJl9fYXJyb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZTtcblxuICAgICAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX190aXRsZS1hcmVhLXdyYXAge1xuICAgICAgJHRpdGxlX2FyZWFfcGFkZGluZzogKCRnbG9iYWwtY29sdW1uLXdpZHRoICogMikgKyAkZ2xvYmFsLWd1dHRlci13aWR0aDtcbiAgICAgIHBhZGRpbmc6IDAgJHRpdGxlX2FyZWFfcGFkZGluZztcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aW9uLXdyYXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTMxKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDcxKTtcbiAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGlvbi1pY29uIHtcbiAgICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aW9uLXRpdGxlIHtcbiAgICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICAkdGl0bGVfcGFkZGluZzogJGdsb2JhbC1jb2x1bW4td2lkdGggKyAkZ2xvYmFsLWd1dHRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZzogMCAkdGl0bGVfcGFkZGluZyByZW0tY2FsYygyMDIpICR0aXRsZV9wYWRkaW5nO1xuICAgICAgfVxuICAgICZfX3NsaWRlci13cmFwIHtcbiAgICAgICRzbGlkZXJfcGFkZGluZ3M6ICggJGdsb2JhbC1jb2x1bW4td2lkdGggKiAyICkgKyAkZ2xvYmFsLWd1dHRlci13aWR0aDtcbiAgICAgIHBhZGRpbmc6IDAgJHNsaWRlcl9wYWRkaW5ncztcbiAgICB9XG4gICAgICAmX19mZWF0dXJlZC1zbGlkZXIge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC02MSk7XG4gICAgICB9XG4gICAgICAgICZfX3NsaWRlIHtcbiAgICAgICAgfVxuICAgICAgICAgICZfX3NsaWRlLWltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1ODApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19zbGlkZS10aXRsZS13cmFwIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQxLjUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3NsaWRlLXRpdGxlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2Fycm93cyB7XG4gICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmX19hcnJvdyB7XG5cbiAgICAgICAgICAgICAgICAmLS1sZWZ0IHtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdGl0bGUtYXJlYS13cmFwIHtcbiAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aW9uLXdyYXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjUpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aW9uLWljb24ge1xuICAgICAgICB9XG4gICAgICAgICZfX2RlY29yYXRpb24tdGl0bGUge1xuICAgICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwMCk7XG4gICAgICB9XG4gICAgJl9fc2xpZGVyLXdyYXAge1xuICAgICAgcGFkZGluZzogMCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgICAmX19mZWF0dXJlZC1zbGlkZXIge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC01MCk7XG4gICAgICB9XG4gICAgICAgICZfX3NsaWRlIHtcbiAgICAgICAgfVxuICAgICAgICAgICZfX3NsaWRlLWltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyOTApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19zbGlkZS10aXRsZS13cmFwIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fc2xpZGUtdGl0bGUge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYXJyb3dzIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX2Fycm93IHtcblxuICAgICAgICAgICAgICAgICYtLWxlZnQge1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCImX19zbGlkZS1pbWFnZVwiKTtcbn1cbiIsIi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTEge1xuICAkYjogXCIuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmhvdmVyLFxuICAmLS1pcy1mb2N1c2VkIHtcbiAgICAjeyRifV9fdGl0bGUtYXJlYSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlcy13cmFwIHtcblxuICB9XG4gICAgJl9faW1hZ2VzIHtcblxuICAgIH1cbiAgICAgICZfX2ltYWdlLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICYuc2xpY2stY3VycmVudCB7XG4gICAgICAgICAgI3skYn1fX2Fycm93IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJi0tdGl0bGUtYXJlYS12aXNpYmxlIHtcbiAgICAgICAgICAuZmxvLXZpZGVvLWVtYmVkX192aWRlby1idXR0b24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0tdGl0bGUtYXJlYS1pbnZpc2libGUge1xuICAgICAgICAgICN7JGJ9X190aXRsZS1hcmVhe1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19pbWFnZSB7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Fycm93IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgICAgICAgJi0tcHJldiB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tbmV4dCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgJl9fdGl0bGUtYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gIH1cbiAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygyNCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMSk7XG4gICAgfVxuICAgICZfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBvcGFjaXR5OiAwLjMzO1xuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICB9XG4gICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuXG4gICAgfVxuICAgICAgJl9fZGF0ZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cblxuICAgICZfX2ltYWdlcy13cmFwIHtcblxuICAgIH1cbiAgICAgICZfX2ltYWdlcyB7XG5cbiAgICAgIH1cbiAgICAgICAgJl9faW1hZ2Utd3JhcCB7XG5cbiAgICAgICAgfVxuICAgICAgICAgICZfX2ltYWdlIHtcblxuICAgICAgICAgIH1cblxuICAgICAgICAgICZfX2Fycm93IHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgJHNpemU6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRzaXplO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuXG4gICAgICAgICAgICAmLS1wcmV2IHtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLW5leHQge1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICZfX3RpdGxlLWFyZWEge1xuXG4gICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG5cblxuICAgICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuXG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcblxuICAgICAgfVxuICAgICAgICAmX19kYXRlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19pbWFnZXMtd3JhcCB7XG5cbiAgICB9XG4gICAgICAmX19pbWFnZXMge1xuICAgICAgfVxuICAgICAgICAmX19pbWFnZS13cmFwIHtcblxuICAgICAgICB9XG4gICAgICAgICAgJl9faW1hZ2Uge1xuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJl9fYXJyb3cge1xuICAgICAgICAgICAgdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAycHggd2hpdGU7XG5cbiAgICAgICAgICAgICYtLXByZXYge1xuICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgJl9fdGl0bGUtYXJlYSB7XG5cbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcblxuICAgICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuXG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcblxuICAgICAgfVxuICAgICAgICAmX19kYXRlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTIge1xuICAkYjogXCIuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0yXCI7XG5cbiAgJl9faW1hZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICBcbiAgICAmLmxhenkge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbiAgICAmX19pbWFnZS10aHVtYiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC8vIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX19pbWFnZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICAgJl9faW1hZ2UtdGh1bWIge1xuXG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgICAgJl9faW1hZ2UtdGh1bWIge1xuXG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTMge1xuICAkYjogXCIuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zXCI7XG5cbiAgJl9faW1hZ2VzLXdyYXAge1xuXG4gIH1cbiAgICAmX19pbWFnZXMge1xuXG4gICAgfVxuICAgICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY29udGFpbjtcbiAgICAgICAgfVxuICAgICZfX2Fycm93IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXG4gICAgICAmLS1wcmV2IHtcblxuICAgICAgfVxuICAgICAgJi0tbmV4dCB7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgJl9fdGh1bWJzIHtcblxuICB9XG4gICAgJl9fdGh1bWItd3JhcCB7XG5cbiAgICB9XG4gICAgICAmX190aHVtYiB7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAkaW1hZ2VzX3dyYXBfd2lkdGg6IHJlbS1jYWxjKDEwMDApO1xuICAgICR0aHVtYnNfZ2FwOiByZW0tY2FsYygyOSk7XG4gICAgJHRodW1ic19jb3VudDogNjtcblxuICAgICZfX2ltYWdlcy13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAkaW1hZ2VzX3dyYXBfd2lkdGg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgICAmX19pbWFnZXMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdGh1bWJzX2dhcDtcbiAgICAgIH1cbiAgICAgICAgJl9faW1hZ2Utd3JhcCB7XG5cbiAgICAgICAgfVxuICAgICAgICAgICZfX2ltYWdlIHtcblxuICAgICAgICAgIH1cbiAgICAgICZfX2Fycm93IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuXG4gICAgICAgICYtLXByZXYge1xuICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKC0xMDApO1xuICAgICAgICB9XG4gICAgICAgICYtLW5leHQge1xuICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygtMTAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgJl9fdGh1bWJzIHtcbiAgICAgIHdpZHRoOiAkaW1hZ2VzX3dyYXBfd2lkdGg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIH1cbiAgICAgICZfX3RodW1iLXdyYXAge1xuICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgICAgICYuc2xpY2stY3VycmVudCxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX190aHVtYiB7XG4gICAgICAgICAgJHdpZHRoOiAoJGltYWdlc193cmFwX3dpZHRoIC8gJHRodW1ic19jb3VudCkgLSAoKCR0aHVtYnNfY291bnQgLSAxKSAqICR0aHVtYnNfZ2FwKSAvICR0aHVtYnNfY291bnQ7XG4gICAgICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgICAgICBoZWlnaHQ6ICR3aWR0aCAvIDEuNTI7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkdGh1bWJzX2dhcDtcbiAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJGltYWdlc190b3Bfb2Zmc2V0OiByZW0tY2FsYyg1MCk7XG4gICAgJl9faW1hZ2VzLXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAgICZfX2ltYWdlcyB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRpbWFnZXNfdG9wX29mZnNldDtcbiAgICAgIH1cbiAgICAgICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG4gICAgICAgICAgfVxuICAgICAgJl9fYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogY2FsYygxMDAlICsgI3skaW1hZ2VzX3RvcF9vZmZzZXQgLyAyfSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgICAmLS1wcmV2IHtcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgJl9fdGh1bWJzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICAgJl9fdGh1bWItd3JhcCB7XG5cbiAgICAgIH1cbiAgICAgICAgJl9fdGh1bWIge1xuXG4gICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1pbWFnZS1ibG9jay0xIHtcbiAgJGI6IFwiLmZsby1ibG9jay1pbWFnZS1ibG9jay0xXCI7XG5cbiAgJl9faW1hZ2Utd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICB9XG4gICAgJl9faW1hZ2Utb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6MDtcbiAgICAgIHJpZ2h0OjA7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgfVxuICAgIFxuICAgICZfX2hlYWRlci1hcmVhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1ncm93OiAwO1xuXG4gICAgICBoZWFkZXI6bm90KC5pcy1zdGlja3kpIHtcbiAgICAgICAgLmZsby1oZWFkZXIge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9faW1hZ2Utd3JhcCB7XG5cbiAgICB9XG4gICAgJGJsb2NrX3BhZGRpbmc6ICgkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDMpICsgKCRnbG9iYWwtZ3V0dGVyLXdpZHRoICogMik7XG4gICAgICAmX190aXRsZS1jZW50ZXIge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1MCkgJGJsb2NrX3BhZGRpbmc7XG4gICAgICB9XG4gICAgICAmX190aXRsZS1sZWZ0IHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTApICRibG9ja19wYWRkaW5nICogMiByZW0tY2FsYyg1MCkgcmVtLWNhbGMoMzIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUtcmlnaHQge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1MCkgcmVtLWNhbGMoMzIpIHJlbS1jYWxjKDUwKSAkYmxvY2tfcGFkZGluZyAqIDI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCImX19pbWFnZS13cmFwXCIpO1xufVxuIiwiQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCIuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJcIik7XG5cbi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMiB7XG4gICRiOiBcIi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMlwiO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuXG4gICZfX2ltYWdlLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmX190ZXh0LWFyZWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgICAmX190aXRsZXMtd3JhcCB7XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fdGl0bGUtZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIH1cbiAgICAmX190ZXh0LXBhcmFncmFwaCB7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0NSk7XG4gICAgICB9XG4gICAgfVxuICAgICZfX2J1dHRvbnMtd3JhcCB7XG4gICAgfVxuICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgcmVtLWNhbGMoMzApO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcixib3JkZXItY29sb3IsYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgICAgJi0tcHJpbWFyeSB7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDU0MCk7XG4gICAgfVxuICAgICAgJl9fdGl0bGVzLXdyYXAge1xuICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZS1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICB9XG4gICAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgfVxuICAgICAgJl9fdmVydGljYWwtbGluZSB7XG4gICAgICB9XG4gICAgICAmX190aXRsZS1wYXJhZ3JhcGgge1xuICAgICAgfVxuICAgICAgJl9fYnV0dG9uLXdyYXAge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMSk7XG4gICAgICB9XG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDAwKTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAmI3skYn1fX21vYmlsZS10ZXh0LXRvcCxcbiAgICAmI3skYn1fX21vYmlsZS10ZXh0LWJvdHRvbSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICN7JGJ9X19tb2JpbGUtaW1nLXdyYXB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJiN7JGJ9X19tb2JpbGUtdGV4dC10b3B7XG4gICAgICAjeyRifV9fdGV4dC1hcmVhe1xuICAgICAgICBvcmRlcjogLTE7XG4gICAgICB9XG4gICAgICAjeyRifV9fbW9iaWxlLWltZy13cmFwe1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNSk7XG4gICAgICB9XG4gICAgfVxuICAgICYjeyRifV9fbW9iaWxlLXRleHQtYm90dG9te1xuICAgICAgI3skYn1fX21vYmlsZS1pbWctd3JhcHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19tb2JpbGUtYmctd3JhcCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgfVxuICAgICZfX3RleHQtYXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgICAgJl9fdGl0bGVzLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICB9XG4gICAgICAmX192ZXJ0aWNhbC1saW5lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlLXBhcmFncmFwaCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI1KTtcbiAgICAgIH1cbiAgICAgICZfX2J1dHRvbi13cmFwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuICAgICAgfVxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICB9XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpe1xuICAgICYjeyRifV9fbW9iaWxlLXRleHQtdG9wLFxuICAgICYjeyRifV9fbW9iaWxlLXRleHQtYm90dG9tIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICN7JGJ9X19tb2JpbGUtaW1nLXdyYXB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMyB7XG4gICRiOiBcIi5mbG8tYmxvY2staW1hZ2UtYmxvY2stM1wiO1xuXG4gICZfX2ltYWdlIHtcbiAgfVxuXG4gICZfX3RleHQtYXJlYSB7XG4gIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgfVxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fdGV4dCB7XG4gICAgfVxuICAgIC8qIFNUQVJUOiBCdXR0b24gVHlwZSBBICovXG4gICAgICAmX19idXR0b25zLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTEpIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IsIGNvbG9yLCBib3JkZXItY29sb3IpO1xuXG4gICAgICAgICAgJi0tcHJpbWFyeSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICYtLXNlY29uZGFyeSB7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgLyogRU5EOiBCdXR0b24gVHlwZSBBICovXG5cbiAgICAvKiBTVEFSVDogQnV0dG9uIFR5cGUgQiAqL1xuICAgICAgJl9fYnV0dG9uLWxpbmtzLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgICAgICAmX19idXR0b24tbGluayB7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1KSByZW0tY2FsYygzMCkgcmVtLWNhbGMoMjUpIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IGdyb292ZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBncm9vdmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg3KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgfVxuICAgIC8qIEVORDogQnV0dG9uIFR5cGUgQiAqL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoNTUwKTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgICZfX3RleHQtYXJlYSB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuXG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgcmVtLWNhbGMoMTM1KTtcblxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICB9XG4gICAgICAmX190ZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDUpO1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvKiBTVEFSVDogQnV0dG9uIFR5cGUgQSAqL1xuICAgICAgICAmX19idXR0b25zLXdyYXAge1xuICAgICAgICB9XG4gICAgICAgICAgJl9fYnV0dG9uIHtcblxuICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiByZW0tY2FsYygyMjApO1xuXG4gICAgICAgICAgICAmLS1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIC8qIEVORDogQnV0dG9uIFR5cGUgQSAqL1xuXG4gICAgICAvKiBTVEFSVDogQnV0dG9uIFR5cGUgQiAqL1xuICAgICAgICAmX19idXR0b24tbGlua3Mtd3JhcCB7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19idXR0b24tbGluayB7XG4gICAgICAgICAgfVxuICAgICAgLyogRU5EOiBCdXR0b24gVHlwZSBCICovXG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG4gICAgJiA+ICo6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgIH1cblxuICAgICZfX3RleHQtYXJlYSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCkgcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3RleHQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLyogU1RBUlQ6IEJ1dHRvbiBUeXBlIEEgKi9cbiAgICAgICAgJl9fYnV0dG9ucy13cmFwIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19idXR0b24ge1xuXG4gICAgICAgICAgICAmLS1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLXNlY29uZGFyeSB7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgLyogRU5EOiBCdXR0b24gVHlwZSBBICovXG5cbiAgICAgIC8qIFNUQVJUOiBCdXR0b24gVHlwZSBCICovXG4gICAgICAgICZfX2J1dHRvbi1saW5rcy13cmFwIHtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2J1dHRvbi1saW5rIHtcbiAgICAgICAgICB9XG4gICAgICAvKiBFTkQ6IEJ1dHRvbiBUeXBlIEIgKi9cblxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTIge1xuICAkYjogXCIuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJcIjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICAmX19saW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgICAmX19saW5rLWltYWdlIHtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzM2KTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgfVxuICAgICZfX2xpbmstcHJldGl0bGUge1xuICAgIH1cbiAgICAmX19saW5rLXRpdGxlIHtcbiAgICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcGFkZGluZzogMCAkZ2xvYmFsLWNvbHVtbi13aWR0aCArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgICZfX2xpbmsge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTApO1xuXG4gICAgICAmLS1oYXMtdXJsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAmOmhvdmVyICN7JGJ9X19saW5rLWltYWdlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgKyAje3JlbS1jYWxjKDUwKX0pO1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgfVxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fbGluay1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MSk7XG5cbiAgICAgICAgJi0taGFzLXVybCB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odHJhbnNmb3JtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fbGluay1wcmV0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstdGl0bGUge1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAmX19saW5rIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgJi0taGFzLXVybCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fbGluay1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstcHJldGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICAmX19saW5rLXRpdGxlIHtcbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1pbWFnZS1saW5rcy00IHtcbiAgJGI6IFwiLmZsby1ibG9jay1pbWFnZS1saW5rcy00XCI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIFxuICAmX19jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMjk3KTtcbiAgfVxuICAgICZfX2xpbmstdGl0bGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm90dG9tOiByZW0tY2FsYygyOCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX2NvbHVtbiB7XG4gICAgICAkZ2FwOiByZW0tY2FsYyg1MCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAtICN7JGdhcH0pO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyOTcpO1xuXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIG1hcmdpbjogMCAkZ2FwO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyICN7JGJ9X19saW5rLXRpdGxlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19saW5rLXRpdGxlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgJl9fY29sdW1uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICAgICZfX2xpbmstdGl0bGUge1xuICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTUge1xuICAkYjogXCIuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTVcIjtcblxuICAmX19saW5rcy13cmFwIHtcbiAgfVxuICAgICZfX2ltYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICB9XG4gICAgICAmX19iYWNrZ3JvdW5kLXdyYXAge1xuXG4gICAgICB9XG4gICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fYm90dG9tLWxhYmVsIHtcbiAgICAgICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgJl9fbGlua3Mtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAgICZfX2ltYWdlLWxpbmsge1xuICAgICAgICAkZ2FwOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzE1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7JGdhcCAvIDJ9IC0gMC4xcmVtKTtcbiAgICAgICAgfVxuICAgICAgICAmOm5vdCg6bnRoLWNoaWxkKDJuKSkge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7JGdhcCAvIDJ9IC0gMC4xcmVtKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJdGVtIEhvdmVyIEVmZmVjdFxuICAgICAgICAmOmhvdmVyICN7JGJ9X19iYWNrZ3JvdW5kLXdyYXAge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9fYmFja2dyb3VuZC13cmFwIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2JvdHRvbS1sYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19saW5rcy13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAgICZfX2ltYWdlLWxpbmsge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMTUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICB9XG4gICAgICAgICZfX2JhY2tncm91bmQtd3JhcCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2JvdHRvbS1sYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDUzKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2staW1hZ2UtbGlua3MtNiB7XG4gICRiOiBcIi5mbG8tYmxvY2staW1hZ2UtbGlua3MtNlwiO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgJl9faW1hZ2UtbGluayB7XG4gIH1cbiAgICAmX19saW5rLWltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyOTcpO1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICB9XG4gICAgJl9fdGV4dC13cmFwIHtcbiAgICB9XG4gICAgICAmX19saW5rLXRpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstc3VidGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fbGluay1ib3R0b20tbGFiZWwge1xuICAgICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgJl9faW1hZ2UtbGluayB7XG4gICAgICAkZ2FwOiByZW0tY2FsYyg0NSk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2xpbmstaW1hZ2Uge1xuICAgICAgfVxuICAgICAgJl9fdGV4dC13cmFwIHtcbiAgICAgICAgJGluX2dhcDogcmVtLWNhbGMoMzApO1xuICAgICAgICBwYWRkaW5nOiAkaW5fZ2FwICRpbl9nYXAgcmVtLWNhbGMoNDApICRpbl9nYXA7XG4gICAgICB9XG4gICAgICAgICZfX2xpbmstdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcpO1xuICAgICAgICB9XG4gICAgICAgICZfX2xpbmstc3VidGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgfVxuICAgICAgICAmX19saW5rLWJvdHRvbS1sYWJlbCB7XG4gICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAmX19pbWFnZS1saW5rIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDUpO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2xpbmstaW1hZ2Uge1xuICAgICAgfVxuICAgICAgJl9fdGV4dC13cmFwIHtcbiAgICAgICAgJGluX2dhcDogcmVtLWNhbGMoMjApO1xuICAgICAgICBwYWRkaW5nOiAkaW5fZ2FwICRpbl9nYXAgcmVtLWNhbGMoMzApICRpbl9nYXA7XG4gICAgICB9XG4gICAgICAgICZfX2xpbmstdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgICAgICAmX19saW5rLXN1YnRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fbGluay1ib3R0b20tbGFiZWwge1xuICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2staW1hZ2UtbGlua3MtNyB7XG4gICRiOiBcIi5mbG8tYmxvY2staW1hZ2UtbGlua3MtN1wiO1xuXG4gICZfX2ltYWdlLWxpbmsge1xuXG4gICAgJi0tdGV4dC1hcmVhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDAwKTtcbiAgICB9XG4gIH1cbiAgICAmX19pbWFnZSB7XG4gICAgfVxuICAgICZfX3ByZXRpdGxlIHtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgIH1cbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgfVxuICAgICZfX2J1dHRvbi13cmFwIHtcbiAgICB9XG4gICAgICAmX19idXR0b24ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMSkgcmVtLWNhbGMoMzApO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yLCBjb2xvcik7XG4gICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgJl9faW1hZ2UtbGluayB7XG4gICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAmLS1pbWFnZSB7XG4gICAgICB9XG4gICAgICAmLS10ZXh0LWFyZWEge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCkgcmVtLWNhbGMoMTIwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2ltYWdlIHtcbiAgICAgIH1cbiAgICAgICZfX3ByZXRpdGxlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDYwKTtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX2J1dHRvbi13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IHJlbS1jYWxjKDYwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgfVxuXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICAgICZfX2ltYWdlLWxpbmsge1xuICAgICAgJi0tdGV4dC1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzUpIHJlbS1jYWxjKDYwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19pbWFnZSB7XG4gICAgICB9XG4gICAgICAmX19wcmV0aXRsZSB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19idXR0b24td3JhcCB7XG4gICAgICB9XG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgIH1cblxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWludHJvLWJsb2NrIHtcbiAgJGI6IFwiLmZsby1ibG9jay1pbnRyby1ibG9ja1wiO1xuXG4gICZfX2ltYWdlLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIFxuICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gIH1cbiAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCIuZmxvLWJsb2NrLWludHJvLWJsb2NrX19pbWFnZS13cmFwXCIpO1xuICAgICZfX2ltYWdlLW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgICZfX2hlYWRlci1hcmVhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBoZWFkZXI6bm90KC5pcy1zdGlja3kpIHtcbiAgICAgICAgLmZsby1oZWFkZXIge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX190ZXh0IHtcbiAgICAgICAgXG4gICAgICAgICYgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAmX19hY3Rpb25zLXdyYXAge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDE4MCk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJl9faWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogN3B4O1xuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgXG5cbiAgICAmX19pbWFnZS13cmFwIHtcbiAgICB9XG5cbiAgICAgICZfX2hlYWRlci1hcmVhIHtcbiAgICAgICAgaGVhZGVyIHtcbiAgICAgICAgICAuZmxvLWhlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCkgcmVtLWNhbGMoODApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDEwMCkgcmVtLWNhbGMoMTAwKSByZW0tY2FsYygxMDApO1xuICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg0OTUpO1xuICAgICAgICB9XG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNDUwKTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg3KTtcbiAgICAgICAgfVxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAmI3skYn0tLXR5cGUtYSB7XG4gICAgICAgICN7JGJ9X190ZXh0LWFyZWEge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgXG4gICAgICAgICAgJiN7JGJ9X19idXR0b25zLXBvc2l0aW9uLS1iZWxvdyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAjeyRifV9fYWN0aW9ucy13cmFwIHtcbiAgICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICN7JGJ9X19idXR0b24ge1xuICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICAmI3skYn0tLXR5cGUtYiB7XG4gICAgICAgICN7JGJ9X190ZXh0LWFyZWEge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAjeyRifV9fYWN0aW9ucy13cmFwIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgJiN7JGJ9LS10eXBlLWMge1xuICAgICAgICAjeyRifV9fdGV4dC1hcmVhIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICN7JGJ9X19hY3Rpb25zLXdyYXAge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMDApO1xuICAgICAgICAgIFxuICAgICAgICAgICN7JGJ9X19idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQ1KSByZW0tY2FsYyg0NSkgcmVtLWNhbGMoNTApIHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICN7JGJ9X19idXR0b24tdGl0bGUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAjeyRifV9faWNvbiB7XG4gICAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAvLyB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAvLyByaWdodDogcmVtLWNhbGMoNDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICAgICZfX2ltYWdlLXdyYXAge1xuICAgIH1cblxuICAgICAgJl9faGVhZGVyLWFyZWEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBoZWFkZXI6bm90KC5pcy1zdGlja3kpIHtcbiAgICAgICAgICAuZmxvLWhlYWRlciB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX190ZXh0LWFyZWEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0tdmVydGljYWwgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgfVxuICAgICAgJl9fYWN0aW9ucy13cmFwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgXG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgXG4gICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICYjeyRifS0tdHlwZS1jIHtcbiAgICAgICN7JGJ9X19idXR0b24tcHJldGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICAjeyRifV9fYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICAgIH1cbiAgICAgICAgI3skYn1fX2J1dHRvbi10aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9faWNvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICB9XG4gICAgfVxuICAgIFxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTMpIHJlbS1jYWxjKDEwMCk7XG4gICAgfVxuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIGh0bWw6bm90KC5odG1sLS1zdHlsZS1maXhlZCkgLmZsby1ibG9jay1pbnRyby1ibG9ja19fdGV4dC1hcmVhIHtcbiAgICAvLyBtYXJnaW4tbGVmdDogJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICB9XG59XG4iLCIuZmxvLWJsb2NrLWl0ZW0tY29udGVudCB7XG4gICRiOiBcIi5mbG8tYmxvY2staXRlbS1jb250ZW50XCI7XG5cbiAgJl9fY29udGVudC1hcmVhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwJTtcbiAgICAgIHRvcDogMCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMzAlLCAtMzUlKTtcbiAgICB9XG4gICAgJl9fY29udGVudCB7XG4gICAgfVxuXG4gICZfX3NpZGUtYXJlYSB7XG4gIH1cbiAgICAmX19iYWNrLWxpbmsge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgfVxuXG4gICAgJl9fc2hhcmUtbGlua3Mge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fY29udGVudC1hcmVhIHtcbiAgICAgIG1heC13aWR0aDogOTIlO1xuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgfVxuICAgICAgJl9fY29udGVudCB7XG4gICAgICB9XG5cbiAgICAmX19zaWRlLWFyZWEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoNDU1KTtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgICAgJl9fYmFjay1saW5rIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuXG4gICAgICAmX19zaGFyZS1saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDEpO1xuICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDExKSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fY29udGVudC1hcmVhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAmX19jb250ZW50IHtcblxuICAgICAgfVxuXG4gICAgJl9fc2lkZS1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXJcbiAgICB9XG4gICAgICAkc2lkZV9hcmVhX2l0ZW1zX2dhcDogcmVtLWNhbGMoMTApO1xuXG4gICAgICAmX19iYWNrLWxpbmsge1xuICAgICAgICBtYXJnaW46IDAgJHNpZGVfYXJlYV9pdGVtc19nYXA7XG4gICAgICB9XG5cbiAgICAgICZfX3NoYXJlLWxpbmtzIHtcbiAgICAgICAgYSxcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiAwICRzaWRlX2FyZWFfaXRlbXNfZ2FwO1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uIHtcbiAgJGI6IFwiLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb25cIjtcblxuICAmX19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgJGljb24tbWFyZ2luOiByZW0tY2FsYygyNyk7XG4gICAgJi0tcHJldiB7XG4gICAgICBpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaWNvbi1tYXJnaW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tbmV4dCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGljb24tbWFyZ2luO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAgICZfX3RodW1iIHtcbiAgICAgICRzaXplOiByZW0tY2FsYygxOTIpO1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgfVxuICAgICZfX3RleHQtYXJlYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApIHJlbS1jYWxjKDc1KTtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQpO1xuICAgICAgfVxuICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgfVxuICAgICAgJl9fYm90dG9tLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjgpO1xuICAgICAgICBpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAmX19saW5rIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAmLS1wcmV2IHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX190aHVtYiB7XG5cbiAgICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG5cbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fYm90dG9tLWxhYmVsIHtcblxuICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAmX19saW5rIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgICAgJl9fdGh1bWIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICAgICAgfVxuICAgICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fYm90dG9tLWxhYmVsIHtcbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2staXRlbS10aXRsZS0yIHtcbiAgJGI6IFwiLmZsby1ibG9jay1pdGVtLXRpdGxlLTJcIjtcblxuICAmX19sZWZ0LXNpZGUge1xuXG4gIH1cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2KTtcbiAgICB9XG4gICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuXG4gICAgfVxuICAgICAgJl9fZGF0ZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgfVxuXG4gICZfX3JpZ2h0LXNpZGUge1xuXG4gIH1cbiAgICAmX19zaGFyZS1saW5rcyB7XG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICZfX2xlZnQtc2lkZSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcblxuICAgICAgfVxuICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuXG4gICAgICB9XG4gICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cblxuICAgICZfX3JpZ2h0LXNpZGUge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgICAgJl9fc2hhcmUtbGlua3Mge1xuICAgICAgICBhIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmX19sZWZ0LXNpZGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcblxuICAgICAgfVxuICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuXG4gICAgICB9XG4gICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cblxuICAgICZfX3JpZ2h0LXNpZGUge1xuXG4gICAgfVxuICAgICAgJl9fc2hhcmUtbGlua3Mge1xuICAgICAgICBhIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2staXRlbS10aXRsZSB7XG4gICRiOiBcIi5mbG8tYmxvY2staXRlbS10aXRsZVwiO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJl9faGVhZGVyLWFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5mbG8taGVhZGVyLW1vYmlsZS5ub3Qtc3RpY2t5LFxuICAgIC5mbG8taGVhZGVyLmlzLW5vdC1zdGlja3kge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgJi0taW1nLWxhbmRzY2FwZSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICN7KCRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbCArIHJlbS1jYWxjKDQ3KSkgKiAyIH0pO1xuICAgIH1cbiAgICAmLS1pbWctcG9ydHJhaXQge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgIH1cbiAgICAmLS1iZ2kge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICB9XG4gICAgJi0tYWJvdmUge1xuXG4gICAgfVxuICAgICYtLWJnIHtcblxuICAgIH1cbiAgICAmLS1iZWxvdyB7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmX190ZXh0LWFyZWEtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgICAmX190ZXh0LWFyZWEge1xuXG4gICAgfVxuICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxOSk7XG4gICAgICB9XG4gICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cblxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNCk7XG4gICAgICB9XG4gICAgICAmX19leGNlcnB0IHtcblxuICAgICAgfVxuXG4gICAgJl9fZGVjb3JhdGl2ZS1hcmVhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgb3BhY2l0eTogMC4wNjtcbiAgICAgICAgbWluLXdpZHRoOiAxLjFlbTtcbiAgICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE0Nyk7XG4gICAgICB9XG5cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXG4gICAgJi0tZmVhdHVyZWQtaW1hZ2UtcG9zaXRpb24tYmcge1xuICAgICAgI3skYn1fX3RleHQtYXJlYS13cmFwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE2NCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMzIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcblxuICAgICAgJi0taW1nIHtcblxuICAgICAgfVxuICAgICAgJi0tYmdpIHtcblxuICAgICAgfVxuICAgICAgJi0tYWJvdmUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICB9XG4gICAgICAmLS1iZyB7XG5cbiAgICAgIH1cbiAgICAgICYtLWJlbG93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTA0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0LWFyZWEtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsICsgcmVtLWNhbGMoNDcpO1xuICAgICAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsICsgcmVtLWNhbGMoNDcpO1xuICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcblxuICAgICAgICB9XG4gICAgICAgICAgJl9fZGF0ZSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgICAgfVxuXG4gICAgICAgICZfX3RpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2V4Y2VycHQge1xuXG4gICAgICAgIH1cblxuICAgICAgJl9fZGVjb3JhdGl2ZS1hcmVhIHtcbiAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICB9XG4gICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBoZWFkZXJ7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuZmxvLWhlYWRlcl9fbG9nby0taXMtbGlnaHR7XG4gICAgICAuZmxvLWhlYWRlci1tb2JpbGUge1xuICAgICAgICAmLm5vdC1zdGlja3l7XG4gICAgICAgICAgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1saWdodHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICYtLWltZyB7XG5cbiAgICAgIH1cbiAgICAgICYtLWJnaSB7XG5cbiAgICAgIH1cbiAgICAgICYtLWFib3ZlIHtcblxuICAgICAgfVxuICAgICAgJi0tYmcge1xuXG4gICAgICB9XG4gICAgICAmLS1iZWxvdyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0MCk7XG4gICAgICB9XG4gICAgICAmLS1pbWctbGFuZHNjYXBlLFxuICAgICAgJi0taW1nLXBvcnRyYWl0IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQtYXJlYS13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCkgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbCAwICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX19kYXRlIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jYXRlZ29yeSB7XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgJl9fdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fZXhjZXJwdCB7XG5cbiAgICAgICAgfVxuXG4gICAgICAmX19kZWNvcmF0aXZlLWFyZWEge1xuICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNTApO1xuICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stbGlzdGluZy0xIHtcbiAgJGI6IFwiLmZsby1ibG9jay1saXN0aW5nLTFcIjtcbiAgXG4gICZfX2l0ZW0ge1xuXG4gIH1cbiAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM5KTtcbiAgICB9XG4gICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgICAgJl9fbGVmdC1zaWRlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg1Myk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgICYtLWRlY29yYXRpb24tb24ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgICB9XG4gICAgICAgICYtLWRlY29yYXRpb24tb2ZmIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgJl9fcmlnaHQtc2lkZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgJl9fZXhjZXJwdCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTkpO1xuICAgICAgICB9XG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMikgcmVtLWNhbGMoMjMpO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAkZ2FwIDogcmVtLWNhbGMoOTEpO1xuICAgICZfX2dyaWQtc2l6ZXIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpO1xuICAgIH1cbiAgICBcbiAgICAmX19pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gI3skZ2FwfSk7XG4gICAgICBtYXJnaW46IDAgI3skZ2FwIC8gMn0gcmVtLWNhbGMoMTQ4KSAjeyRnYXAgLyAyfTtcbiAgICAgICY6bnRoLWNoaWxkKDJuLTEpe1xuICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6ICRnYXA7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuXG4gICAgICB9XG4gICAgICAmX190ZXh0LWFyZWEge1xuXG4gICAgICB9XG4gICAgICAgICZfX2xlZnQtc2lkZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgJi0tZGVjb3JhdGlvbi1vbiB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tZGVjb3JhdGlvbi1vZmYge1xuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgJl9fcmlnaHQtc2lkZSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNjQpO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fdGl0bGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jYXRlZ29yeSB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAmX19leGNlcnB0IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19saW5rIHtcblxuICAgICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcblxuICAgICAgfVxuICAgICAgJl9fdGV4dC1hcmVhIHtcblxuICAgICAgfVxuICAgICAgICAmX19sZWZ0LXNpZGUge1xuICAgICAgICAgICYtLWRlY29yYXRpb24tb24ge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICYtLWRlY29yYXRpb24tb2ZmIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICZfX3JpZ2h0LXNpZGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX190aXRsZSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fZGF0ZSB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICZfX2V4Y2VycHQge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2xpbmsge1xuXG4gICAgICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWxpc3RpbmctMiB7XG4gICRiOiBcIi5mbG8tYmxvY2stbGlzdGluZy0yXCI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAmX19pdGVtIHtcbiAgICAmLS1pcy1tYXNvbnJ5IHtcbiAgICAgICYgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDI3MSk7XG4gICAgICAmLS0yLWNvbHVtbnMge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM4MCk7XG4gICAgICB9XG4gICAgICAmLS00LWNvbHVtbnMge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIxMCk7XG4gICAgICB9XG4gICAgICAmLS1pbWcge1xuXG4gICAgICB9XG4gICAgICAmLS1iZ2kge1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19vdmVybGF5IHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMDApO1xuICAgICAgfVxuXG4gICAgICAmLS1jb2x1bW5zLTQge1xuICAgICAgICAjeyRifV9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuXG4gICAgICB9XG4gICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cbiAgICAgICZfX2xpbmsge1xuXG4gICAgICB9XG5cbiAgJi0taXMtbWFzb25yeSB7XG4gICAgI3skYn1fX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICYtLTItY29sdW1ucyB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgICYtLTQtY29sdW1ucyB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX2l0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJjpob3ZlciAjeyRifV9fb3ZlcmxheSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICAmLS1pbWcge1xuXG4gICAgICAgIH1cbiAgICAgICAgJi0tYmdpIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19kYXRlIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jYXRlZ29yeSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICZfX2xpbmsge1xuXG4gICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICAmLS1pbWcge1xuXG4gICAgICAgIH1cbiAgICAgICAgJi0tYmdpIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19vdmVybGF5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwKSByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1saXN0aW5nLTMge1xuICAkYjogXCIuZmxvLWJsb2NrLWxpc3RpbmctM1wiO1xuXG5cbiAgJl9faXRlbSB7XG4gIH1cbiAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAmLS1uby1tYXNvbnJ5IHtcbiAgICAgICAgJi0zLWNvbHVtbnMge1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtMi1jb2x1bW5zIHtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwNCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLTQtY29sdW1ucyB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMzApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLS1pbWcge1xuXG4gICAgICB9XG4gICAgICAmLS1iZ2kge1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgICAmX190ZXh0LWFyZWEge1xuXG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgICZfX2V4Y2VycHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICRibG9ja19wYWRkaW5nOiAkZ2xvYmFsLWNvbHVtbi13aWR0aCArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgIG1hcmdpbjogMCAkYmxvY2tfcGFkZGluZztcbiAgICAmX19pdGVtIHtcbiAgICB9XG4gICAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgICYtLWltZyB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1iZ2kge1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgICAgICAmX19leGNlcnB0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMyk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgJl9fbGluayB7XG5cbiAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9faXRlbSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgICYtLWltZyB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1iZ2kge1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgICAgICZfX2V4Y2VycHQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgICAgICAmX19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19kYXRlIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jYXRlZ29yeSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stbGlzdGluZy00IHtcbiAgJGI6IFwiLmZsby1ibG9jay1saXN0aW5nLTRcIjtcblxuICAmX190b3Atd3JhcCB7XG5cbiAgfVxuICAmX19pdGVtIHtcbiAgICAmLS1iaWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgICAmX190b3Atd3JhcC1sZWZ0LXNpZGUge1xuICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgICB9XG5cbiAgICAgICZfX2JpZy1pdGVtLW92ZXJsYXkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgICAgJl9fYmlnLWl0ZW0tZGVjb3JhdGl2ZS1pbWFnZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19iaWctaXRlbS10aXRsZS1hcmVhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fYmlnLWl0ZW0tZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNzAlLCAtNDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fYmlnLWl0ZW0tY2F0ZWdvcnkge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2JpZy1pdGVtLXRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19iaWctaXRlbS10YWdzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYmlnLWl0ZW0tdGFnIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAmX19iaWctaXRlbS1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDkuNSkgcmVtLWNhbGMoMjQpIHJlbS1jYWxjKDkuNSkgcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvciwgYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgJl9fdG9wLXdyYXAtcmlnaHQtc2lkZSB7XG5cbiAgICAgICAgI3skYn1fX2l0ZW0ge1xuICAgICAgICAgICYtLXNtYWxsIHt9XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX2ZlYXR1cmVkLWltYWdlIHtcblxuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19zbWFsbC1pdGVtLW92ZXJsYXkge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fc21hbGwtaXRlbS10aXRsZSB7XG5cbiAgICAgICAgICB9XG4gICAgICB9XG5cbiAgJl9fYm90dG9tLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gICAgJl9faXRlbSB7XG5cbiAgICAgICYtLXNtYWxsIHtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX3NtYWxsLWl0ZW0tb3ZlcmxheSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fc21hbGwtaXRlbS10aXRsZSB7XG4gICAgICAgIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX190b3Atd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgICAgJl9fdG9wLXdyYXAtbGVmdC1zaWRlIHtcbiAgICAgIH1cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgJi0tYmlnIHtcbiAgICAgICAgICAgICY6aG92ZXIgI3skYn1fX2JpZy1pdGVtLW92ZXJsYXkge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcblxuICAgICAgICB9XG5cbiAgICAgICAgJl9fYmlnLWl0ZW0tb3ZlcmxheSB7XG4gICAgICAgICAgJGdhcDogcmVtLWNhbGMoNTEpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6ICRnYXA7XG4gICAgICAgICAgbGVmdDogJGdhcDtcbiAgICAgICAgICByaWdodDogJGdhcDtcbiAgICAgICAgICBib3R0b206ICRnYXA7XG5cbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fYmlnLWl0ZW0tZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4NSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2JpZy1pdGVtLXRpdGxlLWFyZWEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOTApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2JpZy1pdGVtLWRlY29yYXRpdmUtbGV0dGVyIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYmlnLWl0ZW0tY2F0ZWdvcnkge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19iaWctaXRlbS10aXRsZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYmlnLWl0ZW0tdGFncyB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJl9fYmlnLWl0ZW0tdGFnIHtcblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19iaWctaXRlbS1saW5rIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAmX190b3Atd3JhcC1yaWdodC1zaWRlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAjeyRifV9faXRlbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAmLS1zbWFsbCB7XG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpLFxuICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMiksXG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3NtYWxsLWl0ZW0tb3ZlcmxheSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRifV9fc21hbGwtaXRlbS10aXRsZSB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgJl9fYm90dG9tLXdyYXAge1xuICAgIH1cbiAgICAgICZfX2l0ZW0ge1xuICAgICAgICAmLS1zbWFsbCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICY6aG92ZXIgI3skYn1fX3NtYWxsLWl0ZW0tb3ZlcmxheSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOm50aC1jaGlsZCg0bikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fc21hbGwtaXRlbS1vdmVybGF5IHtcbiAgICAgICAgICAkZ2FwOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogJGdhcDtcbiAgICAgICAgICBsZWZ0OiAkZ2FwO1xuICAgICAgICAgIHJpZ2h0OiAkZ2FwO1xuICAgICAgICAgIGJvdHRvbTogJGdhcDtcblxuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG5cbiAgICAgICAgfVxuICAgICAgICAgICZfX3NtYWxsLWl0ZW0tdGl0bGUge1xuXG4gICAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdG9wLXdyYXAge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAgICZfX3RvcC13cmFwLWxlZnQtc2lkZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcblxuICAgICAgICB9XG5cbiAgICAgICAgJl9fYmlnLWl0ZW0tb3ZlcmxheSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzApIHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjApO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2JpZy1pdGVtLWRlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19iaWctaXRlbS10aXRsZS1hcmVhIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19iaWctaXRlbS1kZWNvcmF0aXZlLWxldHRlciB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2JpZy1pdGVtLWNhdGVnb3J5IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYmlnLWl0ZW0tdGl0bGUge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2JpZy1pdGVtLXRhZ3Mge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX2JpZy1pdGVtLXRhZyB7XG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYmlnLWl0ZW0tbGluayB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgJl9fdG9wLXdyYXAtcmlnaHQtc2lkZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAjeyRifV9faXRlbSB7XG4gICAgICAgICAgICAmLS1zbWFsbCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICN7JGJ9X19mZWF0dXJlZC1pbWFnZSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3NtYWxsLWl0ZW0tb3ZlcmxheSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRifV9fc21hbGwtaXRlbS10aXRsZSB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgJl9fYm90dG9tLXdyYXAge1xuICAgIH1cbiAgICAgICZfX2l0ZW0ge1xuXG4gICAgICAgICYtLWJpZyB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1zbWFsbCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fc21hbGwtaXRlbS1vdmVybGF5IHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCkgcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fc21hbGwtaXRlbS10aXRsZSB7XG5cbiAgICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stbGlzdGluZy01IHtcbiAgJGI6IFwiLmZsby1ibG9jay1saXN0aW5nLTVcIjtcblxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvL3RleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX3RleHQtYXJlYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9faXRlbS1kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoNzApO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICAgICZfX2l0ZW0tdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9faXRlbS1kYXRlIHtcbiAgICAgIH1cbiAgICAgICZfX2l0ZW0tbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygyNSkgcmVtLWNhbGMoOSkgcmVtLWNhbGMoMjUpO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvciwgYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgICAgJi0tdW5kZXItZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gU2hvd3MgdXAgaW4gY2FzZSBmdWxsIGNvbnRlbnQgaXMgZGlzYWJsZWRcbiAgICAgICZfX2l0ZW0tZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgICB9XG4gICAgICAmX19idXR0b24td3JhcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgJl9fc2hhcmUtbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNjApO1xuICAgICAgICAmLS1kZWxpbWl0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDEpO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cbiAgICAgICAgLmZsby1zaGFyZS1saW5rIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJGJsb2NrX3BhZGRpbmc6ICRnbG9iYWwtY29sdW1uLXdpZHRoICogMiArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgIHBhZGRpbmc6IDAgJGJsb2NrX3BhZGRpbmc7XG4gICAgJl9faXRlbSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCkgcmVtLWNhbGMoNzUpO1xuICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTAwKTtcbiAgICAgIH1cbiAgICAgICAgJl9faXRlbS1kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzOCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9faXRlbS10aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgICAgICZfX2l0ZW0tZGF0ZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgICZfX2l0ZW0tbGluayB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgICAgICB9XG4gICAgICAgIC8vIFNob3dzIHVwIGluIGNhc2UgZnVsbCBjb250ZW50IGlzIGRpc2FibGVkXG4gICAgICAgICZfX2l0ZW0tZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgJl9fc2hhcmUtbGlua3Mge1xuICAgICAgICAmLS1kZWxpbWl0ZXIge1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAwO1xuICAgICZfX2l0ZW0ge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzApIHJlbS1jYWxjKDM1KTtcbiAgICB9XG4gICAgICAmX190ZXh0LWFyZWEge1xuICAgICAgfVxuICAgICAgICAmX19pdGVtLWRlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKVxuICAgICAgICB9XG4gICAgICAgICZfX2l0ZW0tdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgICAgICAmX19pdGVtLWRhdGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgICAmX19pdGVtLWxpbmsge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBTaG93cyB1cCBpbiBjYXNlIGZ1bGwgY29udGVudCBpcyBkaXNhYmxlZFxuICAgICAgICAmX19pdGVtLWZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgfVxuICAgICAgICAmX19zaGFyZS1saW5rcyB7XG4gICAgICAgICAgJi0tZGVsaW1pdGVyIHtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1saXN0aW5nLTYge1xuICAkYjogXCIuZmxvLWJsb2NrLWxpc3RpbmctNlwiO1xuXG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgICAmX190ZXh0LWFyZWEge1xuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgICAmX19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICAgICAgJl9fZGF0ZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICB9XG4gICAgICAmX19leGNlcnB0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygyNSkgcmVtLWNhbGMoOSkgcmVtLWNhbGMoMjUpO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvciwgYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICB9XG4gICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuXG4gICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoNzIpO1xuICAgICZfX2l0ZW0ge1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odHJhbnNmb3JtKTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG5cbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMDApIHJlbS1jYWxjKDgwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNyk7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19kYXRlIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICAgIH1cbiAgICAgICAgJl9fZXhjZXJwdCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgICAgICB9XG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICB9XG4gICAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19pdGVtIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTApIHJlbS1jYWxjKDI1KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2RhdGUge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jYXRlZ29yeSB7XG4gICAgICAgICAgfVxuICAgICAgICAmX19leGNlcnB0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbi0yIHtcbiAgJGI6IFwiLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24tMlwiO1xuICBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIFxuICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvciwgYmFja2dyb3VuZC1jb2xvcik7XG4gIFxuICAmX19idXR0b24td3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciwgY29sb3IpO1xuICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0taG92ZXItdGV4dC1jb2xvcik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yKVxuICAgIH1cbiAgfVxuICAgICZfX2J1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMikgcmVtLWNhbGMoNjQpO1xuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX2J1dHRvbi13cmFwIHtcbiAgICB9XG4gICAgICAmX19idXR0b24ge1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fYnV0dG9uLXdyYXAge1xuICAgIH1cbiAgICAgICZfX2J1dHRvbiB7XG4gICAgICB9XG4gIH1cbn0iLCIuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbiB7XG4gICRiOiBcIi5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uXCI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgJl9fbmF2aWdhdGlvbiB7XG5cbiAgICAmLS1wcmV2aW91cyB7XG5cbiAgICAgICYgaSB7XG5cbiAgICAgIH1cblxuICAgIH1cbiAgICAmLS1uZXh0IHtcbiAgICAgICYgaSB7XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fcGFnZS1saW5rcyB7XG5cbiAgfVxuICAgICZfX3BhZ2UtbnVtYmVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICB9XG4gICAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19wYWdlLWRvdHMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgJl9fbmF2aWdhdGlvbiB7XG4gICAgICAmLS1wcmV2aW91cyB7XG4gICAgICAgICYgaSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtLW5leHQge1xuICAgICAgICAmIGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19zcGFjZXIge1xuICAgICAgICBmbGV4OiAwIDEgMTAlO1xuICAgICAgfVxuICAgICZfX3BhZ2UtbGlua3Mge1xuXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fcGFnZS1udW1iZXIge1xuICAgICAgfVxuICAgICAgJl9fcGFnZS1kb3RzIHtcblxuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAmX19uYXZpZ2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAmLS1wcmV2aW91cyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgJiBpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi0tbmV4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgJiBpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICZfX3BhZ2UtbGlua3Mge1xuICAgIH1cbiAgICAgICZfX3BhZ2UtbnVtYmVyIHtcblxuICAgICAgICAmLS1hY3RpdmUge1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3BhZ2UtZG90cyB7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzIHtcbiAgJGI6IFwiLmZsby1ibG9jay1udW1lcmljLWRldGFpbHNcIjtcblxuICAmX19udW1lcmljLWRldGFpbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICB9XG4gIFxuICAgICZfX251bWVyaWMtZGV0YWlsLW51bWJlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICBcbiAgICAgICYjeyRifV9fcGx1cy13aWxsLXNob3cge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCIrXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgXG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICAgIH1cbiAgICAgICAgJiN7JGJ9X19wbHVzLXNob3duIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzMCkgMDtcbiAgICBcbiAgICAmX19udW1lcmljLWRldGFpbCB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgcmVtLWNhbGMoMjUpO1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19udW1lcmljLWRldGFpbCB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg1MCkgMDtcbiAgICAgIG1hcmdpbjogMCByZW0tY2FsYyg1MCk7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmZsby1ibG9jay1wcmVzcyB7XG4gICRiOiBcIi5mbG8tYmxvY2stcHJlc3NcIjtcbiAgXG4gICZfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgXG4gICZfX3ByZXNzLWltYWdlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgfVxuICBcbiAgJl9fc2xpZGVyIHtcbiAgICAjeyRifV9fcHJlc3MtaW1hZ2Uge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygxNSkgYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICB9XG4gICAgLnNsaWNrLWFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICBcbiAgICAjeyRifV9fYXJyb3cge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB6LWluZGV4OiAxMDA7XG4gICAgfVxuICAgIFxuICAgICN7JGJ9X19hcnJvdy0tcHJldiB7XG4gICAgICBsZWZ0OiByZW0tY2FsYygzMik7XG4gICAgfVxuICAgICN7JGJ9X19hcnJvdy0tbmV4dCB7XG4gICAgICByaWdodDogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgfVxuICAmX19wcmVzcy1pbWFnZXMtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAmX19wcmVzcy1pbWFnZXMtd3JhcCwgXG4gICZfX3NsaWRlcyA+IGRpdiB7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDUzKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICB9XG4gICAgJl9fcHJlc3MtaW1hZ2Uge1xuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIFxuICAgICZfX3NsaWRlciB7XG4gICAgICAjeyRifV9fYXJyb3cge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fcHJlc3MtaW1hZ2VzLXdyYXAge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICB9XG4gICAgICAmX19wcmVzcy1pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNDUpICogMztcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoNW4pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICB9XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgJl9fc2xpZGVyIHtcbiAgICAgIFxuICAgICAgI3skYn1fX2Fycm93LS1wcmV2IHtcbiAgICAgICAgbGVmdDogLSByZW0tY2FsYyg0NCk7XG4gICAgICB9XG4gICAgICAjeyRifV9fYXJyb3ctLW5leHQge1xuICAgICAgICByaWdodDogLSByZW0tY2FsYyg0NCk7XG4gICAgICB9XG4gICAgfVxuICB9IFxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIFxuICAgICZfX3NsaWRlciB7XG4gICAgICBcbiAgICAgICZfX2Fycm93e1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfSBcbiAgICBcbiAgICAmX19wcmVzcy1pbWFnZXMtd3JhcCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAgICZfX3ByZXNzLWltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDEwKSBhdXRvO1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgfVxufVxuIiwiLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2UtMSB7XG4gICRiOiBcIi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFcIjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICAmX19pbWFnZS13cmFwIHtcbiAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyXG4gICAgd2lkdGg6IHJlbS1jYWxjKDkzNSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlXG4gIH1cbiAgICAmX19wYWNrYWdlLW51bWJlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAmX190ZXh0LWFyZWEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyOSk7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE0KTtcbiAgICB9XG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgICAmX19wYWNrYWdlLXByaWNlIHtcbiAgICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgICAmLS10ZXh0LWFyZWEtcG9zaXRpb24tbGVmdCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuICAgICAgJi0tdGV4dC1hcmVhLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fcGFja2FnZS1udW1iZXIge1xuICAgICAgICBib3R0b206IHJlbS1jYWxjKDY5KTtcbiAgICAgICAgJi0tdGV4dC1hcmVhLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYyg3Mik7XG4gICAgICAgIH1cbiAgICAgICAgJi0tdGV4dC1hcmVhLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYyg3Mik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYyg3MikgMDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDY0KSByZW0tY2FsYyg5MCkgcmVtLWNhbGMoNzgpIHJlbS1jYWxjKDkwKTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg0NjEpO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgJi0tdGV4dC1hcmVhLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtMjMwKTtcbiAgICAgIH1cbiAgICAgICYtLXRleHQtYXJlYS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTIzMCk7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3BhY2thZ2UtcHJpY2Uge1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAmX19pbWFnZS13cmFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuXG4gICAgICAmLS10ZXh0LWFyZWEtcG9zaXRpb24tbGVmdCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAmLS10ZXh0LWFyZWEtcG9zaXRpb24tcmlnaHQge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX3BhY2thZ2UtbnVtYmVyIHtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgfVxuICAgICZfX3RleHQtYXJlYSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgcmVtLWNhbGMoMzApO1xuICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgJi0tdGV4dC1hcmVhLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICAgICYtLXRleHQtYXJlYS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19wYWNrYWdlLXByaWNlIHtcbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTIge1xuICAkYjogXCIuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMlwiO1xuXG4gICZfX3RpdGxlLWFyZWEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX3RpdGxlIHtcbiAgICB9XG4gICZfX3BhY2thZ2VzLWFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgICAmX19wYWNrYWdlIHtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNDc1KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCIuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZVwiKTtcbiAgICAgICZfX3BhY2thZ2UtY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTkpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgcmVtLWNhbGMoMzkpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAgICZfX3BhY2thZ2UtbnVtYmVyLWFuZC1kZWNvcmF0aXZlLWljb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDkyKTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX3BhY2thZ2UtbnVtYmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgfVxuICAgICAgICAmX19wYWNrYWdlLXRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNyk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fcGFja2FnZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4Nik7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAmX19wYWNrYWdlLXByaWNlIHtcbiAgICAgICAgfVxuICAgICAgJl9fcGFja2FnZS1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICZfX3BhY2thZ2UtYmxvY2stYnV0dG9uLXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX3BhY2thZ2UtYmxvY2stYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYyg1MCk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgICZfX3RpdGxlLWFyZWEge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYyg2MikgMDtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgJl9fcGFja2FnZXMtYXJlYSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICYtLTMtcGFja2FnZXMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fcGFja2FnZSB7XG4gICAgICAgICRnYXA6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAjeyRnYXB9KTtcblxuICAgICAgICAmOm5vdCg6aG92ZXIpIHtcbiAgICAgICAgICAjeyRifV9fcGFja2FnZS1jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fcGFja2FnZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fcGFja2FnZS1udW1iZXItYW5kLWRlY29yYXRpdmUtaWNvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3BhY2thZ2UtdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWVsZW1lbnRzLW9uLWltYWdlLWNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3BhY2thZ2UtcHJpY2Uge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWVsZW1lbnRzLW9uLWltYWdlLWNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9fcGFja2FnZS1jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tZWxlbWVudHMtb24taG92ZXItY29sb3IpO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fcGFja2FnZS1udW1iZXItYW5kLWRlY29yYXRpdmUtaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihoZWlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3BhY2thZ2UtbnVtYmVyIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgJl9fcGFja2FnZS10aXRsZSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3BhY2thZ2UtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGhlaWdodCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3BhY2thZ2UtcHJpY2Uge1xuICAgICAgICAgIH1cbiAgICAgICAgJl9fcGFja2FnZS1saW5rIHtcbiAgICAgICAgfVxuICAgICZfX3BhY2thZ2UtYmxvY2stYnV0dG9uLXdyYXAge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNjMpO1xuICAgIH1cbiAgICAgICZfX3BhY2thZ2UtYmxvY2stYnV0dG9uIHtcbiAgICAgIH1cblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDMwKSAwO1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAmX19wYWNrYWdlcy1hcmVhIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW5cbiAgICB9XG4gICAgICAmX19wYWNrYWdlIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1MDApO1xuICAgICAgICBcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9fcGFja2FnZS1jb250ZW50IHtcbiAgICAgICAgfVxuICAgICAgICAgICZfX3BhY2thZ2UtbnVtYmVyLWFuZC1kZWNvcmF0aXZlLWljb24ge1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3BhY2thZ2UtbnVtYmVyIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICZfX3BhY2thZ2UtdGl0bGUge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19wYWNrYWdlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fcGFja2FnZS1wcmljZSB7XG4gICAgICAgICAgfVxuICAgICAgICAmX19wYWNrYWdlLWxpbmsge1xuICAgICAgICB9XG4gICAgJl9fcGFja2FnZS1ibG9jay1idXR0b24td3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XG4gICAgfVxuICAgICAgJl9fcGFja2FnZS1ibG9jay1idXR0b24ge1xuICAgICAgfVxuXG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stcmVsYXRlZC1pdGVtcyB7XG4gICRiOiBcIi5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc1wiO1xuXG4gICZfX3RpdGxlLWFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX3ByZXRpdGxlIHtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAgICZfX3RpdGxlLWRlY29yYXRpb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOSk7XG5cbiAgICAgIH1cblxuICAmX19pdGVtcyB7XG5cbiAgfVxuICAgICZfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICAgJl9faXRlbS1mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDI5Nyk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgICB9XG4gICAgICAmX19pdGVtLXRleHQtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzNykgcmVtLWNhbGMoNTApO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAgICZfX2l0ZW0tdGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgICAgICAmX19pdGVtLWNhdGVnb3J5IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICAmX190aXRsZS1hcmVhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDc5KTtcbiAgICB9XG4gICAgICAmX19wcmV0aXRsZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcblxuICAgICAgfVxuICAgICAgICAmX190aXRsZS1kZWNvcmF0aW9uIHtcbiAgICAgICAgICAkb2Zmc2V0OiByZW0tY2FsYygzMSk7XG5cbiAgICAgICAgICAmLS1sZWZ0IHtcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgKyAjeyRvZmZzZXR9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlICsgI3skb2Zmc2V0fSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAmX19pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9faXRlbSB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyOTcpO1xuICAgICAgICBtYXJnaW46IDAgcmVtLWNhbGMoMjUuNSk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9faXRlbS1mZWF0dXJlZC1pbWFnZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19pdGVtLXRleHQtYXJlYSB7XG5cbiAgICAgICAgfVxuICAgICAgICAgICZfX2l0ZW0tdGl0bGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2l0ZW0tY2F0ZWdvcnkge1xuXG4gICAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgICAgJl9fcHJldGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG5cbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUtZGVjb3JhdGlvbiB7XG4gICAgICAgICAgJG9mZnNldDogcmVtLWNhbGMoMTApO1xuXG4gICAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICByaWdodDogY2FsYygxMDAlICsgI3skb2Zmc2V0fSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArICN7JG9mZnNldH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgJl9faXRlbXMge1xuXG4gICAgfVxuICAgICAgJl9faXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAgICZfX2l0ZW0tZmVhdHVyZWQtaW1hZ2Uge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9faXRlbS10ZXh0LWFyZWEge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX19pdGVtLXRpdGxlIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19pdGVtLWNhdGVnb3J5IHtcblxuICAgICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1zaGFyZS1hbmQtdGFncyB7XG4gICRiOiBcIi5mbG8tYmxvY2stc2hhcmUtYW5kLXRhZ3NcIjtcblxuICAmX19zaGFyZSB7XG4gIH1cbiAgICAmX19zaGFyZS1sYWJlbCB7XG5cbiAgICB9XG4gICAgJl9fc2hhcmUtbGlua3Mge1xuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgfVxuICAgIH1cblxuICAmX190YWdzIHtcblxuICB9XG4gICAgJl9fdGFnIHtcblxuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy0tdmVydGljYWwgcmVtLWNhbGMoMjIxKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgJl9fc2hhcmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAgICZfX3NoYXJlLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg3NSk7XG4gICAgICB9XG4gICAgICAmX19zaGFyZS1saW5rcyB7XG4gICAgICAgIGEge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAmX190YWdzIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICAgICAmX190YWdzIGEge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNTApO1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLXZlcnRpY2FsICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG5cbiAgICAmX19zaGFyZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgICAgJl9fc2hhcmUtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgICZfX3NoYXJlLWxpbmtzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGEge1xuXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICZfX3RhZ3Mge1xuXG4gICAgfVxuICAgICAgJl9fdGFncyBhIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxNSk7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stc2xpZGVzaG93LTEge1xuICAkYjogXCIuZmxvLWJsb2NrLXNsaWRlc2hvdy0xXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmX19zbGlkZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAgICZfX3NsaWRlIHtcblxuICAgIH1cbiAgICAgICZfX3NsaWRlLWNvbnRlbnQge1xuXG4gICAgICB9XG5cblxuICAmX19jb250ZW50LXdyYXAge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgICAmX19oZWFkZXItYXJlYSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgIHVzZXItc2VsZWN0OiBpbml0aWFsO1xuXG4gICAgICBoZWFkZXI6bm90KC5pcy1zdGlja3kpIHtcbiAgICAgICAgLmZsby1oZWFkZXIge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9faGVhZGVyIHtcblxuICAgICAgfVxuICAgICAgICAmX19oZWFkZXItbWVudSB7XG5cbiAgICAgICAgfVxuXG4gICAgJl9fbWlkZGxlLWFyZWEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg4MCk7XG4gICAgfVxuICAgICAgJl9fYXJyb3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZSgpO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG5cbiAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgIH1cbiAgICAgICAgJi0tcHJldiB7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2xvZ28ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIC8vIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICYtLWlzLWxpZ2h0IHtcbiAgICAgICAgICAjeyRifV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9fbG9nby1pbWFnZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgICAgICAgJi0tZGVmYXVsdCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgfVxuICAgICAgICAgICYtLWxpZ2h0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgQGltcG9ydCBcImZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLWFyZWFcIjtcblxuICAgIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fc2xpZGVzIHtcbiAgICB9XG4gICAgICAmX19zbGlkZSB7XG5cbiAgICAgIH1cbiAgICAgICAgJl9fc2xpZGUtY29udGVudCB7XG5cbiAgICAgICAgfVxuXG4gICAgJl9fY29udGVudC13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgICAgJl9faGVhZGVyLWFyZWEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICB9XG4gICAgICAgICZfX2hlYWRlciB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjkpICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2hlYWRlci1tZW51IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDg5KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAmX19taWRkbGUtYXJlYSB7XG4gICAgICB9XG4gICAgICAgICZfX2Fycm93IHtcblxuICAgICAgICAgICYtLW5leHQge1xuICAgICAgICAgICAgcmlnaHQ6ICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tcHJldiB7XG4gICAgICAgICAgICBsZWZ0OiAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2xvZ28ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2xvZ28taW1hZ2Uge1xuICAgICAgICAgICAgJi0tZGVmYXVsdCB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLWxpZ2h0IHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICZfX2Zvb3Rlci1hcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgLy8gb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICYtLW1vYmlsZS1mcmVlemUge1xuICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgIH1cbiAgICAme1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmX19zbGlkZXMge1xuICAgICAgLy8gcG9zaXRpb246IGZpeGVkO1xuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy8gdG9wOiAwO1xuICAgICAgLy8gbGVmdDogMDtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgfVxuICAgICAgJl9fc2xpZGUge1xuICAgICAgfVxuICAgICAgICAmX19zbGlkZS1jb250ZW50IHtcbiAgICAgICAgfVxuXG4gICAgJl9fY29udGVudC13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4gICAgICAubm90LXN0aWNreXtcbiAgICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fbG9nby0taXMtbGlnaHR7XG4gICAgICAgICAgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1kZWZhdWx0e1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1saWdodHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9faGVhZGVyLWFyZWEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4MCk7XG4gICAgICAgIC5mbG8taGVhZGVyLW1vYmlsZS5ub3Qtc3RpY2t5IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19oZWFkZXItbWVudSB7XG5cbiAgICAgICAgICB9XG5cbiAgICAgICZfX21pZGRsZS1hcmVhIHtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoODApO1xuICAgICAgfVxuICAgICAgICAmX19hcnJvdyB7XG5cbiAgICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLS1wcmV2IHtcbiAgICAgICAgICAgIGxlZnQ6ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2xvZ28ge1xuICAgICAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fbG9nby1pbWFnZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAjeyRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWwgKiA0fSk7XG4gICAgICAgICAgICAmLS1kZWZhdWx0IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tbGlnaHQge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAmX19tb2JpbGUtZml4ZWQtaGVpZ2h0e1xuICAgICAgfVxuICAgICAgICAmX19oZWFkZXItYXJlYXtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAmX19mb290ZXItYXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcbiAgICAgIH1cbiAgfVxufVxuIiwiJl9fZm9vdGVyLWFyZWEge1xuICAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hLFxuICAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iLFxuICAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jLFxuICAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kLFxuXG4gIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWEsXG4gIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWIsXG5cbiAgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYSxcbiAgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYlxuICB7XG4gICAgY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogU1RBUlQ6IEFQUExZIFNIQURPVyBUTyBJTlNUQUdSQU0gSU1BR0VTICovXG4gICAgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2UsXG4gICAgLmltZy1ibG9jayB7XG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDQycHggNXB4IHJnYmEoMCwwLDAsIDAuNCk7XG4gICAgfVxuICAvKiBFTkQ6IEFQUExZIFNIQURPVyBUTyBJTlNUQUdSQU0gSU1BR0VTICovXG59XG5cbiAgLmZsby1ibG9jayB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgJl9fZm9vdGVyLWRlbGltaXRlciB7XG4gIH1cbiAgICAuZmxvLWJsb2NrLWRlbGltaXRlci0xX19kZWxpbWl0ZXItbGluZSB7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICB9XG4gICAgLmZsby1ibG9jay1kZWxpbWl0ZXItMV9fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuXG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAmX19mb290ZXIge1xuICB9XG5cbiAgICAvKiBTVEFSVDogTElOSyBTVFlMRSAqL1xuICAgICAgJl9fbGluayB7XG4gICAgICAgICYtLXN0eWxlLWJ1dHRvbiB7XG4gICAgICAgICAgQGV4dGVuZCAuZmxvLWJ1dHRvbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IsIGJvcmRlci1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgJi0tc3R5bGUtbGluayB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgLyogRU5EOiBMSU5LIFNUWUxFICovXG5cbiAgICAmX19mb290ZXItbGVmdC1zaWRlLFxuICAgICZfX2Zvb3Rlci1taWRkbGUtYXJlYSxcbiAgICAmX19mb290ZXItcmlnaHQtc2lkZVxuICAgIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgICZfX2Zvb3Rlci1sZWZ0LXNpZGUge1xuXG4gICAgfVxuICAgICAgJl9fZm9vdGVyLWxlZnQtc2lkZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICAgICAgfVxuICAgICAgJl9fZm9vdGVyLWxlZnQtc2lkZS10ZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNyk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgIH1cbiAgICAgICZfX2Zvb3Rlci1sZWZ0LXNpZGUtbGluayB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgJl9fZm9vdGVyLW1pZGRsZS1hcmVhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgICAmX19mb290ZXItbWlkZGxlLWFyZWEtc2xpZGUtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI3KTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTQpO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICB9XG4gICAgICAmX19mb290ZXItbWlkZGxlLWFyZWEtc2xpZGUtdGl0bGUtZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjEhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW0haW1wb3J0YW50O1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICB9XG5cbiAgICAgICZfX2Zvb3Rlci1taWRkbGUtYXJlYS1zbGlkZS1zdWJ0aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzgpO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICB9XG4gICAgICAmX19mb290ZXItbWlkZGxlLWFyZWEtc2xpZGUtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcblxuICAgICAgICAmLFxuICAgICAgICAmLmhpZGRlbiB7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAmLnZpc2libGUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2Zvb3Rlci1taWRkbGUtYXJlYS1zY3JvbGxkb3duIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygtMzMuNSk7XG5cbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuXG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgIH1cblxuICAgICZfX2Zvb3Rlci1yaWdodC1zaWRlIHtcblxuICAgIH1cbiAgICAgICZfX2Zvb3Rlci1yaWdodC1zaWRlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICB9XG4gICAgICAmX19mb290ZXItcmlnaHQtc2lkZS10ZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNyk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgIH1cbiAgICAgICZfX2Zvb3Rlci1yaWdodC1zaWRlLWxpbmsge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgIH1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgJl9fZm9vdGVyLWFyZWEge1xuICB9XG4gICAgJl9fZm9vdGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDc5KTtcbiAgICB9XG4gICAgICAmX19mb290ZXItZGVsaW1pdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDY4KTtcbiAgICAgIH1cblxuICAgICAgJl9fZm9vdGVyLWxlZnQtc2lkZSxcbiAgICAgICZfX2Zvb3Rlci1taWRkbGUtYXJlYSxcbiAgICAgICZfX2Zvb3Rlci1yaWdodC1zaWRlXG4gICAgICB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgfVxuICAgICAgJl9fZm9vdGVyLWxlZnQtc2lkZSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KSByZW0tY2FsYyg2NikgcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDM2KTtcblxuICAgICAgICB3aWR0aDogMjklO1xuICAgICAgfVxuICAgICAgICAmX19mb290ZXItbGVmdC1zaWRlLXRpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2Zvb3Rlci1sZWZ0LXNpZGUtdGV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19mb290ZXItbGVmdC1zaWRlLWxpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgJl9fZm9vdGVyLW1pZGRsZS1hcmVhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogNDIlO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgcmVtLWNhbGMoNjYpO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyXG4gICAgICAgIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygxNzgpO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuXG4gICAgICB9XG4gICAgICAgICYtLW1pZGRsZS1hcmVhLWhhcy1uby1ib3JkZXJzIHtcbiAgICAgICAgICAjeyRifV9fZm9vdGVyLWxlZnQtc2lkZSxcbiAgICAgICAgICAjeyRifV9fZm9vdGVyLXJpZ2h0LXNpZGUge1xuICAgICAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX2Zvb3Rlci1taWRkbGUtYXJlYSB7XG4gICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fZm9vdGVyLW1pZGRsZS1hcmVhLXNsaWRlLXRpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2Zvb3Rlci1taWRkbGUtYXJlYS1zbGlkZS1zdWJ0aXRsZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19mb290ZXItbWlkZGxlLWFyZWEtc2xpZGUtbGluayB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZSh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICAmX19mb290ZXItbWlkZGxlLWFyZWEtc2Nyb2xsZG93biB7XG5cbiAgICAgICAgfVxuXG4gICAgICAmX19mb290ZXItcmlnaHQtc2lkZSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KSByZW0tY2FsYygzNikgcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDY2KTtcbiAgICAgICAgd2lkdGg6IDI5JTtcbiAgICAgIH1cbiAgICAgICAgJl9fZm9vdGVyLXJpZ2h0LXNpZGUtdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fZm9vdGVyLXJpZ2h0LXNpZGUtdGV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19mb290ZXItcmlnaHQtc2lkZS1saW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlKHRydWUpO1xuICAgICAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAmX19mb290ZXItYXJlYSB7XG4gIH1cbiAgICAmX19mb290ZXItZGVsaW1pdGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgJl9fZm9vdGVyIHtcblxuICAgIH1cbiAgICAgICZfX2Zvb3Rlci1sZWZ0LXNpZGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgICAgfVxuICAgICAgICAmX19mb290ZXItbGVmdC1zaWRlLXRpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2Zvb3Rlci1sZWZ0LXNpZGUtdGV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19mb290ZXItbGVmdC1zaWRlLWxpbmsge1xuXG4gICAgICAgIH1cblxuICAgICAgJl9fZm9vdGVyLW1pZGRsZS1hcmVhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgICAgfVxuICAgICAgICAmX19mb290ZXItbWlkZGxlLWFyZWEtc2xpZGUtdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fZm9vdGVyLW1pZGRsZS1hcmVhLXNsaWRlLXN1YnRpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2Zvb3Rlci1taWRkbGUtYXJlYS1zbGlkZS1saW5rIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2Zvb3Rlci1taWRkbGUtYXJlYS1zY3JvbGxkb3duIHtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMzUpfSk7XG4gICAgICAgIH1cblxuICAgICAgJl9fZm9vdGVyLXJpZ2h0LXNpZGUge1xuXG4gICAgICB9XG4gICAgICAgICZfX2Zvb3Rlci1yaWdodC1zaWRlLXRpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2Zvb3Rlci1yaWdodC1zaWRlLXRleHQge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fZm9vdGVyLXJpZ2h0LXNpZGUtbGluayB7XG5cbiAgICAgICAgfVxufVxuIiwiLmZsby1ibG9jay1zbGlkZXNob3ctMiB7XG4gICRiOiBcIi5mbG8tYmxvY2stc2xpZGVzaG93LTJcIjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICZfX3NsaWRlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gICAgJl9fc2xpZGUge1xuXG4gICAgfVxuXG4gICZfX2NvbnRlbnQtd3JhcCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAmID4gKiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICB9XG4gIH1cbiAgICAmX19hcnJvdyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlKCk7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG5cbiAgICAgICYtLW5leHQge1xuICAgICAgfVxuICAgICAgJi0tcHJldiB7XG4gICAgICB9XG4gICAgfVxuICAgICZfX2hlYWRlci1hcmVhIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgdXNlci1zZWxlY3Q6IGluaXRpYWw7XG5cbiAgICAgIGhlYWRlcjpub3QoLmlzLXN0aWNreSkge1xuICAgICAgICAuZmxvLWhlYWRlciB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAvLyBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgJi0taXMtbGlnaHQge1xuICAgICAgICAjeyRifV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAjeyRifV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgICAgICZfX2xvZ28taW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgICAgICYtLWRlZmF1bHQge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAmLS1saWdodCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAmX19tZW51LXdyYXAge1xuXG4gICAgfVxuICAgICAgJl9fbWVudSB7XG5cbiAgICAgIH1cblxuICAgICZfX3Njcm9sbC1kb3duLWFyZWEge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4Nyk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgfVxuICAgICAgJl9fc2Nyb2xsLWRvd24tYXJlYS1pY29uIHtcblxuICAgICAgfVxuICAgICAgJl9fc2Nyb2xsLWRvd24tYXJlYS1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQ0KTtcbiAgICAgIH1cblxuICAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbiB7XG4gICAgYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgdG9wOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX19zbGlkZXMge1xuXG4gICAgfVxuICAgICAgJl9fc2xpZGUge1xuXG4gICAgICB9XG5cbiAgICAmX19jb250ZW50LXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgICAmX19hcnJvdyB7XG5cbiAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgcmlnaHQ6ICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICB9XG4gICAgICAgICYtLXByZXYge1xuICAgICAgICAgIGxlZnQ6ICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2hlYWRlci1hcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgfVxuICAgICAgICAmLS1oZWFkZXItbWVudS1pdGVtcy1oaWRkZW4ge1xuICAgICAgICAgIC5mbG8taGVhZGVyIC5tZW51IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0taGVhZGVyLWxvZ28taGlkZGVuIHtcbiAgICAgICAgICAuZmxvLWhlYWRlcl9fbG9nbyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgJl9fbG9nbyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgfVxuICAgICAgICAmX19sb2dvLWltYWdlIHtcbiAgICAgICAgICAmLS1kZWZhdWx0IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmLS1saWdodCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgJl9fbWVudS13cmFwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgIH1cbiAgICAgICAgJl9fbWVudSB7XG4gICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTcxKTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICZfX3Njcm9sbC1kb3duLWFyZWEge1xuXG4gICAgICB9XG4gICAgICAgICZfX3Njcm9sbC1kb3duLWFyZWEtaWNvbiB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19zY3JvbGwtZG93bi1hcmVhLWxhYmVsIHtcblxuICAgICAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIC8vIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgJi0tbW9iaWxlLWZyZWV6ZSB7XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgfVxuICAgICZfX2xvZ28tLWlzLWxpZ2h0IC5mbG8taGVhZGVyLW1vYmlsZXtcbiAgICAgIG9wYWNpdHk6MSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmX19sb2dvLS1pcy1saWdodCAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28taW1hZ2UtLWRlZmF1bHR7XG4gICAgICBvcGFjaXR5OjA7XG4gICAgfVxuICAgICZfX3NsaWRlcyB7XG4gICAgICAvLyBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAvLyB0b3A6IDA7XG4gICAgICAvLyBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICB9XG4gICAgJl9fYXJyb3cge1xuXG4gICAgICAmLS1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgIH1cbiAgICAgICYtLXByZXYge1xuICAgICAgICBsZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fc2xpZGUge1xuXG4gICAgICB9XG5cbiAgICAmX19jb250ZW50LXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIC8vcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy96LWluZGV4OiAxO1xuICAgICAgb3ZlcmZsb3c6c2Nyb2xsO1xuICAgICAgLy9wYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4gICAgICAvL21pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOjA7XG4gICAgICBsZWZ0OjA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgfVxuICAgICAgJl9faGVhZGVyLWFyZWEge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgICAgICAuZmxvLWhlYWRlci1tb2JpbGUubm90LXN0aWNreSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX21vYmlsZS1oZWFkZXItbWVudS1oaWRkZW4ge1xuICAgICAgICAuZmxvLWhlYWRlci1tb2JpbGUgLmZsby1oZWFkZXItbW9iaWxlX19tZW51LXRyaWdnZXIge1xuICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fbW9iaWxlLWhlYWRlci1sb2dvLWhpZGRlbiB7XG4gICAgICAgIC5mbG8taGVhZGVyLW1vYmlsZSAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28ge1xuICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fbG9nbyB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAgICAgbWFyZ2luOmF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fbG9nby1pbWFnZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gI3skZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsICogNH0pO1xuXG4gICAgICAgICAgJi0tZGVmYXVsdCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tbGlnaHQge1xuXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICZfX21lbnUtd3JhcCB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgfVxuICAgICAgICAmX19tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgJiA+IGxpID4gdWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSkgMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNoaWxkcmVuLXZpc2libGUge1xuICAgICAgICAgICAgJiA+ICN7JGJ9X19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fbWVudS1kcm9wZG93bi10b2dnbGUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCkgMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odHJhbnNmb3JtKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAwO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAmX19zY3JvbGwtZG93bi1hcmVhIHtcblxuICAgICAgfVxuICAgICAgICAmX19zY3JvbGwtZG93bi1hcmVhLWljb24ge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fc2Nyb2xsLWRvd24tYXJlYS1sYWJlbCB7XG5cbiAgICAgICAgfVxuXG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stc2xpZGVzaG93LTMge1xuICAkYjogXCIuZmxvLWJsb2NrLXNsaWRlc2hvdy0zXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmX19zbGlkZXMge1xuXG4gIH1cblxuICAmX19jb250ZW50LXdyYXAge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICYgPiAqIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gICAgJl9faGVhZGVyLWFyZWEge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICB1c2VyLXNlbGVjdDogaW5pdGlhbDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBoZWFkZXI6bm90KC5pcy1zdGlja3kpIHtcbiAgICAgICAgLmZsby1oZWFkZXIge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlLWFyZWEge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG4gICAgICAmX190aXRsZS1hcmVhLXRpdGxlLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICAgICAgICZfX3RpdGxlLWFyZWEtdGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZS1hcmVhLXRpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjEhaW1wb3J0YW50O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdG9wOiBjYWxjKDUwJSArIDAuMWVtKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMWVtIWltcG9ydGFudDtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgIH1cbiAgICAgICZfX3RpdGxlLWFyZWEtc3VidGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMTApfSk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlLWFyZWEtYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxOS4zNzV2aCk7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihhbGwpO1xuXG4gICAgICAgICYsXG4gICAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgICYudmlzaWJsZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgJl9fYXJyb3dzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgICAgJl9fYXJyb3cge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHksIGNvbG9yKTtcblxuICAgICAgICBvcGFjaXR5OiAwLjI4O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcHJldiB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1uZXh0IHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19zY3JvbGwtZG93bi1hcmVhIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDg3KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZTtcbiAgICAgIH1cbiAgICAgICAgJl9fc2Nyb2xsLWRvd24tYXJlYS1pY29uIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX3Njcm9sbC1kb3duLWFyZWEtbGFiZWwge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQ0KTtcbiAgICAgICAgfVxuXG4gIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgICBib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICB0b3A6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX3NsaWRlcyB7XG5cbiAgICB9XG5cbiAgICAmX19jb250ZW50LXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgICAmLS1oZWFkZXItcG9zaXRpb24tYm90dG9tIHtcbiAgICAgICAgI3skYn1fX2NvbnRlbnQtd3JhcCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgICAgICAjeyRifV9fc2Nyb2xsLWRvd24tYXJlYSB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX2hlYWRlci1hcmVhIHtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgICAgICBoZWFkZXI6bm90KC5pcy1zdGlja3kpIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaSA+IHVsIHtcbiAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSArIDEuNXJlbSk7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0b3A6MTAwJTtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgICZfX2hlYWRlci1hcmVhIHtcbiAgICAgICAgLmZsby1oZWFkZXIge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fdGl0bGUtYXJlYSB7XG5cbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUtYXJlYS10aXRsZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZS1hcmVhLXRpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlLWFyZWEtc3VidGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUtYXJlYS1idXR0b24ge1xuXG4gICAgICAgIH1cblxuICAgICAgJl9fYXJyb3dzIHtcbiAgICAgICAgcGFkZGluZzogMCAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICB9XG4gICAgICAgICZfX2Fycm93IHtcblxuICAgICAgICAgICYtLXByZXYge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICYtLW5leHQge1xuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgJl9fbG9nby0taXMtbGlnaHQgLmZsby1oZWFkZXItbW9iaWxle1xuICAgICAgb3BhY2l0eToxICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICZfX2xvZ28tLWlzLWxpZ2h0IC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdHtcbiAgICAgIG9wYWNpdHk6MDtcbiAgICB9XG4gICAgJl9fc2xpZGVzIHtcbiAgICAgIC8vIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIC8vIHRvcDogMDtcbiAgICAgIC8vIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDowO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDApO1xuICAgIH1cblxuICAgICAgJl9faGVhZGVyLWFyZWEge1xuICAgICAgICAuZmxvLWhlYWRlci1tb2JpbGUubm90LXN0aWNreSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAmX190aXRsZS1hcmVhIHtcbiAgICAgICAgdG9wOiA0MCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgICAmX190aXRsZS1hcmVhLXRpdGxlIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsKjV9KTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZS1hcmVhLXRpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlLWFyZWEtc3VidGl0bGUge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWwqNX0pO1xuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlLWFyZWEtYnV0dG9uIHtcblxuICAgICAgICB9XG5cbiAgICAgICZfX2Fycm93cyB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAgIH1cbiAgICAgICAgJl9fYXJyb3cge1xuXG4gICAgICAgICAgJi0tcHJldiB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tbmV4dCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1zbGlkZXNob3ctNCB7XG4gICRiOiBcIi5mbG8tYmxvY2stc2xpZGVzaG93LTRcIjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYtLWxheW91dC1iIHtcbiAgICAjeyRifV9fY291bnRlcixcbiAgICAjeyRifV9fYXJyb3cge1xuICAgICAgLy8gbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRleHQtc2hhZG93OiAwcHggMHB4IDEwcHggYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgJl9fc2xpZGVzIHtcblxuICB9XG5cbiAgJl9fYXJyb3dzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAgICZfX2Fycm93IHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSwgY29sb3IpO1xuXG4gICAgICBvcGFjaXR5OiAwLjI4O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgICYtLXByZXYge1xuXG4gICAgICB9XG4gICAgICAmLS1uZXh0IHtcblxuICAgICAgfVxuICAgIH1cblxuICAmX19jb3VudGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBib3R0b206IHJlbS1jYWxjKDQ4KTtcbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gIH1cbiAgICAmX19jb3VudGVyLWluZGV4IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMC42ZW07XG4gICAgICByaWdodDogMTAwJTtcbiAgICB9XG4gICAgJl9fY291bnRlci1zbGFzaCB7XG5cbiAgICB9XG4gICAgJl9fY291bnRlci1jb3VudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuNmVtO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX19zbGlkZXMge1xuXG4gICAgfVxuICAgICZfX2Fycm93cyB7XG4gICAgICBwYWRkaW5nOiAwICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgICB9XG4gICAgICAmX19hcnJvdyB7XG5cbiAgICAgICAgJi0tcHJldiB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1uZXh0IHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgJl9fY291bnRlciB7XG5cbiAgICB9XG4gICAgICAmX19jb3VudGVyLWluZGV4IHtcblxuICAgICAgfVxuICAgICAgJl9fY291bnRlci1zbGFzaCB7XG5cbiAgICAgIH1cbiAgICAgICZfX2NvdW50ZXItY291bnQge1xuXG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19zbGlkZXMge1xuICAgIH1cblxuICAgICZfX2Fycm93cyB7XG4gICAgICBwYWRkaW5nOiAwICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgfVxuICAgICAgJl9fYXJyb3cge1xuXG4gICAgICAgICYtLXByZXYge1xuXG4gICAgICAgIH1cbiAgICAgICAgJi0tbmV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgICZfX2NvdW50ZXIge1xuXG4gICAgfVxuICAgICAgJl9fY291bnRlci1pbmRleCB7XG5cbiAgICAgIH1cbiAgICAgICZfX2NvdW50ZXItc2xhc2gge1xuXG4gICAgICB9XG4gICAgICAmX19jb3VudGVyLWNvdW50IHtcblxuICAgICAgfVxuXG4gICAgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stc29jaWFsLWxpbmtzIHtcbiAgJGI6IFwiLmZsby1ibG9jay1zb2NpYWwtbGlua3NcIjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNyk7XG4gIH1cbiAgJl9fc29jaWFsLWxpbmtzIHtcbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDUuNSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX190aXRsZSB7XG5cbiAgICB9XG4gICAgJl9fc29jaWFsLWxpbmtzIHtcblxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX3RpdGxlIHtcblxuICAgIH1cbiAgICAmX19zb2NpYWwtbGlua3Mge1xuXG4gICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xIHtcbiAgJGI6IFwiLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMVwiO1xuXG4gICZfX3Rlc3RpbW9uaWFscy0xLXdyYXAge1xuICB9XG4gICAgJl9fdGVzdGltb25pYWxfc2xpZGUge1xuICAgIH1cbiAgICAgICZfX3Rlc3RpbW9uaWFsLWltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgIH1cbiAgICAgICZfX3Rlc3RpbW9uaWFsLXRleHQtYXJlYSB7XG4gICAgICB9XG4gICAgICAgICZfX3Rlc3RpbW9uaWFsLWNvdW50ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIC8gXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDExLjUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX190ZXN0aW1vbmlhbC10ZXh0IHtcbiAgICAgICAgICAmIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19hcnJvd3Mge1xuICAgICAgICB9XG4gICAgICAgICAgJl9fYXJyb3cge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuICAgICAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNzApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBwYWRkaW5nOiAwICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICZfX3Rlc3RpbW9uaWFscy1zbGlkZXIge1xuICAgIH1cbiAgICAgICZfX3Rlc3RpbW9uaWFsX3NsaWRlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXghaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuICAgICAgICAmX190ZXN0aW1vbmlhbC1pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDYzMCk7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MjEpO1xuICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB9XG4gICAgICAgICZfX3Rlc3RpbW9uaWFsLXRleHQtYXJlYSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTYpIDAgcmVtLWNhbGMoNTcpIHJlbS1jYWxjKDc1KTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fdGVzdGltb25pYWwtY291bnRlciB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3Rlc3RpbW9uaWFsLXRleHQge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2Fycm93cyB7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYXJyb3cge1xuICAgICAgICAgICAgICAmLS1sZWZ0IHtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX3Rlc3RpbW9uaWFscy0xLXNsaWRlciB7XG4gICAgfVxuICAgICAgJl9fdGVzdGltb25pYWxfc2xpZGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAgICZfX3Rlc3RpbW9uaWFsLWltYWdlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIxMCk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgICZfX3Rlc3RpbW9uaWFsLXRleHQtYXJlYSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fdGVzdGltb25pYWwtY291bnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3Rlc3RpbW9uaWFsLXRleHQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19hcnJvd3Mge1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2Fycm93IHtcbiAgICAgICAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stdGV4dC1ibG9jay0xIHtcbiAgJGI6IFwiLmZsby1ibG9jay10ZXh0LWJsb2NrLTFcIjtcblxuICAmX190ZXh0LXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fdGV4dC13cmFwIHtcbiAgICAgIG1heC13aWR0aDogNDB2dztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX190ZXh0LXdyYXAge1xuICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay10ZXh0LWJsb2NrLTIge1xuICAkYjogXCIuZmxvLWJsb2NrLXRleHQtYmxvY2stMlwiO1xuICBkaXNwbGF5OiBmbGV4O1xuICAmX19pbWFnZSB7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAmLS1pbWFnZS1wb3NpdGlvbi1sZWZ0IHtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgICAmLS1pbWFnZS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG4gIH1cbiAgJl9fdGV4dC13cmFwIHtcbiAgfVxuICAgICZfX3RleHQtcGFyYWdyYXBoIHtcbiAgICB9XG4gICAgJl9fYm90dG9tLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICRibG9jay1wYWRkaW5nOiAkZ2xvYmFsLWNvbHVtbi13aWR0aCArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgIHBhZGRpbmc6IDAgJGJsb2NrLXBhZGRpbmc7XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDU4MSk7XG4gICAgICB3aWR0aDogKCRnbG9iYWwtY29sdW1uLXdpZHRoICogMykgKyAoJGdsb2JhbC1ndXR0ZXItd2lkdGggKiA0KTtcbiAgICAgICYtLWltYWdlLXBvc2l0aW9uLWxlZnQge1xuICAgICAgfVxuICAgIH1cbiAgICAmX190ZXh0LXdyYXAge1xuICAgICAgd2lkdGg6ICgkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDQpICsgKCRnbG9iYWwtZ3V0dGVyLXdpZHRoICogNSk7XG5cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICYtLWltYWdlLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1ndXR0ZXItd2lkdGg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDgwKTtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG4gICAgICAmLS1pbWFnZS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDgwKTtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2OSk7XG4gICAgICB9XG4gICAgICAmX190ZXh0LXBhcmFncmFwaCB7XG4gICAgICB9XG4gICAgICAmX19ib3R0b20tbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg5MCk7XG4gICAgICAgICYtLWltYWdlLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICAgIGxlZnQ6ICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgICAgICB9XG4gICAgICAgICYtLWltYWdlLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYyg4MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgJl9faW1hZ2Uge1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzUwKTtcblxuICAgICAgJi0taW1hZ2UtcG9zaXRpb24tbGVmdCB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAmLS1pbWFnZS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgICB9XG4gICAgfVxuICAgICZfX3RleHQtd3JhcCB7XG5cbiAgICAgICYtLWltYWdlLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cbiAgICAgICYtLWltYWdlLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICB9XG4gICAgICAmX190ZXh0LXBhcmFncmFwaCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzOCk7XG4gICAgICB9XG4gICAgICAmX19ib3R0b20tbGFiZWwge1xuXG4gICAgICAgICYtLWltYWdlLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICB9XG4gICAgICAgICYtLWltYWdlLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgfVxuICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLXRleHQtYmxvY2stMyB7XG4gICRiOiBcIi5mbG8tYmxvY2stdGV4dC1ibG9jay0zXCI7XG5cbiAgJl9faW1hZ2Uge1xuICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gIH1cbiAgJl9fcG9zdC10ZXh0IHtcbiAgfVxuICAgICZfX3Bvc3QtdGl0bGUge1xuICAgIH1cbiAgICAmX19wb3N0LXN1YnRpdGxlIHtcbiAgICB9XG4gICAgJl9fcG9zdC1wYXJhZ3JhcGgge1xuICAgIH1cbiAgICAmX19wb3N0LWxpbmsge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTMpO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyNyk7XG4gICAgICB9XG4gICAgfVxuICAmX19saW5rLWFyZWEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX2xpbmstcHJldGl0bGUge1xuICAgIH1cbiAgICAmX19saW5rLXRpdGxlIHtcbiAgICB9XG4gICAgJl9fbGluay1kZWxpbWl0ZXIge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMxKTtcbiAgICB9XG4gICAgJl9fbGluay1zdWJ0aXRsZSB7XG4gICAgfVxuICAgICZfX2xpbmstYnV0dG9uIHtcbiAgICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcGFkZGluZzogICRnbG9iYWwtcGFkZGluZy0tdmVydGljYWwgcmVtLWNhbGMoMjIyKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgICZfX2ltYWdlIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygyMzEpO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDcpO1xuICAgIH1cbiAgICAmX19wb3N0LXRleHQge1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDQ2Myk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygzMykgcmVtLWNhbGMoODQpIHJlbS1jYWxjKDQ3KSByZW0tY2FsYyg4MCk7XG4gICAgfVxuICAgICAgJl9fcG9zdC10aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19wb3N0LXN1YnRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDI5KTtcbiAgICAgIH1cbiAgICAgICZfX3Bvc3QtcGFyYWdyYXBoIHtcbiAgICAgICAgJiA+IHA6bGFzdC1jaGlsZHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3Bvc3QtbGluayB7XG4gICAgICB9XG4gICAgJl9fbGluay1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMzKSAwIHJlbS1jYWxjKDM2KSByZW0tY2FsYygxMDkpO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgIH1cbiAgICAgICZfX2xpbmstcHJldGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX19saW5rLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstZGVsaW1pdGVyIHtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstc3VidGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgfVxuICAgICAgJl9fbGluay1idXR0b24ge1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0tdmVydGljYWwgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAmX19pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzA3KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgJl9fcG9zdC10ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgICAmX19wb3N0LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgICAgJl9fcG9zdC1zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICAgICZfX3Bvc3QtcGFyYWdyYXBoIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgICAgJl9fcG9zdC1saW5rIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgJl9fbGluay1hcmVhIHtcbiAgICB9XG4gICAgICAmX19saW5rLXByZXRpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMClcbiAgICAgIH1cbiAgICAgICZfX2xpbmstZGVsaW1pdGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgICAgJl9fbGluay1zdWJ0aXRsZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAmX19saW5rLWJ1dHRvbiB7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stdGV4dC1ibG9jay00IHtcbiAgJGI6IFwiLmZsby1ibG9jay10ZXh0LWJsb2NrLTRcIjtcblxuICAmX19lbGVtZW50cy13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICZfX2J1dHRvbiB7XG4gICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICRibG9jay1wYWRkaW5nOiAoJGdsb2JhbC1jb2x1bW4td2lkdGggKiAyKSArICgkZ2xvYmFsLWd1dHRlci13aWR0aCAqIDIpO1xuICAgIHBhZGRpbmc6IDAgJGJsb2NrLXBhZGRpbmc7XG4gICAgJl9fZWxlbWVudHMtd3JhcCB7XG4gICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDUpO1xuICAgICAgfVxuICAgICAgJl9fYnV0dG9uIHtcbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX2VsZW1lbnRzLXdyYXAge1xuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgIH1cbiAgICAgICZfX2J1dHRvbiB7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stdGV4dC1ibG9jay01IHtcbiAgJGI6IFwiLmZsby1ibG9jay10ZXh0LWJsb2NrLTVcIjtcbiAgXG4gICZfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgXG4gICZfX2RlbGltaXRlciB7XG4gICAgbWFyZ2luOiAwIGF1dG8gcmVtLWNhbGMoNDApIGF1dG87XG4gICAgaGVpZ2h0OiAxcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX3RleHQtd3JhcCB7XG4gICAgICBtYXgtd2lkdGg6IDQwdnc7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdGV4dC13cmFwIHtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stdGl0bGUtMSB7XG4gICRiOiBcIi5mbG8tYmxvY2stdGl0bGUtMVwiO1xuXG4gICZfX2VsZW1lbnRzLXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgIH1cbiAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICB9XG4gICAgJl9fc3VidGl0bGUge1xuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX2VsZW1lbnRzLXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6ICgkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDYpICsgKCRnbG9iYWwtZ3V0dGVyLXdpZHRoICogNik7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1OCk7XG4gICAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTQwJSk7XG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX2VsZW1lbnRzLXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC00MCUpO1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLXRpdGxlLTIge1xuICAkYjogXCIuZmxvLWJsb2NrLXRpdGxlLTJcIjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAmX19wcmUtdGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxOCk7XG4gIH1cbiAgJl9fdGl0bGUge1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcGFkZGluZzogMCAkZ2xvYmFsLWNvbHVtbi13aWR0aCArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgICZfX3ByZS10aXRsZSB7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1jb2x1bW4td2lkdGggKyAkZ2xvYmFsLWd1dHRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19wcmUtdGl0bGUge1xuICAgICAgd2lkdGg6IDYwdnc7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stdGl0bGUtMyB7XG4gICRiOiBcIi5mbG8tYmxvY2stdGl0bGUtM1wiO1xuXG4gICZfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICRibG9ja19wYWRkaW5nOiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDIgKyAkZ2xvYmFsLWd1dHRlci13aWR0aCAqIDE7XG4gICAgcGFkZGluZzogMCAkYmxvY2tfcGFkZGluZztcbiAgICAmX190aXRsZSB7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdGl0bGUge1xuICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay10aXRsZS00IHtcbiAgJGI6IFwiLmZsby1ibG9jay10aXRsZS00XCI7XG5cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICZfX3RpdGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNyk7XG4gIH1cbiAgJl9fc3VidGl0bGUge1xuICB9XG4gICAgJl9fcXVvdGUge1xuICAgICAgJi0tbGVmdCB7XG4gICAgICB9XG4gICAgICAmLS1yaWdodCB7XG4gICAgICB9XG4gICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1jb2x1bW4td2lkdGggKyAkZ2xvYmFsLWd1dHRlci13aWR0aDtcbiAgICBcbiAgICAmX190aXRsZSB7XG4gICAgfVxuICAgICZfX3N1YnRpdGxlIHtcbiAgICB9XG4gICAgICAmX19xdW90ZSB7XG4gICAgICAgICYtLWxlZnQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjEpO1xuICAgICAgICB9XG4gICAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjEpO1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICAgICZfX3RpdGxlIHtcbiAgICB9XG4gICAgJl9fc3VidGl0bGUge1xuICAgIH1cbiAgICAgICZfX3F1b3RlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICYtLWxlZnQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgfVxuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjEpO1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stdmVuZG9ycyB7XG4gICRiOiBcIi5mbG8tYmxvY2stdmVuZG9yc1wiO1xuXG4gICZfX3RpdGxlIHtcblxuICB9XG4gICZfX2xpc3Qge1xuXG4gIH1cbiAgICAmX192ZW5kb3Ige1xuXG4gICAgfVxuICAgICAgJl9fdmVuZG9yLXRpdGxlIHtcblxuICAgICAgfVxuICAgICAgJl9fdmVuZG9yLWluZm9ybWF0aW9uIHtcblxuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICZfX3RpdGxlIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxODMpO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgJl9fbGlzdCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDcyKTtcbiAgICB9XG4gICAgICAmX192ZW5kb3Ige1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4gICAgICB9XG4gICAgICAgICZfX3ZlbmRvci10aXRsZSB7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEyOSk7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgfVxuICAgICAgICAmX192ZW5kb3ItaW5mb3JtYXRpb24ge1xuXG4gICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgJl9fbGlzdCB7XG5cbiAgICB9XG4gICAgICAmX192ZW5kb3Ige1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4KTtcbiAgICAgIH1cbiAgICAgICAgJl9fdmVuZG9yLXRpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX192ZW5kb3ItaW5mb3JtYXRpb24ge1xuXG4gICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay12aWRlby1ibG9jay0xIHtcbiAgJGI6IFwiLmZsby1ibG9jay12aWRlby1ibG9jay0xXCI7XG5cbiAgJl9faW1hZ2Utd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICB9XG4gICAgJl9fdGV4dC1lbGVtZW50cy13cmFwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJGJsb2NrX3BhZGRpbmc6ICRnbG9iYWwtY29sdW1uLXdpZHRoICsgJGdsb2JhbC1ndXR0ZXItd2lkdGg7XG4gICAgcGFkZGluZzogMCAkYmxvY2tfcGFkZGluZztcbiAgICAmX19pbWFnZS13cmFwIHtcbiAgICB9XG4gICAgICAuZmxvLXZpZGVvLWVtYmVkOm5vdCguZmxvLXZpZGVvLWVtYmVkLS1sb2FkZWQpIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbiB7XG5cbiAgICAgIH1cbiAgICAgICZfX3RleHQtZWxlbWVudHMtd3JhcCB7XG4gICAgICAgICR3aWR0aDogKCRnbG9iYWwtY29sdW1uLXdpZHRoICogNCkgKyAoJGdsb2JhbC1ndXR0ZXItd2lkdGggKiA0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzMpO1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMxKTtcbiAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgfVxuICAgICAgJl9fdGV4dC1lbGVtZW50cy13cmFwIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICB9XG4gICAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgfVxuICBAaW5jbHVkZSBmbG8tcmVzcG9uc2l2ZS1pbWFnZS1iZyhcIiZfX2ltYWdlLXdyYXBcIik7XG59XG4iLCIuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTIge1xuICAkYjogXCIuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTJcIjtcblxuICAmX19pbWFnZS13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICB9XG4gICAgJl9fdGV4dC1lbGVtZW50cy13cmFwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19wYXJhZ3JhcGgtdGV4dCB7XG4gICAgICB9XG4gICAgICAmX19idXR0b24ge1xuICAgICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX2ltYWdlLXdyYXAge1xuICAgIH1cbiAgICAgIC5mbG8tdmlkZW8tZW1iZWQ6bm90KC5mbG8tdmlkZW8tZW1iZWQtLWxvYWRlZCkgLmZsby12aWRlby1lbWJlZF9fdmlkZW8tYnV0dG9uIHtcbiAgICAgICAgdG9wOiByZW0tY2FsYygzMTQpO1xuICAgICAgfVxuICAgICAgJl9fdGV4dC1lbGVtZW50cy13cmFwIHtcbiAgICAgICAgJHdpZHRoOiAoJGdsb2JhbC1jb2x1bW4td2lkdGggKiA0KSArICgkZ2xvYmFsLWd1dHRlci13aWR0aCAqIDQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMjcpO1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgICAmLS1kZXNrdG9wLWNvcnJlY3Rpb24gIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzEpO1xuICAgICAgICB9XG4gICAgICAgICZfX3BhcmFncmFwaC10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0OClcbiAgICAgICAgfVxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19pbWFnZS13cmFwIHtcbiAgICB9XG4gICAgICAmX190ZXh0LWVsZW1lbnRzLXdyYXAge1xuICAgICAgICAmLS1tb2JpbGUtY29ycmVjdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgICAmX19wYXJhZ3JhcGgtdGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCImX19pbWFnZS13cmFwXCIpO1xufVxuIiwiLmZsby1jb21tZW50cyB7XG4gICRiOiBcIi5mbG8tY29tbWVudHNcIjtcblxuICAvKiBTVEFSVDogVE9QIEFSRUEgKi9cbiAgICAmX190b3AtYXJlYSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTcpO1xuICAgIH1cbiAgICAgICZfX2NvbW1lbnRzLWNvdW50IHtcblxuICAgICAgfVxuICAgICAgJl9fc2hhcmluZy1vcHRpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXJcbiAgICAgIH1cbiAgICAgICAgJl9fc2hhcmluZy1vcHRpb25zLWxhYmVsIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgfVxuICAgICAgICAmX19zaGFyaW5nLWxpbmtzIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICZfX3RhZ3Mge1xuICAgICAgICBhIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiLCBcIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAmX190b3AtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cbiAgICAgICAgJl9fY29tbWVudHMtY291bnQsXG4gICAgICAgICZfX3NoYXJpbmctb3B0aW9ucyxcbiAgICAgICAgJl9fdGFnc1xuICAgICAgICB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgfVxuICAgICAgICAmX190YWdzIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgJl9fdG9wLWFyZWEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuICAgICAgICAmX19jb21tZW50cy1jb3VudCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgICZfX3NoYXJpbmctb3B0aW9ucyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgfVxuICAvKiBFTkQ6IFRPUCBBUkVBICovXG5cbiAgLyogU1RBUlQ6IENPTU1FTlRTIFdSQVAgKi9cbiAgICAmX19jb21tZW50cy13cmFwIHtcblxuICAgIH1cbiAgICAgIC8qIFNUQVJUOiBMSVNUICovXG4gICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzNyk7XG5cbiAgICAgICAgICAmID4gLmNvbW1lbnQ6Zmlyc3QtY2hpbGQgPiAjeyRifV9fY29tbWVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNvbW1lbnQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICN7JGJ9X19jb21tZW50Omxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb21tZW50Omxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAjeyRifV9fY29tbWVudCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgICZfX2NvbW1lbnQge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUpIDA7XG5cbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgICAgICAgICNjYW5jZWwtY29tbWVudC1yZXBseS1saW5rIGkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LXRvcC13cmFwICAge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmX19jb21tZW50LWF2YXRhciB7XG4gICAgICAgICAgICAgICAgJHNpemU6IHJlbS1jYWxjKDQ3LjUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRzaXplO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdsb2JhbC1jb2x1bW4td2lkdGggKiAwLjU7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX2NvbW1lbnQtYXV0aG9yIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmX19jb21tZW50LWRhdGUge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1jb250ZW50IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1yZXBseSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NvbW1lbnQtYWxlcnQge1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAmX19saXN0IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb21tZW50IC5jb21tZW50IHtcbiAgICAgICAgICAgICAgI3skYn1fX2NvbW1lbnQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6ICRnbG9iYWwtY29sdW1uLXdpZHRoICogMS41O1xuICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LWNvbnRlbnQge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoICogMS41O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1yZXBseSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1jb2x1bW4td2lkdGggKiAxLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAmX19jb21tZW50LXRvcC13cmFwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIC8qIEVORDogTElTVCAqL1xuXG4gICAgICAvKiBTVEFSVDogRk9STSAqL1xuICAgICAgICAmX19mb3JtLXdyYXAge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2Zvcm0tdG9wLWFyZWEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2Zvcm0tdGl0bGUge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19mb3JtLXN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQ4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICZfX2Zvcm0tZmllbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fZm9ybS10ZXh0YXJlYSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMTI2KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmZvcm0tc3VibWl0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19mb3JtIC5zdWJtaXQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNjApO1xuICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYyg0Mik7XG4gICAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgJl9fZm9ybS13cmFwIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aDtcbiAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihtYXJnaW4pO1xuICAgICAgICAgICAgJi5pc19zdHVjayB7XG4gICAgICAgICAgICAgIHJpZ2h0OiAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1MCk7XG4gICAgICAgICAgICAgICZbc3R5bGUqPWFic29sdXRlXSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmX19mb3Jte1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19mb3JtLWZpZWxkIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICYtLWhhbGYge1xuICAgICAgICAgICAgICAgICRnYXA6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7JGdsb2JhbC1jb2x1bW4td2lkdGggLyAyfSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xuICAgICAgICAgICAgICAgICYgKyAjeyRifV9fZm9ybS1maWVsZC0taGFsZiB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAmX19mb3JtLXdyYXAge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTApIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIC8qIEVORDogRk9STSAqL1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAmX19jb21tZW50cy13cmFwIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICAgICAgJl9fbGlzdCxcbiAgICAgICAgICAmX19mb3JtLXdyYXAge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAvKiBFTkQ6IENPTU1FTlRTIFdSQVAgKi9cblxuICAmX19mYWNlYm9va3tcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbiIsIi5mbG8tZm9vdGVyLXNpZGViYXJzIHtcbiAgJGI6IFwiLmZsby1mb290ZXItc2lkZWJhcnNcIjtcblxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNTApICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUwKSAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICB9XG59XG4iLCIuZmxvLWZvb3Rlci1zaWRlYmFyc3tcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAubWVkaXVtLTR7XG4gICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tZm9vdGVyIHtcbiAgJGI6IFwiLmZsby1mb290ZXJcIjtcblxuICAvKiBTVEFSVDogSU1BR0UgRkVFRCAqL1xuICAgICYtaW1hZ2UtZmVlZCB7XG4gICAgICAuaW1nLWJsb2NrIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICYsXG4gICAgICAgIC5mbG8tc2hjb2RlLWluc3RnbS1jb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgLmZsby1zaGNvZGUtaW5zdGdtLWNvbnRhaW5lcntcbiAgICAgICAgICBpbWd7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgICAmLWltYWdlLWZlZWRfX2ltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgIH1cbiAgLyogRU5EOiBJTUFHRSBGRUVEICovXG5cbiAgLyogU1RBUlQ6IFNFQVJDSCBGSUVMRCBTVFlMSU5HICovXG5cbiAgLndpZGdldF9zZWFyY2ggLnNlYXJjaC1maWVsZHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgfVxuICAgIC53aWRnZXRfc2VhcmNoIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuLyogRU5EOiBTRUFSQ0ggRklFTEQgU1RZTElORyAqL1xuXG4gIC8qIFNUQVJUOiBBUkVBIDEgKi9cbiAgICBAaW1wb3J0IFwiZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hXCI7XG4gICAgQGltcG9ydCBcImZsby1mb290ZXItYXJlYS0xLXR5cGUtYlwiO1xuICAgIEBpbXBvcnQgXCJmbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kXCI7XG4gIC8qIEVORDogQVJFQSAxICovXG5cbiAgLyogU1RBUlQ6IEFSRUEgMiAqL1xuICAgIEBpbXBvcnQgXCJmbG8tZm9vdGVyLWFyZWEtMi10eXBlLWFcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iXCI7XG4gIC8qIEVORDogQVJFQSAyICovXG5cbiAgLyogU1RBUlQ6IENPUFlSSUdIVFMgQVJFQSAqL1xuICAgIEBpbXBvcnQgXCJmbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1iXCI7XG4gIC8qIEVORDogQ09QWVJJR0hUUyBBUkVBICovXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgfVxufVxuIiwiLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYSB7XG4gICRiOiBcIi5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFcIjtcblxuXG4gICZfX2dyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIxKTtcbiAgICB9XG4gICAgJl9fbGluayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0KTtcbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgJHBhZGRpbmctaG9yaXpvbnRhbDogcmVtLWNhbGMoMzA4KSAtIHJlbS1jYWxjKDEwKTtcbiAgICAkZ3JvdXAtcGFkZGluZy1ob3Jpem9udGFsOiByZW0tY2FsYyg2Mik7XG5cbiAgICBwYWRkaW5nOiByZW0tY2FsYyg2NSkgJHBhZGRpbmctaG9yaXpvbnRhbCByZW0tY2FsYygyNCkgJHBhZGRpbmctaG9yaXpvbnRhbDtcblxuICAgICZfX2dyb3VwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpICRncm91cC1wYWRkaW5nLWhvcml6b250YWwgcmVtLWNhbGMoMjApICRncm91cC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJvcmRlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICAgICAgJi0tZ3JvdXBzLWNvdW50LTMge1xuICAgICAgICAjeyRifV9fZ3JvdXAge1xuICAgICAgICAgIHdpZHRoOiAyOCU7XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSkgcmVtLWNhbGMoMTI3KSByZW0tY2FsYyg1KSByZW0tY2FsYygxMjcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX19saW5rIHtcblxuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0tdmVydGljYWwgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAmX19ncm91cCB7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX19saW5rIHtcblxuICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iIHtcbiAgJGI6IFwiLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYlwiO1xuXG4gICZfX2ZlZWQtYXJlYSB7XG5cbiAgfVxuICAgICZfX2ZlZWQtYXJlYS10b3Age1xuXG4gICAgfVxuICAgICAgJl9fZmVlZC10aXRsZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX2ZlZWQtbGFiZWwge1xuXG4gICAgICB9XG4gICAgICAmX19mZWVkLWltYWdlcyB7XG5cbiAgICAgIH1cbiAgICAgICAgLmZsby1mb290ZXItaW1hZ2UtZmVlZCB7XG5cbiAgICAgICAgfVxuICAgICAgICAgIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAuaW1nLWJsb2NrIHtcblxuICAgICAgICAgIH1cblxuICAmX19pbmZvLWFyZWEge1xuXG4gIH1cbiAgICAmX19pbmZvLWFyZWEtdGl0bGUge1xuXG4gICAgfVxuICAgICZfX2luZm8tYXJlYS10ZXh0IHtcblxuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICBwYWRkaW5nOiByZW0tY2FsYyg1OSkgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsIHJlbS1jYWxjKDIwKSAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG5cbiAgICAmX19mZWVkLWFyZWEge1xuICAgICAgd2lkdGg6IDY3JTtcbiAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoODMpIDAgcmVtLWNhbGMoMTIwKTtcbiAgICB9XG4gICAgICAmX19mZWVkLWFyZWEtdG9wIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI3KTtcbiAgICAgIH1cbiAgICAgICAgJl9fZmVlZC10aXRsZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19mZWVkLWxhYmVsIHtcblxuICAgICAgICB9XG5cbiAgICAgICRmZWVkX2ltYWdlc19zaXplOiByZW0tY2FsYygxNDYpO1xuICAgICAgJl9fZmVlZC1pbWFnZXMge1xuXG4gICAgICB9XG4gICAgICAgIC5mbG8tZm9vdGVyLWltYWdlLWZlZWQge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkX19pbWFnZSxcbiAgICAgICAgICAuaW1nLWJsb2NrIHtcbiAgICAgICAgICAgIHdpZHRoOiAkZmVlZF9pbWFnZXNfc2l6ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgICAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkX19pbWFnZSB7XG4gICAgICAgICAgICAgIGhlaWdodDogJGZlZWRfaW1hZ2VzX3NpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAmX19pbmZvLWFyZWEge1xuICAgICAgd2lkdGg6IDMzJTtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDY5KTtcblxuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gICAgICAmX19pbmZvLWFyZWEtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNyk7XG4gICAgICB9XG4gICAgICAmX19pbmZvLWFyZWEtdGV4dCB7XG5cbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgICZfX2ZlZWQtYXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgfVxuICAgICAgJl9fZmVlZC1hcmVhLXRvcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fZmVlZC10aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZmVlZC1sYWJlbCB7XG5cbiAgICAgICAgfVxuXG4gICAgICAmX19mZWVkLWltYWdlcyB7XG5cbiAgICAgIH1cbiAgICAgICAgLmZsby1mb290ZXItaW1hZ2UtZmVlZCB7XG5cbiAgICAgICAgfVxuICAgICAgICAgICRmZWVkX2ltYWdlc19zaXplOiAxMDAlO1xuICAgICAgICAgIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlLFxuICAgICAgICAgIC5pbWctYmxvY2sge1xuICAgICAgICAgICAgd2lkdGg6ICRmZWVkX2ltYWdlc19zaXplO1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICAgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2Uge1xuICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAmX19pbmZvLWFyZWEge1xuICAgIH1cbiAgICAgICZfX2luZm8tYXJlYS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgfVxuICAgICAgJl9faW5mby1hcmVhLXRleHQge1xuXG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWMge1xuICAkYjogXCIuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jXCI7XG5cbiAgJl9fZm9ybS13cmFwIHtcblxuICB9XG4gICAgJl9fZm9ybSB7XG5cbiAgICB9XG4gICAgICAmX19maWVsZCB7XG5cbiAgICAgIH1cblxuICAmX19saW5rLWxpc3Qtd3JhcCB7XG5cbiAgfVxuICAgICZfX2xpbmstbGlzdC10aXRsZSB7XG5cbiAgICB9XG4gICAgJl9fbGluay1saXN0IHtcblxuICAgIH1cbiAgICAgICZfX2xpbmstbGlzdC1saW5rIHtcblxuICAgICAgfVxuXG4gICZfX2xpbmstd3JhcCB7XG5cbiAgfVxuICAgICZfX2xpbmsge1xuXG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICRwYWRkaW5nLWhvcml6b250YWw6IHJlbS1jYWxjKDE2Mik7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoOTkpICRwYWRkaW5nLWhvcml6b250YWwgcmVtLWNhbGMoMjcpICRwYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICAmX19mb3JtLXdyYXAsXG4gICAgJl9fbGluay1saXN0LXdyYXAsXG4gICAgJl9fbGluay13cmFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjIpO1xuICAgIH1cblxuICAgICZfX2Zvcm0td3JhcCB7XG4gICAgICB3aWR0aDogMjElO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNjEpO1xuICAgIH1cbiAgICAgICZfX2Zvcm0ge1xuICAgICAgfVxuICAgICAgICAmX19maWVsZCB7XG4gICAgICAgIH1cblxuICAgICZfX2xpbmstbGlzdC13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiA1OCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDExMSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMTEpO1xuXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gICAgICAmX19saW5rLWxpc3QtdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBib3R0b206IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMTgpfSk7XG4gICAgICB9XG4gICAgICAmX19saW5rLWxpc3Qge1xuXG4gICAgICB9XG4gICAgICAgICZfX2xpbmstbGlzdC1saW5rIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAmX19saW5rLXdyYXAge1xuICAgICAgd2lkdGg6IDIxJTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgICAgICZfX2xpbmsge1xuXG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJl9fZm9ybS13cmFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICAgICZfX2Zvcm0ge1xuXG4gICAgICB9XG4gICAgICAgICZfX2ZpZWxkIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICZfX2xpbmstbGlzdC13cmFwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgICAmX19saW5rLWxpc3QtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstbGlzdCB7XG5cbiAgICAgIH1cbiAgICAgICAgJl9fbGluay1saXN0LWxpbmsge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAmX19saW5rLXdyYXAge1xuXG4gICAgfVxuICAgICAgJl9fbGluayB7XG5cbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZCB7XG4gICRiOiBcIi5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRcIjtcblxuICAmX190b3Atd3JhcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICAgJl9fbGVmdC1saW5rLXdyYXAge1xuXG4gICAgfVxuICAgICAgJl9fbGVmdC1saW5rLXRpdGxlIHtcblxuICAgICAgfVxuICAgICAgJl9fbGVmdC1saW5rLXRleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMSk7XG4gICAgICB9XG4gICAgICAmX19sZWZ0LWxpbmsge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2KSByZW0tY2FsYygxOS41KTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cblxuICAgICZfX3Rlc3RpbW9uaWFscy13cmFwIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgICAgJl9fdGVzdGltb25pYWxzIHtcbiAgICAgICAgLnNsaWNrLWxpc3Qge1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlIWltcG9ydGFudDtcbiAgICAgICAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX3Rlc3RpbW9uaWFsIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjIpO1xuXG4gICAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgJl9fdGVzdGltb25pYWwtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX190ZXN0aW1vbmlhbC10aXRsZS1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IC0wLjA1ZW07XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjA1O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbSFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3Rlc3RpbW9uaWFsLXRleHQge1xuXG4gICAgICAgICAgfVxuICAgICAgICAmX190ZXN0aW1vbmlhbHMtZG90cyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgICAgXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDkpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG5cbiAgICAgICAgICAgICY6bm90KC5zbGljay1hY3RpdmUpIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlclxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlKCk7XG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIi4wXCI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgJl9fbGVmdC1saW5rLXdyYXAsXG4gICAgJl9fcmlnaHQtbGluay13cmFwIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTEpO1xuICAgIH1cbiAgICAgICZfX2xlZnQtbGluay10aXRsZSxcbiAgICAgICZfX3JpZ2h0LWxpbmstdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMik7XG4gICAgICB9XG4gICAgICAmX19yaWdodC1saW5rLXRleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICB9XG4gICAgICAmX19yaWdodC1saW5rIHtcblxuICAgICAgfVxuXG4gIC5mbG8tYmxvY2sge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLmZsby1ibG9jay1kZWxpbWl0ZXItMSB7XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICAmX190b3Atd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg3OSkgcmVtLWNhbGMoMTMzKSByZW0tY2FsYyg2MykgcmVtLWNhbGMoMTMzKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAgICZfX2xlZnQtbGluay13cmFwIHtcbiAgICAgICAgd2lkdGg6IDI4JTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDQpO1xuICAgICAgfVxuICAgICAgICAmX19sZWZ0LWxpbmstdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fbGVmdC1saW5rLXRleHQge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fbGVmdC1saW5rIHtcblxuICAgICAgICB9XG5cbiAgICAgICZfX3Rlc3RpbW9uaWFscy13cmFwIHtcbiAgICAgICAgd2lkdGg6IDQ0JTtcbiAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYyg3MCk7XG5cbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgICAgICAmX190ZXN0aW1vbmlhbHMge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX190ZXN0aW1vbmlhbCB7XG4gICAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX190ZXN0aW1vbmlhbC10aXRsZSB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3Rlc3RpbW9uaWFsLXRpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fdGVzdGltb25pYWwtdGV4dCB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgJl9fdGVzdGltb25pYWxzLWRvdHMge1xuICAgICAgICB9XG5cbiAgICAgICZfX3JpZ2h0LWxpbmstd3JhcCB7XG4gICAgICAgIHdpZHRoOiAyOCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNzcpO1xuICAgICAgfVxuICAgICAgICAmX19yaWdodC1saW5rLXRpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX3JpZ2h0LWxpbmstdGV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19yaWdodC1saW5rIHtcblxuICAgICAgICB9XG5cbiAgICAuZmxvLWJsb2NrIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMy41KTtcbiAgICB9XG4gICAgLmZsby1ibG9jay1kZWxpbWl0ZXItMSB7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0tdmVydGljYWwgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAmX190b3Atd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgfVxuICAgICAgJl9fbGVmdC1saW5rLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgICB9XG4gICAgICAgICZfX2xlZnQtbGluay10aXRsZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19sZWZ0LWxpbmstdGV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19sZWZ0LWxpbmsge1xuXG4gICAgICAgIH1cblxuICAgICAgJl9fdGVzdGltb25pYWxzLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgICB9XG4gICAgICAgICZfX3Rlc3RpbW9uaWFscyB7XG5cbiAgICAgICAgfVxuICAgICAgICAgICZfX3Rlc3RpbW9uaWFsIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3Rlc3RpbW9uaWFsLXRpdGxlIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fdGVzdGltb25pYWwtdGl0bGUtZGVjb3JhdGl2ZS1sZXR0ZXIge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX190ZXN0aW1vbmlhbC10ZXh0IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAmX190ZXN0aW1vbmlhbHMtZG90cyB7XG5cbiAgICAgICAgfVxuXG4gICAgICAmX19yaWdodC1saW5rLXdyYXAge1xuXG4gICAgICB9XG4gICAgICAgICZfX3JpZ2h0LWxpbmstdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fcmlnaHQtbGluay10ZXh0IHtcblxuICAgICAgICB9XG4gICAgICAgICZfX3JpZ2h0LWxpbmsge1xuXG4gICAgICAgIH1cblxuICAgIC5mbG8tYmxvY2stZGVsaW1pdGVyLTEge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWEge1xuICAkYjogXCIuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1hXCI7XG4gIFxuICAmX19mZWVkIHtcblxuICB9XG5cbiAgJl9fZmVlZC1sYWJlbCB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoOSkgcmVtLWNhbGMoMzQuNSk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX2ZlZWQge1xuXG4gICAgfVxuICAgICAgJGZlZWRfaW1hZ2VzX3NpemU6IGNhbGMoMTAwdncgLyA2KTtcbiAgICAgIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlLFxuICAgICAgLmltZy1ibG9jayB7XG4gICAgICAgIHdpZHRoOiAkZmVlZF9pbWFnZXNfc2l6ZSFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAgIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6ICRmZWVkX2ltYWdlc19zaXplO1xuICAgICAgICB9XG5cbiAgICAmX19mZWVkLWxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0sIGJveC1zaGFkb3cpO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMzZweCAwcHggcmdiYSgwLDAsMCwwLjM3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0tdmVydGljYWwgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICBcbiAgICAmLmhpZGRlbi1vbi1tb2JpbGV7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAmX19mZWVkIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgICAgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2UsXG4gICAgICAuaW1nLWJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuXG4gICAgICB9XG4gICAgICAgIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG4gICAgICAgIH1cbiAgfVxufVxuIiwiLy8gcGFkZGluZyBib3R0b20gMTMuNVxuLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYiB7XG4gICRiOiBcIi5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWJcIjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICZfX3NvY2lhbC1saW5rcy13cmFwIHtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICB3aWR0aDogcmVtLWNhbGMoMjAuMSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyOSk7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJvcmRlci1jb2xvcik7XG4gICAgfVxuICB9XG4gICAgJl9fc29jaWFsLWxpbmtzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE5KTtcblxuICAgICAgYSB7XG4gICAgICAgIG1hcmdpbjogMCByZW0tY2FsYyg2KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICB9XG4gICAgfVxuICAgICZfX3NvY2lhbC1saW5rcy10aXRsZSB7XG5cbiAgICB9XG5cbiAgJl9faW5mb3JtYXRpb24ge1xuICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2ZlZWQtd3JhcCB7XG5cbiAgfVxuICAgICZfX2ZlZWQtdGV4dC1hcmVhIHtcblxuICAgIH1cbiAgICAgICZfX2ZlZWQtdGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX19mZWVkLXN1YnRpdGxlIHtcblxuICAgICAgfVxuICAgICZfX2ZlZWQge1xuXG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMykgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuXG4gICAgJl9fc29jaWFsLWxpbmtzLXdyYXAsXG4gICAgJl9faW5mb3JtYXRpb25cbiAgICB7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgICZfX3NvY2lhbC1saW5rcy13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDE4JTtcbiAgICB9XG4gICAgICAmX19zb2NpYWwtbGlua3Mge1xuICAgICAgICBhIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19zb2NpYWwtbGlua3MtdGl0bGUge1xuXG4gICAgICB9XG5cbiAgICAmX19pbmZvcm1hdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAzMiU7XG4gICAgfVxuXG4gICAgJl9fZmVlZC13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQzKSAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzOSk7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAgICZfX2ZlZWQtdGV4dC1hcmVhIHtcblxuICAgICAgfVxuICAgICAgICAmX19mZWVkLXRpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2ZlZWQtc3VidGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICZfX2ZlZWQge1xuXG4gICAgICB9XG4gICAgICAgICRmZWVkX2ltYWdlc19zaXplOiByZW0tY2FsYygxMDApO1xuICAgICAgICAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkX19pbWFnZSxcbiAgICAgICAgLmltZy1ibG9jayB7XG4gICAgICAgICAgd2lkdGg6ICRmZWVkX2ltYWdlc19zaXplIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjEpO1xuICAgICAgICB9XG4gICAgICAgICAgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2Uge1xuICAgICAgICAgICAgaGVpZ2h0OiAkZmVlZF9pbWFnZXNfc2l6ZTtcbiAgICAgICAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLXZlcnRpY2FsICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG5cbiAgICAmX19zb2NpYWwtbGlua3Mtd3JhcCxcbiAgICAmX19pbmZvcm1hdGlvblxuICAgIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gICAgJl9fc29jaWFsLWxpbmtzLXdyYXAge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgICAmX19zb2NpYWwtbGlua3Mge1xuICAgICAgICBhIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19zb2NpYWwtbGlua3MtdGl0bGUge1xuXG4gICAgICB9XG5cbiAgICAmX19pbmZvcm1hdGlvbiB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCkgMDtcbiAgICB9XG5cbiAgICAmX19mZWVkLXdyYXAge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgICAmX19mZWVkLXRleHQtYXJlYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fZmVlZC10aXRsZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19mZWVkLXN1YnRpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAmX19mZWVkIHtcblxuICAgICAgfVxuICAgICAgICAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkX19pbWFnZSxcbiAgICAgICAgLmltZy1ibG9jayB7XG4gICAgICAgICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgICAgIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWEge1xuICAkYjogXCIuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLS1oYXMtZGVsaW1pdGVyIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihib3JkZXItY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5mbG8tZm9vdGVyX19mbG90aGVtZXMtbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmX19tZW51LXdyYXAge1xuXG4gIH1cbiAgICAmX19tZW51IHtcblxuICAgIH1cblxuICAmX19jb3B5cmlnaHQtbm90aWNlIHtcblxuICB9XG5cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjMpICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICYtLWhhcy1kZWxpbWl0ZXIge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQ0LjUpO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMS41KTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsICogMn0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mbG8tZm9vdGVyX19mbG90aGVtZXMtbG9nbyB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICB9XG5cbiAgICAmX19tZW51LXdyYXAge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cbiAgICAgICZfX21lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAkZ2FwLXVuZGVyLWZpcnN0LWxldmVsLWl0ZW06IHJlbS1jYWxjKDM3KTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwMy4yNSk7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gbGkge1xuICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAvL21hcmdpbi1yaWdodDogcmVtLWNhbGMoMTAzLjI1KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMjBweCAyMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQ6IERyb3Bkb3duc1xuICAgICAgICAgIGxpIHtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI1MCk7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE4LjUpIDA7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgICAgICAgICAgIC8vIFN0YXJ0OiBEcm9wZG93biBJdGVtXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2LjUpIHJlbS1jYWxjKDM5KTtcbiAgICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHksIGJvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIEVuZDogRHJvcGRvd24gSXRlbVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8qIFN0YXJ0OiAybmQgTGV2ZWwgRHJvcGRvd24gKi9cbiAgICAgICAgICAgICYgPiBsaSAge1xuICAgICAgICAgICAgICAvLyAkYm90dG9tLWdhcDogJGdhcC11bmRlci1maXJzdC1sZXZlbC1pdGVtO1xuICAgICAgICAgICAgICAkYm90dG9tLWdhcDogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgICAgICAgIC8vICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAvLyAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgLy8gICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgIC8vICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgLy8gICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgLy8gICBoZWlnaHQ6ICRib3R0b20tZ2FwO1xuICAgICAgICAgICAgICAvLyAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSArICN7JGJvdHRvbS1nYXB9KSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgIGhlaWdodDogJGdhcC11bmRlci1maXJzdC1sZXZlbC1pdGVtO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlIC0gI3tyZW0tY2FsYygxKX0pO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTgwZGVnKTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgcmVtLWNhbGMoNykgcmVtLWNhbGMoNikgcmVtLWNhbGMoNyk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgLyogRW5kOiAybmQgTGV2ZWwgRHJvcGRvd24gKi9cbiAgICAgICAgLy8gRW5kOiBEcm9wZG93bnNcblxuICAgICAgfVxuXG4gICAgJl9fY29weXJpZ2h0LW5vdGljZSB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIHdpZHRoOiAzOC42JTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5mbG8tZm9vdGVyX19mbG90aGVtZXMtbG9nbyB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICAmX19tZW51LXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICAgICZfX21lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICYgPiBsaSA+IHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSkgMDtcbiAgICAgICAgfVxuICAgICAgICAuY2hpbGRyZW4tdmlzaWJsZSB7XG4gICAgICAgICAgJiA+ICN7JGJ9X19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX21lbnUtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCkgMDtcblxuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG4gICAgICAgIH1cbiAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgJl9fY29weXJpZ2h0LW5vdGljZSB7XG5cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHBhZGRpbmcgdG9wIHJlbS1jYWxjKDIwKTtcbi5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWIge1xuICAkYjogXCIuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1iXCI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuZmxvLWZvb3Rlcl9fZmxvdGhlbWVzLWxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMzKTtcbiAgfVxuXG4gICZfX2NvcHlyaWdodC1ub3RpY2Uge1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuXG4gICAgLmZsby1mb290ZXJfX2Zsb3RoZW1lcy1sb2dvIHtcbiAgICB9XG5cbiAgICAmX19jb3B5cmlnaHQtbm90aWNlIHtcblxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgIC5mbG8tZm9vdGVyX19mbG90aGVtZXMtbG9nbyB7XG5cbiAgICB9XG5cbiAgICAmX19jb3B5cmlnaHQtbm90aWNlIHtcblxuICAgIH1cbiAgfVxufVxuIiwiLmZsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvIHtcbiAgJGI6IFwiLmZsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvXCI7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDAwO1xuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgfVxufVxuIiwiLmZsby1nZW5lcmljLW1lbnUtd3JhcCB7XG4gICRiOiBcIi5mbG8tZ2VuZXJpYy1tZW51LXdyYXBcIjtcblxuICAvKiBTVEFSVDogTUVOVSAoZHJvcGRvd25zLCBsaW5rcyBldGMuKSAqL1xuICAgICRnYXAtdW5kZXItZmlyc3QtbGV2ZWwtaXRlbTogcmVtLWNhbGMoMzcpO1xuXG4gICAgJl9fbWVudSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgei1pbmRleDogMjMxMTIzMTI7XG4gICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgIC8vIFN0YXJ0OiBJdGVtXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihib3JkZXIpO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgLy8gRW5kOiBJdGVtXG5cbiAgICAgICAgLy8gU3RhcnQ6IDFzdCBsZXZlbCBpdGVtXG4gICAgICAgICAgJiA+IGRpdiA+IHVsID4gbGkge1xuICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgLy8gRW5kOiAxc3QgbGV2ZWwgaXRlbVxuXG4gICAgICAvLyBTdGFydDogRHJvcGRvd25zXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNTApO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTguNSkgMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcblxuICAgICAgICAgICAgLy8gU3RhcnQ6IERyb3Bkb3duIEl0ZW1cbiAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYuNSkgcmVtLWNhbGMoMzkpO1xuICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5LCBib3JkZXItY29sb3IpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRW5kOiBEcm9wZG93biBJdGVtXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyogU3RhcnQ6IDJuZCBMZXZlbCBEcm9wZG93biAqL1xuICAgICAgICAgICYgPiBsaSAge1xuICAgICAgICAgICAgJGJvdHRvbS1nYXA6ICRnYXAtdW5kZXItZmlyc3QtbGV2ZWwtaXRlbTtcbiAgICAgICAgICAgIC8vICY6YWZ0ZXIge1xuICAgICAgICAgICAgLy8gICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLy8gICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAvLyAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIC8vICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAvLyAgIGhlaWdodDogJGJvdHRvbS1nYXA7XG4gICAgICAgICAgICAvLyAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAmID4gdWwge1xuICAgICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArICN7JGJvdHRvbS1nYXB9KTtcbiAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogJGdhcC11bmRlci1maXJzdC1sZXZlbC1pdGVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoMSl9KTtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIHJlbS1jYWxjKDcpIHJlbS1jYWxjKDYpIHJlbS1jYWxjKDcpO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgLyogRW5kOiAybmQgTGV2ZWwgRHJvcGRvd24gKi9cbiAgICAgIC8vIEVuZDogRHJvcGRvd25zXG4gICAgfVxuICAvKiBFTkQ6IE1FTlUgKGRyb3Bkb3ducywgbGlua3MgZXRjLikgKi9cbn1cbiIsIi5mbG8tZ2VuZXJpYy1zbGlkZXMge1xuICAkYjogXCIuZmxvLWdlbmVyaWMtc2xpZGVzXCI7XG5cbiAgJl9fc2xpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gICAgJl9fc2xpZGUtY29udGVudCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICB9XG4gICAgICAmX19zbGlkZS1pbWcge1xuXG4gICAgICAgICYtLWJnaSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgJi0taW1nIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19zbGlkZS1iYWNrZ3JvdW5kLXZpZGVvIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgdmlkZW8ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1jcm9wcGVkIHtcbiAgICAgICAgICB2aWRlbyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLW5vLWNyb3Age1xuICAgICAgICAgIHZpZGVvIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fc2xpZGUge1xuICAgIH1cbiAgICAgICZfX3NsaWRlLWNvbnRlbnQge1xuICAgICAgfVxuICAgICAgICAmX19zbGlkZS1pbWcge1xuXG4gICAgICAgICAgJi0tYmdpIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0taW1nIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19zbGlkZS1iYWNrZ3JvdW5kLXZpZGVvIHtcbiAgICAgICAgICB2aWRlbyB7XG4gICAgICAgICAgfVxuICAgICAgICAgICYtLWNyb3BwZWQge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLS1uby1jcm9wIHtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICYtLWltYWdlLXR5cGUtYmdpIHtcblxuICAgICAgI3skYn1fX3NsaWRlLWNvbnRlbnQge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICB9XG4gICAgfVxuICAgICZfX3NsaWRlIHtcbiAgICB9XG4gICAgICAmX19zbGlkZS1jb250ZW50IHtcbiAgICAgIH1cbiAgICAgICAgJl9fc2xpZGUtaW1nIHtcblxuICAgICAgICAgICYtLWJnaSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICYtLWltZyB7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fc2xpZGUtYmFja2dyb3VuZC12aWRlbyB7XG4gICAgICAgICAgdmlkZW8ge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLS1jcm9wcGVkIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tbm8tY3JvcCB7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCImX19zbGlkZS1pbWdcIik7XG59XG4iLCIuZmxvLW1vYmlsZS1tZW51e1xuICAkYjogJy5mbG8tbW9iaWxlLW1lbnUnO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogOTk5OTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDM1KSAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuXG4gIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gIC8qIFNUQVJUOiBNRU5VICovXG4gICAgJl9fbWVudSB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgLyogRU5EOiBNRU5VICovXG4gIC8qIFNUQVJUOiBDT1BZUklHSFRTIEFSRUEgKi9cbiAgICAmX19jb3B5cmlnaHQtYXJlYSB7XG5cbiAgICB9XG4gICAgICAmX190ZXh0LWFib3ZlLWNvcHlyaWdodC1ub3RpY2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNyk7XG4gICAgICB9XG4gICAgICAmX19jb3B5cmlnaHQtbm90aWNlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzcpO1xuICAgICAgfVxuICAgICAgJl9fY29weXJpZ2h0LWZsby1sb2dvIHtcblxuICAgICAgfVxuICAvKiBFTkQ6IENPUFlSSUdIVFMgQVJFQSAqL1xuXG4gIC8qIFNUQVJUOiBWSVNJQklMSVRZICovXG4gICAgQGF0LXJvb3Qge1xuICAgICAgLmJvZHktLWZsby1tb2JpbGUtbWVudS1wb3B1cC1vcGVuZWQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAjeyRifSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBodG1sLFxuICAgICAgLmJvZHktLWZsby1tb2JpbGUtbWVudS1wb3B1cC1jbG9zZWQge1xuICAgICAgICAjeyRifSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICB9XG4gIC8qIEVORDogVklTSUJJTElUWSAqL1xuXG4gIC8qIFNUQVJUOiBUWVBFUyAqL1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyLW1vYmlsZS1tZW51LS10eXBlLWFcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWhlYWRlci1tb2JpbGUtbWVudS0tdHlwZS1iXCI7XG4gIC8qIEVORDogVFlQRVMgKi9cblxufVxuIiwiJi0tdHlwZS1hIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAjeyRifV9fY2xvc2Uge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI5KTtcbiAgfVxuICAjeyRifV9fbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAgIGEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gIH1cbiAgICAvKiBTVEFSVDogRklSU1QgTEVWRUwgSVRFTSAqL1xuICAgICAgI3skYn1fX21lbnUgPiBsaSB7XG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMyk7XG4gICAgICAgIH1cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4KTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIC8qIEVORDogRklSU1QgTEVWRUwgSVRFTSAqL1xuXG4gICAgLyogU1RBUlQ6IERST1BET1dOICovXG4gICAgICAjeyRifV9fbWVudSA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmID4gdWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDkpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIC8qIEVORDogRFJPUERPV04gKi9cblxuICAgIC8qIFNUQVJUOiBEUk9QRE9XTiBUT0dHTElORyAqL1xuICAgICAgI3skYn1fX21lbnUtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgJHNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApIDAgcmVtLWNhbGMoMjApIHJlbS1jYWxjKDQwKTtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyXG4gICAgICAgIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0sIG9wYWNpdHksIGhlaWdodCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICN7JGJ9X19tZW51IGxpLmNoaWxkcmVuLXZpc2libGUge1xuICAgICAgICAjeyRifV9fbWVudS1kcm9wZG93bi10b2dnbGU6YWZ0ZXIge1xuICAgICAgICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAvKiBFTkQ6IERST1BET1dOIFRPR0dMSU5HICovXG5cbiAgI3skYn1fX2NvcHlyaWdodC1hcmVhIHtcbiAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDUwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgICAjeyRifV9fdGV4dC1hYm92ZS1jb3B5cmlnaHQtbm90aWNlIHtcblxuICAgIH1cbiAgICAjeyRifV9fY29weXJpZ2h0LW5vdGljZSB7XG5cbiAgICB9XG4gICAgI3skYn1fX2NvcHlyaWdodC1mbG8tbG9nbyB7XG5cbiAgICB9XG59XG4iLCImLS10eXBlLWIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuXG4gIC8vIEJhY2tncm91bmQgT3ZlcmxheVxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgI3skYn1fX2Nsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOTEpO1xuICB9XG4gICN7JGJ9X19tZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOTkpO1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgfVxuICAgIC8qIFNUQVJUOiBEUk9QRE9XTiAqL1xuICAgICAgI3skYn1fX21lbnUgPiBsaSA+IHVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMzkpfSk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICB9XG4gICAgLyogRU5EOiBEUk9QRE9XTiAqL1xuXG4gICAgLyogU1RBUlQ6IERST1BET1dOIFRPR0dMRVMgKi9cbiAgICAgICN7JGJ9X19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtIWltcG9ydGFudDtcblxuICAgICAgICBpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgICAvKiBTVEFSVDogTUFJTiBUT0dHTEUgKi9cbiAgICAgICAgICAjeyRifV9fbWVudSA+IGxpIHtcbiAgICAgICAgICAgICYgPiBhICN7JGJ9X19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHksIG1hcmdpbiwgd2lkdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgLyogRU5EOiBNQUlOIFRPR0dMRSAqL1xuXG4gICAgICAgIC8qIFNUQVJUOiBEVVBMSUNBVEUgVE9HR0xFIEZPUiBUSEUgRFJPUERPV04gTUVOVSAqL1xuICAgICAgICAgICN7JGJ9X19tZW51ID4gbGkgPiB1bCA+ICN7JGJ9X19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMjYpfSk7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgLyogRU5EOiBEVVBMSUNBVEUgVE9HR0xFIEZPUiBUSEUgRFJPUERPV04gTUVOVSAqL1xuXG4gICAgICAvKiBTVEFSVDogVklTSUJJTElUWSAqL1xuICAgICAgICAjeyRifV9fbWVudSBsaS5jaGlsZHJlbi12aXNpYmxlIHtcbiAgICAgICAgICAjeyRifV9fbWVudS1kcm9wZG93bi10b2dnbGUgaXtcbiAgICAgICAgICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gTWFpbiBUb2dnbGVcbiAgICAgICAgICAgICYgPiBhICN7JGJ9X19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIC8qIEVORDogVklTSUJJTElUWSAqL1xuXG4gICAgLyogRU5EOiBEUk9QRE9XTiBUT0dHTEVTICovXG5cbiAgI3skYn1fX2NvcHlyaWdodC1hcmVhIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuICB9XG5cbiAgLyogU1RBUlQ6IERST1BET1dOIE9QRU5FRCBTVFlMRSAqL1xuICAgICYjeyRifS0tZHJvcGRvd24tb3BlbmVkIHtcbiAgICAgICN7JGJ9X19tZW51LFxuICAgICAgI3skYn1fX2NvcHlyaWdodC1hcmVhXG4gICAgICB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCggY2FsYygtNTB2dyArICN7JGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbH0pICk7XG4gICAgICB9XG5cbiAgICAgIC8qIFNUQVJUOiBEUk9QRE9XTiBUT0dHTEUgU1RVRkYgKi9cbiAgICAgICAgI3skYn1fX21lbnUgPiBsaSA+IHVsIHtcblxuICAgICAgICB9XG4gICAgICAvKiBFTkQ6IERST1BET1dOIFRPR0dMRSBTVFVGRiAqL1xuICAgIH1cbiAgLyogRU5EOiBEUk9QRE9XTiBPUEVORUQgU1RZTEUgKi9cbn1cbiIsIi5mbG8taGVhZGVyLW1vYmlsZXtcbiAgJGI6IFwiLmZsby1oZWFkZXItbW9iaWxlXCI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogcmVtLWNhbGMoMjUpICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gIHotaW5kZXg6IDExMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHksIHBhZGRpbmcpO1xuXG4gIC8qIFNUQVJUOiBNRU5VIFRSSUdHRVIgKi9cbiAgICAmX19tZW51LXRyaWdnZXIge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg4KTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICB9XG4gIC8qIEVORDogTUVOVSBUUklHR0VSICovXG5cbiAgLyogU1RBUlQ6IExPR08gKi9cbiAgICAmX19sb2dve1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbSFpbXBvcnRhbnQ7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG5cbiAgICAgICYtLWxpZ2h0IHtcbiAgICAgICAgI3skYn1fX2xvZ28taW1hZ2UtLWRlZmF1bHQge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX2xvZ28taW1hZ2UtLWxpZ2h0IHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fbG9nby1pbWFnZSB7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICAmLS1zdGlja3ksXG4gICAgICAgICYtLWxpZ2h0XG4gICAgICAgIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgLyogRU5EOiBMT0dPICovXG5cbiAgLyogU1RBUlQ6IFRZUEVTICovXG4gICAgQGltcG9ydCBcImZsby1oZWFkZXItbW9iaWxlLS10eXBlLWFcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWhlYWRlci1tb2JpbGUtLXR5cGUtYlwiO1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyLW1vYmlsZS0tdHlwZS1jXCI7XG4gIC8qIEVORDogVFlQRVMgKi9cblxuICAvKiBTVEFSVDogU1RJQ0tZIFRZUEUgQSAqL1xuICAgIEBhdC1yb290IHtcblxuICAgICAgLyogU1RBUlQ6IFNUSUNLWSBCT1RUT00gQU5JTUFUSU9OICovXG4gICAgICAgIEBrZXlmcmFtZXMgbW92ZV9zdGlja3lfdG9fYm90dG9tIHtcbiAgICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgIC8qIEVORDogU1RJQ0tZIEJPVFRPTSBBTklNQVRJT04gKi9cblxuICAgICAgLmZsby1oZWFkZXItbW9iaWxlLXN0aWNreS13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oaGVpZ2h0KTtcbiAgICAgICAgI3skYn0uaXMtbWFpbiB7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJvdHRvbTogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5pcy1zdGlja3kge1xuICAgICAgICAgICN7JGJ9e1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAmI3skYn0tLXN0aWNreS1zdHlsZS1hIHtcblxuICAgICAgICAgICAgICAmI3skYn0tLXN0aWNreS1wb3NpdGlvbi10b3Age1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYjeyRifS0tc3RpY2t5LXBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1vdmVfc3RpY2t5X3RvX2JvdHRvbTtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246ICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcblxuICAgICAgICAgICAgI3skYn1fX2xvZ28taW1hZ2Uge1xuICAgICAgICAgICAgICAmLS1kZWZhdWx0IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYtLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYtLXN0aWNreSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cbiAgLyogRU5EOiBTVElDS1kgVFlQRSBBICovXG5cbiAgLyogU1RBUlQ6IFNUSUNLWSBUWVBFIEIgKi9cbiAgICAmX19zdGlja3ktaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAkc2l6ZTogcmVtLWNhbGMoNTIpO1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRzaXplO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOCk7XG4gICAgICB6LWluZGV4OiAxMDAwO1xuXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAkdmVydGljYWwtb2Zmc2V0OiByZW0tY2FsYygyMyk7XG4gICAgICAkaG9yaXpvbnRhbC1vZmZzZXQ6IHJlbS1jYWxjKDIxKTtcblxuICAgICAgJi0tcG9zaXRpb24tdG9wLWxlZnQge1xuICAgICAgICB0b3A6ICR2ZXJ0aWNhbC1vZmZzZXQ7XG4gICAgICAgIGxlZnQ6ICRob3Jpem9udGFsLW9mZnNldDtcbiAgICAgIH1cbiAgICAgICYtLXBvc2l0aW9uLXRvcC1yaWdodCB7XG4gICAgICAgIHRvcDogJHZlcnRpY2FsLW9mZnNldDtcbiAgICAgICAgcmlnaHQ6ICRob3Jpem9udGFsLW9mZnNldDtcbiAgICAgIH1cbiAgICAgICYtLXBvc2l0aW9uLWJvdHRvbS1yaWdodCB7XG4gICAgICAgIGJvdHRvbTogJHZlcnRpY2FsLW9mZnNldDtcbiAgICAgICAgcmlnaHQ6ICRob3Jpem9udGFsLW9mZnNldDtcbiAgICAgIH1cbiAgICAgICYtLXBvc2l0aW9uLWJvdHRvbS1sZWZ0IHtcbiAgICAgICAgYm90dG9tOiAkdmVydGljYWwtb2Zmc2V0O1xuICAgICAgICBsZWZ0OiAkaG9yaXpvbnRhbC1vZmZzZXQ7XG4gICAgICB9XG4gICAgfVxuICAvKiBFTkQ6IFNUSUNLWSBUWVBFIEIgKi9cblxuICAvKiBTVEFSVDogSElERSBPTiBERVNLVE9QICovXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAuZmxvLWhlYWRlci1tb2JpbGUtc3RpY2t5LXdyYXBwZXJ7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgLyogRU5EOiBISURFIE9OIERFU0tUT1AgKi9cblxuICAvKiBTVEFSVDogTU9CSUxFIExPR08gKi9cbiAgICBAYXQtcm9vdCB7XG4gICAgICAuYm9keS0tZmxvLXBhZ2UtaGVyby1lbGVtZW50cy1jb2xvci1pcy1saWdodCB7XG4gICAgICAgIC5mbG8taGVhZGVyLWFuZC1mbG8tcGFnZS1oZXJvID4gaGVhZGVyID4gLmZsby1oZWFkZXItbW9iaWxlIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZSxcbiAgICAgICAgLmZsby1oZWFkZXItYW5kLWZsby1wYWdlLWhlcm8gLmZsby1oZWFkZXItbW9iaWxlLXN0aWNreS13cmFwcGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlci1tb2JpbGUgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlIHtcbiAgICAgICAgICAmLS1kZWZhdWx0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICYtLWxpZ2h0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmxvLWhlYWRlci1tb2JpbGUtc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IHtcbiAgICAgICAgI3skYn0ge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm90dG9tOiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgICAgLnN0aWNreS1jb250YWluZXJ7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIC8qIEVORDogTU9CSUxFIExPR08gKi9cblxufVxuIiwiJi0tdHlwZS1hIHtcbiAgI3skYn1fX2xvZ28ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gICN7JGJ9X19tZW51LXRyaWdnZXIge1xuXG4gIH1cbn1cbiIsIiYtLXR5cGUtYiB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgI3skYn1fX2xvZ28ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgI3skYn1fX21lbnUtdHJpZ2dlciB7XG5cbiAgfVxufVxuIiwiJi0tdHlwZS1jIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiByZW0tY2FsYygyOSkgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgI3skYn1fX2xvZ28ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNCk7XG4gIH1cbiAgI3skYn1fX21lbnUtdHJpZ2dlciB7XG5cbiAgfVxufVxuIiwiLmZsby1oZWFkZXIge1xuICAkYjogXCIuZmxvLWhlYWRlclwiO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk5OTtcblxuICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IpO1xuXG4gIC8qIFNUQVJUOiBIRUFERVIgQ09NTU9OIEVMRU1FTlRTICovXG4gICAgQGltcG9ydCBcImZsby1oZWFkZXJfX21lbnVcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWhlYWRlcl9fbWVudS10cmlnZ2VyXCI7XG4gICAgQGltcG9ydCBcImZsby1oZWFkZXJfX2xvZ29cIjtcbiAgICBAaW1wb3J0IFwiZmxvLWhlYWRlcl9fc2VhcmNoXCI7XG4gICAgQGltcG9ydCBcImZsby1oZWFkZXJfX3NvY2lhbC1saW5rc1wiO1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyX19tZW51LXBvcHVwXCI7XG4gIC8qIEVORDogSEVBREVSIENPTU1PTiBFTEVNRU5UUyAqL1xuXG4gIC8qIFNUQVJUOiBIRUFERVIgTEFZT1VUUyAqL1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyLS10eXBlLWEtYW5kLWJcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWhlYWRlci0tdHlwZS1jLWFuZC1kXCI7XG4gICAgQGltcG9ydCBcImZsby1oZWFkZXItLXR5cGUtZS1hbmQtZlwiO1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyLS10eXBlLWctYW5kLWhcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWhlYWRlci0tdHlwZS1pLWFuZC1qXCI7XG4gICAgQGltcG9ydCBcImZsby1oZWFkZXItLXR5cGUta1wiO1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyLS10eXBlLWxcIjtcbiAgLyogRU5EOiBIRUFERVIgTEFZT1VUUyAqL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuKiB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cblxuLyogU1RBUlQ6IFNUSUNLWSBIRUFERVIgU1RZTEVTICovXG4gIC5mbG8taGVhZGVyLS1zdGlja3kge1xuICAgIC5zdGlja3ktd3JhcHBlciB7XG4gICAgICAvLyBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLXBhZGRpbmctLXZlcnRpY2FsO1xuXG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihoZWlnaHQpO1xuXG4gICAgICAmLmlzLXN0aWNreSB7XG4gICAgICAgIC5mbG8taGVhZGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQhaW1wb3J0YW50O1xuICAgICAgICAgIHRvcDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm90dG9tOiBhdXRvIWltcG9ydGFudDtcblxuICAgICAgICAgICZfX2xvZ28taW1hZ2UtLWRlZmF1bHQge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fbG9nby1pbWFnZS0tc3RpY2t5IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4vKiBFTkQ6IFNUSUNLWSBIRUFERVIgU1RZTEVTICovXG5AaW1wb3J0IFwiZmxvLWhlYWRlcl9fdG9wYmFyXCI7IiwiXG4vKiBTVEFSVDogTUVOVSAoZHJvcGRvd25zLCBsaW5rcyBldGMuKSAqL1xuICAvLyAkZ2FwLXVuZGVyLWZpcnN0LWxldmVsLWl0ZW06IHJlbS1jYWxjKDM3KTtcbiAgJGdhcC11bmRlci1maXJzdC1sZXZlbC1pdGVtOiByZW0tY2FsYygyNCk7XG5cbiAgJl9fbWVudSB7XG4gICAgJiA+IGRpdiA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB6LWluZGV4OiAyMzExMjMxMjtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICAvLyBTdGFydDogSXRlbVxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihib3JkZXIpO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgLy8gRW5kOiBJdGVtXG5cbiAgICAgIC8vIFN0YXJ0OiAxc3QgbGV2ZWwgaXRlbVxuICAgICAgICAmID4gZGl2ID4gdWwgPiBsaSB7XG4gICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIC8vIEVuZDogMXN0IGxldmVsIGl0ZW1cblxuICAgIC8vIFN0YXJ0OiBEcm9wZG93bnNcbiAgICAgIGxpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNTApO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE4LjUpIDA7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcblxuICAgICAgICAgIC8vIFN0YXJ0OiBEcm9wZG93biBJdGVtXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2LjUpIHJlbS1jYWxjKDM5KTtcbiAgICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSxcbiAgICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtcGFyZW50IHtcbiAgICAgICAgICAgICAgICAmID4gYTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5LCBib3JkZXItY29sb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIC8vIEVuZDogRHJvcGRvd24gSXRlbVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qIFN0YXJ0OiAybmQgTGV2ZWwgRHJvcGRvd24gKi9cbiAgICAgICAgJiA+IGRpdiA+IHVsID4gbGkgIHtcbiAgICAgICAgICAkYm90dG9tLWdhcDogJGdhcC11bmRlci1maXJzdC1sZXZlbC1pdGVtO1xuICAgICAgICAgIC8vICY6YWZ0ZXIge1xuICAgICAgICAgIC8vICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgLy8gICB0b3A6IDEwMCU7XG4gICAgICAgICAgLy8gICBsZWZ0OiAwO1xuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAvLyAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIC8vICAgaGVpZ2h0OiAkYm90dG9tLWdhcDtcbiAgICAgICAgICAvLyAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgLy8gfVxuICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArICN7JGJvdHRvbS1nYXB9KTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgIGhlaWdodDogJGdhcC11bmRlci1maXJzdC1sZXZlbC1pdGVtO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKDEpfSk7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCByZW0tY2FsYyg3KSByZW0tY2FsYyg2KSByZW0tY2FsYyg3KTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgLyogRW5kOiAybmQgTGV2ZWwgRHJvcGRvd24gKi9cbiAgICAvLyBFbmQ6IERyb3Bkb3duc1xuICB9XG4vKiBFTkQ6IE1FTlUgKGRyb3Bkb3ducywgbGlua3MgZXRjLikgKi9cbiIsIiYtLXR5cGUtYSxcbiYtLXR5cGUtYiB7XG4gIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICN7JGJ9X19tZW51LXdyYXAge1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHBhZGRpbmctYm90dG9tKTtcbiAgfVxuICAgICN7JGJ9X19tZW51IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgJiA+IGRpdiA+IHVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgJGl0ZW1zLWNvdW50OiA2O1xuICAgICAgICAgICRmaXJzdF9sYXN0X2l0ZW1fd2lkdGg6IDEzJTtcbiAgICAgICAgICAkbWlkZGxlX2l0ZW1zX3dpZHRoOiAoMTAwJSAtICRmaXJzdF9sYXN0X2l0ZW1fd2lkdGggKiAyKSAvICgkaXRlbXMtY291bnQgLSAyKTtcblxuICAgICAgICAgIC8vd2lkdGg6ICRtaWRkbGVfaXRlbXNfd2lkdGg7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKCN7JGl0ZW1zLWNvdW50fW4pOmxhc3QtY2hpbGQsXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpdGVtcy1jb3VudH0pOmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgd2lkdGg6ICRmaXJzdF9sYXN0X2l0ZW1fd2lkdGg7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaXRlbXMtY291bnR9KTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKCN7JGl0ZW1zLWNvdW50fW4pOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICN7JGJ9X19sb2dvLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ocGFkZGluZy1ib3R0b20pO1xuICB9XG4gICAgI3skYn1fX2xvZ28ge1xuICAgIH1cblxufVxuLyogU1RBUlQ6IFVuaXF1ZSBDU1MgZm9yIGVhY2ggSGVhZGVyIFR5cGUgKi9cbiAgJi0tdHlwZS1hIHtcbiAgICAjeyRifV9fbWVudS13cmFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzOSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoODQpO1xuICAgIH1cbiAgICAgICN7JGJ9X19tZW51IHtcbiAgICAgIH1cbiAgICAjeyRifV9fbG9nby13cmFwIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgIH1cbiAgICAgICN7JGJ9X19sb2dvIHtcbiAgICAgIH1cbiAgfVxuXG4gICYtLXR5cGUtYiB7XG4gICAgI3skYn1fX21lbnUtd3JhcCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTUpO1xuICAgIH1cbiAgICAgICN7JGJ9X19tZW51IHtcbiAgICAgIH1cbiAgICAjeyRifV9fbG9nby13cmFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1Nik7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNzMpO1xuICAgIH1cbiAgICAgICN7JGJ9X19sb2dvIHtcbiAgICAgIH1cbiAgfVxuLyogRU5EOiBVbmlxdWUgQ1NTIGZvciBlYWNoIEhlYWRlciBUeXBlICovXG5cbi8qIFNUQVJUOiBXSEVOIFNUSUNLWSBBREpVU1QgUEFERElOR1MgKi9cbiAgQGF0LXJvb3Qge1xuICAgIC5mbG8taGVhZGVyLS1zdGlja3kgLmlzLXN0aWNreSAuZmxvLWhlYWRlci0tdHlwZS1hIC5mbG8taGVhZGVyX19sb2dvLXdyYXAsXG4gICAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX2xvZ28td3JhcCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgICAuZmxvLWhlYWRlci0tc3RpY2t5IC5pcy1zdGlja3kgLmZsby1oZWFkZXItLXR5cGUtYSAuZmxvLWhlYWRlcl9fbWVudS13cmFwLFxuICAgIC5mbG8taGVhZGVyLS1zdGlja3kgLmlzLXN0aWNreSAuZmxvLWhlYWRlci0tdHlwZS1iIC5mbG8taGVhZGVyX19tZW51LXdyYXAge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMyKTtcbiAgICB9XG4gIH1cbi8qIEVORDogV0hFTiBTVElDS1kgQURKVVNUIFBBRERJTkdTICovXG4iLCImLS10eXBlLWMsXG4mLS10eXBlLWQge1xuXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDMwKSAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWwgcmVtLWNhbGMoNDkpICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ocGFkZGluZyk7XG5cbiAgI3skYn1fX3RvcC13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDI2KTtcbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihwYWRkaW5nKTtcbiAgfVxuICAgICN7JGJ9X19zZWFyY2gtd3JhcCB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gICAgI3skYn1fX3NvY2lhbC1saW5rcyB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICN7JGJ9X19ib3R0b20td3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gICAgI3skYn1fX2xvZ28td3JhcCB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gICAgI3skYn1fX21lbnUge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cbiAgICAgICYgPiBkaXYgPiB1bCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxufVxuLyogU1RBUlQ6IE1lbnUgSXRlbXMgR2FwICovXG4gICRmaXJzdF9pdGVtX2dhcDogcmVtLWNhbGMoMTIwKTtcbiAgJGl0ZW1fZ2FwOiByZW0tY2FsYygxNDUpO1xuICAkaXRlbXNfZ2FwX2RpZmZlcmVuY2U6ICRpdGVtX2dhcCAtICRmaXJzdF9pdGVtX2dhcDtcbi8qIEVORDogTWVudSBJdGVtcyBHYXAgKi9cblxuLyogU1RBUlQ6IFVuaXF1ZSBDU1MgZm9yIGVhY2ggSGVhZGVyIFR5cGUgKi9cbiAgJi0tdHlwZS1jIHtcblxuICAgICN7JGJ9X190b3Atd3JhcCB7XG4gICAgfVxuICAgICAgI3skYn1fX3NlYXJjaC13cmFwIHtcbiAgICAgIH1cbiAgICAgICN7JGJ9X19zb2NpYWwtbGlua3Mge1xuICAgICAgfVxuICAgICN7JGJ9X19ib3R0b20td3JhcCB7XG4gICAgfVxuICAgICAgI3skYn1fX2xvZ28td3JhcCB7XG4gICAgICB9XG4gICAgICAjeyRifV9fbWVudSB7XG4gICAgICAgICYgPiBkaXYgPiB1bCB7XG4gICAgICAgICAgLy9tYXJnaW4tbGVmdDogLSRpdGVtc19nYXBfZGlmZmVyZW5jZTtcbiAgICAgICAgICAvL3dpZHRoOiBjYWxjKDEwMCUgKyAjeyRpdGVtc19nYXBfZGlmZmVyZW5jZX0pO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkaXRlbV9nYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICYgPiB1bCB7XG4gICAgICAgIH1cbiAgfVxuXG4gICYtLXR5cGUtZCB7XG4gICAgI3skYn1fX3RvcC13cmFwIHtcbiAgICB9XG4gICAgICAjeyRifV9fc2VhcmNoLXdyYXAge1xuICAgICAgfVxuICAgICAgI3skYn1fX3NvY2lhbC1saW5rcyB7XG4gICAgICB9XG4gICAgI3skYn1fX2JvdHRvbS13cmFwIHtcbiAgICB9XG4gICAgICAjeyRifV9fbG9nby13cmFwIHtcbiAgICAgIH1cbiAgICAgICN7JGJ9X19tZW51IHtcbiAgICAgICAgJiA+IGRpdiA+IHVsIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kaXRlbXNfZ2FwX2RpZmZlcmVuY2U7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7JGl0ZW1zX2dhcF9kaWZmZXJlbmNlfSk7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRpdGVtX2dhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgfVxuICB9XG4vKiBFTkQ6IFVuaXF1ZSBDU1MgZm9yIGVhY2ggSGVhZGVyIFR5cGUgKi9cblxuLyogU1RBUlQ6IFdIRU4gU1RJQ0tZIEFESlVTVCBQQURESU5HUyAqL1xuICBAYXQtcm9vdCB7XG4gICAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWMsXG4gICAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWQge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAjeyRifV9fdG9wLXdyYXAge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuLyogRU5EOiBXSEVOIFNUSUNLWSBBREpVU1QgUEFERElOR1MgKi9cbiIsIiYtLXR5cGUtZSxcbiYtLXR5cGUtZiB7XG4gIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzUpO1xuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzUpO1xuICAjeyRifV9fbG9nby13cmFwIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuICAgICN7JGJ9X19sb2dvIHtcbiAgICB9XG5cbiAgI3skYn1fX21lbnUtd3JhcCB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG4gICAgI3skYn1fX21lbnUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAmID4gZGl2ID4gdWwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNy41KSAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICN7JGJ9X19sb2dvLXdyYXAge1xuICB9XG4gICAgI3skYn1fX2xvZ28ge1xuICAgIH1cblxufVxuLyogU1RBUlQ6IE1lbnUgSXRlbXMgR2FwICovXG4gICRmaXJzdF9pdGVtX2dhcDogcmVtLWNhbGMoMTIwKTtcbiAgJGl0ZW1fZ2FwOiByZW0tY2FsYygxNDUpO1xuICAkaXRlbXNfZ2FwX2RpZmZlcmVuY2U6ICRpdGVtX2dhcCAtICRmaXJzdF9pdGVtX2dhcDtcbi8qIEVORDogTWVudSBJdGVtcyBHYXAgKi9cblxuLyogU1RBUlQ6IFVuaXF1ZSBDU1MgZm9yIGVhY2ggSGVhZGVyIFR5cGUgKi9cbiAgJi0tdHlwZS1lIHtcbiAgICAjeyRifV9fbWVudS13cmFwIHtcbiAgICB9XG4gICAgICAjeyRifV9fbWVudSB7XG4gICAgICAgICYgPiBkaXYgPiB1bCB7XG4gICAgICAgICAgLy9tYXJnaW4tbGVmdDogLSRpdGVtc19nYXBfZGlmZmVyZW5jZTtcbiAgICAgICAgICAvL3dpZHRoOiBjYWxjKDEwMCUgKyAjeyRpdGVtc19nYXBfZGlmZmVyZW5jZX0pO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkaXRlbV9nYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgI3skYn1fX2xvZ28td3JhcCB7XG4gICAgfVxuICAgICAgI3skYn1fX2xvZ28ge1xuICAgICAgfVxuICB9XG5cbiAgJi0tdHlwZS1mIHtcbiAgICAjeyRifV9fbWVudS13cmFwIHtcbiAgICB9XG4gICAgICAjeyRifV9fbWVudSB7XG4gICAgICAgICYgPiBkaXYgPiB1bCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGl0ZW1zX2dhcF9kaWZmZXJlbmNlO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRpdGVtc19nYXBfZGlmZmVyZW5jZX0pO1xuICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRpdGVtX2dhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAjeyRifV9fbG9nby13cmFwIHtcbiAgICB9XG4gICAgICAjeyRifV9fbG9nbyB7XG4gICAgICB9XG4gIH1cbi8qIEVORDogVW5pcXVlIENTUyBmb3IgZWFjaCBIZWFkZXIgVHlwZSAqL1xuIiwiJi0tdHlwZS1nLFxuJi0tdHlwZS1oIHtcblxuICBwYWRkaW5nOiAwICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgI3skYn1fX2FkZG9ucy13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihwYWRkaW5nKTtcbiAgfVxuICAgICN7JGJ9X19zZWFyY2gtd3JhcCB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgIH1cbiAgICAjeyRifV9fbG9nby13cmFwIHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAjeyRifV9fc29jaWFsLWxpbmtzIHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICN7JGJ9X19tZW51LXdyYXAge1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHBhZGRpbmcpO1xuICB9XG4gICAgI3skYn1fX21lbnUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICYgPiBkaXYgPiB1bCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAkZmlyc3RfbGFzdF9pdGVtX3dpZHRoOiAxNCU7XG4gICAgICAgICAgJG1pZGRsZV9pdGVtc193aWR0aDogKDEwMCUgLSAkZmlyc3RfbGFzdF9pdGVtX3dpZHRoICogMikgLyAzO1xuXG4gICAgICAgICAgd2lkdGg6ICRtaWRkbGVfaXRlbXNfd2lkdGg7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKDVuKTpsYXN0LWNoaWxkLFxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICB3aWR0aDogJGZpcnN0X2xhc3RfaXRlbV93aWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKDVuKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbn1cbi8qIFNUQVJUOiBNZW51IEl0ZW1zIEdhcCAqL1xuICAkZmlyc3RfaXRlbV9nYXA6IHJlbS1jYWxjKDEyMCk7XG4gICRpdGVtX2dhcDogcmVtLWNhbGMoMTY1KTtcbiAgJGl0ZW1zX2dhcF9kaWZmZXJlbmNlOiAkaXRlbV9nYXAgLSAkZmlyc3RfaXRlbV9nYXA7XG4vKiBFTkQ6IE1lbnUgSXRlbXMgR2FwICovXG5cbi8qIFNUQVJUOiBVbmlxdWUgQ1NTIGZvciBlYWNoIEhlYWRlciBUeXBlICovXG4gICYtLXR5cGUtZyB7XG5cbiAgICAjeyRifV9fYWRkb25zLXdyYXAge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDU3KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0OCk7XG4gICAgfVxuICAgICAgI3skYn1fX3NlYXJjaC13cmFwIHtcbiAgICAgIH1cbiAgICAgICN7JGJ9X19sb2dvLXdyYXAge1xuICAgICAgfVxuICAgICAgI3skYn1fX3NvY2lhbC1saW5rcyB7XG4gICAgICB9XG4gICAgI3skYn1fX21lbnUtd3JhcCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTcpO1xuICAgIH1cbiAgICAgICN7JGJ9X19tZW51IHtcbiAgICAgIH1cbiAgfVxuXG4gICYtLXR5cGUtaCB7XG4gICAgI3skYn1fX2FkZG9ucy13cmFwIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg2OCk7XG4gICAgfVxuICAgICAgI3skYn1fX3NlYXJjaC13cmFwIHtcbiAgICAgIH1cbiAgICAgICN7JGJ9X19sb2dvLXdyYXAge1xuICAgICAgfVxuICAgICAgI3skYn1fX3NvY2lhbC1saW5rcyB7XG4gICAgICB9XG4gICAgI3skYn1fX21lbnUtd3JhcCB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzUpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDU1KTtcbiAgICB9XG4gICAgICAjeyRifV9fbWVudSB7XG4gICAgICB9XG4gIH1cbi8qIEVORDogVW5pcXVlIENTUyBmb3IgZWFjaCBIZWFkZXIgVHlwZSAqL1xuXG4vKiBTVEFSVDogV0hFTiBTVElDS1kgQURKVVNUUyBQQURESU5HUyAqL1xuICBAYXQtcm9vdCB7XG4gICAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWcgLmZsby1oZWFkZXJfX2FkZG9ucy13cmFwLFxuICAgIC5mbG8taGVhZGVyLS1zdGlja3kgLmlzLXN0aWNreSAuZmxvLWhlYWRlci0tdHlwZS1oIC5mbG8taGVhZGVyX19hZGRvbnMtd3JhcCB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEzKTtcbiAgICB9XG4gICAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWcgLmZsby1oZWFkZXJfX21lbnUtd3JhcCxcbiAgICAuZmxvLWhlYWRlci0tc3RpY2t5IC5pcy1zdGlja3kgLmZsby1oZWFkZXItLXR5cGUtaCAuZmxvLWhlYWRlcl9fbWVudS13cmFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgfVxuLyogRU5EOiBXSEVOIFNUSUNLWSBBREpVU1RTIFBBRERJTkdTICovXG4iLCImLS10eXBlLWksXG4mLS10eXBlLWoge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiByZW0tY2FsYygzNSkgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsIHJlbS1jYWxjKDQxKSAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICN7JGJ9X19sZWZ0LXNpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgI3skYn1fX3JpZ2h0LXNpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAgICN7JGJ9X19zZWFyY2gtd3JhcCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDc2KTtcbiAgICB9XG59XG4vKiBTVEFSVDogVW5pcXVlIENTUyBmb3IgZWFjaCBIZWFkZXIgVHlwZSAqL1xuICAmLS10eXBlLWkge1xuICAgICN7JGJ9X19sZWZ0LXNpZGUge1xuICAgIH1cbiAgICAgICN7JGJ9X19tZW51LXRyaWdnZXItd3JhcCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzYpO1xuICAgICAgfVxuICAgICN7JGJ9X19yaWdodC1zaWRlIHtcbiAgICB9XG4gICAgICAjeyRifV9fc2VhcmNoLXdyYXAge1xuICAgICAgfVxuICB9XG5cbiAgJi0tdHlwZS1qIHtcbiAgICAjeyRifV9fbGVmdC1zaWRlIHtcbiAgICB9XG4gICAgI3skYn1fX3JpZ2h0LXNpZGUge1xuICAgIH1cbiAgICAgICN7JGJ9X19tZW51LXRyaWdnZXItd3JhcCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzNik7XG4gICAgICB9XG4gIH1cbi8qIEVORDogVW5pcXVlIENTUyBmb3IgZWFjaCBIZWFkZXIgVHlwZSAqL1xuIiwiJl9fbWVudS10cmlnZ2VyLXdyYXAge1xuICAjeyRifV9fbWVudS10cmlnZ2VyIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlKCk7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICB9XG59XG4iLCImX19sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICYtLWlzLWxpZ2h0IHtcbiAgICAjeyRifV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAjeyRifV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICYtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgJi0tc3RpY2t5LFxuICAgICYtLWxpZ2h0XG4gICAge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgfVxufVxuIiwiJl9fc2VhcmNoLXdyYXAge1xufVxuICAmX19zZWFyY2gtZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgICB3aWR0aDogcmVtLWNhbGMoMjY0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuICAgICZfX3NlYXJjaC1mb3JtLWxhYmVsLFxuICAgICZfX3NlYXJjaC1mb3JtLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICAgICZfX3NlYXJjaC1pY29uIHtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICB9XG4gICAgJl9fc2VhcmNoLWZvcm0tbGFiZWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMSk7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgJl9fc2VhcmNoLWZvcm0taW5wdXQge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXI6IG5vbmUhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmX19zZWFyY2gtZm9ybS1zdWJtaXQge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZTtcbiAgICB9XG4gICAgICAmX19zZWFyY2gtaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgfVxuIiwiJl9fc29jaWFsLWxpbmtzIHtcbiAgYSB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTgpO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgfVxuICB9XG59XG4iLCJAYXQtcm9vdCB7XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgei1pbmRleDogOTk5OTtcbiAgfVxufVxuJl9fbWVudS1wb3B1cCB7XG4gIHRvcDogMCFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGZsZXghaW1wb3J0YW50O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IHJlbS1jYWxjKDQyMCk7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogcmVtLWNhbGMoODUpIHJlbS1jYWxjKDc5KSByZW0tY2FsYyg3OCkgcmVtLWNhbGMoMTU1KTtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbn1cbiAgJl9fbWVudS1wb3B1cC1lbGVtZW50cy13cmFwIHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuICAgICZfX21lbnUtcG9wdXAtbG9nby13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICN7JGJ9X19sb2dvIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCUhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX21lbnUtcG9wdXAtY2xvc2Uge1xuICAgICAgICAkc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKC0zNikgLSAkc2l6ZTtcblxuICAgICAgICBmb250LXNpemU6ICRzaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZSgpO1xuICAgICAgfVxuXG4gICAgJl9fbWVudS1wb3B1cC1tZW51LXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTQzKTtcblxuICAgICAgI3skYn1fX21lbnUge1xuICAgICAgICAmID4gZGl2ID4gdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOSk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICYgPiBsaSA+IHVsIHtcbiAgICAgICAgICAgICAgJGRyb3Bkb3duX29mZnNldDogcmVtLWNhbGMoNDcpO1xuXG4gICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArICN7JGRyb3Bkb3duX29mZnNldH0pO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuXG4gICAgICAgICAgICAgIC8vIFRyaWFuZ2xlXG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRvcDogMC41ZW07XG4gICAgICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoNzUlKTtcblxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwLjQzNzVyZW0gMC4zNzVyZW0gMC40Mzc1cmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gVHJpYW5nbGUgUGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkZHJvcGRvd25fb2Zmc2V0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJl9fbWVudS1wb3B1cC10ZXh0LWFib3ZlLWNvcHlyaWdodC1ub3RpY2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTcpO1xuICAgIH1cblxuICAgICZfX21lbnUtcG9wdXAtY29weXJpZ2h0LW5vdGljZSB7XG4gICAgfVxuXG4gICAgJl9fbWVudS1wb3B1cC1mbG8tbG9nbyB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg2Myk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgfVxuQGF0LXJvb3Qge1xuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIC8vIHotaW5kZXg6IDEwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgfVxufVxuIiwiJi0tdHlwZS1rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogcmVtLWNhbGMoMjIpICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG5cbiAgI3skYn1fX2xlZnQtY29sdW1uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6ICgkZ2xvYmFsLWd1dHRlci13aWR0aCAqIDMpICsgKCRnbG9iYWwtY29sdW1uLXdpZHRoICogMik7XG4gIH1cbiAgICAjeyRifV9fc29jaWFsLWxpbmtzLWxpbmUge1xuICAgIH1cbiAgICAjeyRifV9fc29jaWFsLWxpbmtzLXRleHQge1xuICAgIH1cbiAgI3skYn1fX21pZGRsZS1jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMCByZW0tY2FsYygzNyk7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgLy8gQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgfVxuICAgICN7JGJ9X190b3AtcGFydCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE2KSByZW0tY2FsYygyMykgcmVtLWNhbGMoMjEpIHJlbS1jYWxjKDIzKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgIC8vIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJvcmRlci1jb2xvcik7XG4gICAgfVxuICAgICAgI3skYn1fX3ByZS10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICN7JGJ9X190aXRsZS1kaXZpZGVyIHtcbiAgICAgIH1cbiAgICAgICN7JGJ9X190aXRsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgI3skYn1fX2J1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYpIHJlbS1jYWxjKDE5KSByZW0tY2FsYygzKSByZW0tY2FsYygxOSk7XG4gICAgICB9XG4gICAgI3skYn1fX2JvdHRvbS1wYXJ0IHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI0KSByZW0tY2FsYygyMykgcmVtLWNhbGMoMjIpIHJlbS1jYWxjKDIzKTtcbiAgICB9XG4gICAgICAvKiBTVEFSVDogTWVudSBJdGVtcyBHYXAgKi9cbiAgICAgICAgJGZpcnN0X2l0ZW1fZ2FwOiByZW0tY2FsYygwKTtcbiAgICAgICAgJGl0ZW1fZ2FwOiByZW0tY2FsYyg3MCk7XG4gICAgICAgICRpdGVtc19nYXBfZGlmZmVyZW5jZTogJGl0ZW1fZ2FwIC0gJGZpcnN0X2l0ZW1fZ2FwO1xuICAgICAgLyogRU5EOiBNZW51IEl0ZW1zIEdhcCAqL1xuXG4gICAgICAjeyRifV9fbWVudSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAmID4gZGl2ID4gdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kaXRlbXNfZ2FwX2RpZmZlcmVuY2U7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7JGl0ZW1zX2dhcF9kaWZmZXJlbmNlfSk7XG4gICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkaXRlbV9nYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgI3skYn1fX3JpZ2h0LWNvbHVtbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIHdpZHRoOiAoJGdsb2JhbC1ndXR0ZXItd2lkdGggKiAzKSArICgkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDIpO1xuICB9XG4gICAgI3skYn1fX3NvY2lhbC1saW5rcy1saW5lIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjcpO1xuICAgICAgLy8gQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gICAgI3skYn1fX3NvY2lhbC1saW5rcyB7XG4gICAgICAmID4gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgfVxuICAgIH1cbiAgICAjeyRifV9fc29jaWFsLWxpbmtzLXRleHQge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjQpO1xuICAgIH1cblxuICAgICN7JGJ9X19wcmUtdGl0bGUsXG4gICAgI3skYn1fX3RpdGxlLFxuICAgICN7JGJ9X19idXR0b24sXG4gICAgI3skYn1fX3NvY2lhbC1saW5rcy1saW5lLFxuICAgICN7JGJ9X190aXRsZS1kaXZpZGVyLFxuICAgICN7JGJ9X19zb2NpYWwtbGlua3MtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgfVxuXG4gICAgI3skYn1fX2J1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICB9XG5cbn1cbiIsIiYtLXR5cGUtbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiByZW0tY2FsYygzOSkgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICB3aWR0aDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgJi5hbGlnbi1mbGV4LXN0YXJ0e1xuICAgICN7JGJ9X19tZW51IHtcbiAgICAgICYtLWxlZnQsICYtLXJpZ2h0e1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAjeyRifV9fY2VudGVyZWQtbG9nby13cmFwe1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICAjeyRifV9fc29jaWFsLWxpbmtzIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI1KTtcbiAgICB9XG4gIH1cbiAgI3skYn1fX21lbnUge1xuICAgICRnYXA6ICRnbG9iYWwtY29sdW1uLXdpZHRoIC8gMjtcbiAgICAmLS1sZWZ0LCAmLS1yaWdodHtcbiAgICB9XG4gICAgJi0tbGVmdCB7XG4gICAgICAjeyRifV9fbWVudS1pdGVtcyA+IGxpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwXG4gICAgICB9XG4gICAgICAmID4gZGl2ID4gdWx7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICAgICYtLXJpZ2h0IHtcbiAgICAgIC5mbG8taGVhZGVyX19zZWFyY2gtd3JhcCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5mbG8taWNvbi1jbG9zZSxcbiAgICAgICAgLmZsby1pY29uLXNlYXJjaHtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgICAgfVxuICAgICAgICAuZmxvLWljb24tY2xvc2V7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB9XG4gICAgICAgIC5zZWFyY2gtdmlzaWJsZSArIC5mbG8taGVhZGVyX19zZWFyY2gtdHJpZ2dlcntcbiAgICAgICAgICAuZmxvLWljb24tc2VhcmNoe1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmZsby1pY29uLWNsb3Nle1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZsby1oZWFkZXJfX3NlYXJjaC1mb3Jte1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogLTEuNjI1cmVtO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMC44MjVyZW0gMC42MjVyZW07XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjZGNSAhaW1wb3J0YW50O1xuICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgMS4yMjVyZW0pO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICAgICAgJi5zZWFyY2gtdmlzaWJsZXtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwLjU3ODEycmVtIDAuNTkzNzVyZW0gMC41NzgxMnJlbTtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNGOEY2RjU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5mbG8taGVhZGVyX19zZWFyY2gtZm9ybS1pbnB1dHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGOEY2RjUhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX3NlYXJjaC10cmlnZ2Vye1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICN7JGJ9X19tZW51LWl0ZW1zID4gbGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGdhcFxuICAgICAgfVxuICAgICAgJiA+IGRpdiA+IHVse1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZmxvLWhlYWRlci10b3BiYXIge1xuICAkYjogXCIuZmxvLWhlYWRlci10b3BiYXJcIjtcblxuICAmLS1zaW1wbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICY6YWZ0ZXIsXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHdpZHRoKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmX19jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICAgICAgXG4gICAgfVxuICB9XG4gIFxuICAmLS1leHRlbmRlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBcbiAgICAmX190aXRsZSB7XG4gICAgfVxuICAgICZfX3RleHQge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICBcbiAgICAmX19idXR0b24ge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApIHJlbS1jYWxjKDMwKTtcbiAgICAgIFxuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IsIGJveC1zaGFkb3csIHRyYW5zZm9ybSk7XG4gICAgICBcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMzBweCA1cHggcmdiYSgwLCAwLCAwLCAuMSk7XG4gICAgICB9XG4gICAgICAmOmFjdGl2ZSwgXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fY2xvc2Uge1xuICAgICAgXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgfVxuICAgIFxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBcbiAgICAmLS1zaW1wbGUge1xuICAgICAgXG4gICAgICBwYWRkaW5nOiAyMHB4IDEwMHB4O1xuICAgICAgXG4gICAgICAmX19idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogNjVweDtcbiAgICAgIH1cbiAgICAgICZfX2Nsb3NlIHtcbiAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi0tZXh0ZW5kZWQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgcGFkZGluZzogMjVweCAwO1xuICAgICAgXG4gICAgICAmX19pbWFnZS13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0NXB4O1xuICAgICAgICBcbiAgICAgICAgI3skYn1fX2ltYWdlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgJl9fdGV4dC13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoOTApO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgfVxuICAgICAgXG4gICAgICAmX19hY3Rpb25zLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgICBcbiAgICAgICAgJl9fY2xvc2Uge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIC8vIHRvcDogMjVweDtcbiAgICAgICAgICAvLyByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgXG4gICAgfVxuXG4gIH1cbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAmLS1leHRlbmRlZCB7XG4gICAgICAmX19pbWFnZS13cmFwIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgXG4gICAgJi0tc2ltcGxlIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKSAwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIFxuICAgICAgJl9fdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICAgICZfX2Nsb3NlIHtcbiAgICAgICAgdG9wOiByZW0tY2FsYyg3KTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi0tZXh0ZW5kZWQge1xuICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gIH1cbn0iLCIuZmxvX3BhZ2Vfd3JhcHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvL2ZsZXgtd3JhcDogd3JhcDtcbiAgJi0tcGFkZGluZy10b3AtbGFyZ2V7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1MCk7XG4gIH1cbn1cblxuLmZsb19wYWdlIHtcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogMTAwJTtcbn1cbiIsIi5mbG8tcG9zdC13cmFwIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIC8vIG1heC13aWR0aDogJGNvbnRlbnQtbWVkaXVtLXdpZHRoO1xufVxuXG4uZmxvLXBvc3QtLW5vdC1mb3VuZCB7XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XG59XG5cbi5mbG8tcG9zdCwgLmZsby1wb3N0X19zdHlsZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5ibG9ja3MtZ2FsbGVyeS1pdGVte1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuXG4gIHB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuXG4gIGJsb2NrcXVvdGV7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIHB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgfVxuICBoMSxoMixoMyxoNCxoNSxoNntcbiAgICBwYWRkaW5nLWJvdHRvbTogIHJlbS1jYWxjKDI0KTtcbiAgfVxuXG5cbiAgICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgMy4wIEFsaWdubWVudHNcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gIC5hbGlnbmxlZnQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNWVtO1xuICB9XG5cbiAgLmFsaWducmlnaHQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xuICB9XG5cbiAgLmFsaWduY2VudGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIDguMCBMaXN0c1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW46IDAgMCAxLjVlbTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gIH1cblxuICBvbCB7XG4gICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbiAgfVxuXG4gIGxpID4gdWwsXG4gIGxpID4gb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xuICB9XG5cbiAgZHQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICBkZCB7XG4gICAgbWFyZ2luOiAwIDEuNWVtIDEuNWVtO1xuICB9XG5cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAxNi4wIE1lZGlhXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICBpbWcsXG4gIHZpZGVvIHtcbiAgICBoZWlnaHQ6IGF1dG87IC8qIE1ha2Ugc3VyZSBpbWFnZXMgYXJlIHNjYWxlZCBjb3JyZWN0bHkuICovXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvKiBBZGhlcmUgdG8gY29udGFpbmVyIHdpZHRoLiAqL1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cblxuICAuY29tbWVudC1jb250ZW50IC53cC1zbWlsZXkge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8qIE1ha2Ugc3VyZSBlbWJlZHMgYW5kIGlmcmFtZXMgZml0IHRoZWlyIGNvbnRhaW5lcnMuICovXG5cbiAgZW1iZWQsXG4gIGlmcmFtZSxcbiAgb2JqZWN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAud3AtY2FwdGlvbixcbiAgLndwLWNhcHRpb24gYSxcbiAgLmdhbGxlcnktY2FwdGlvbiB7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgZm9udC1zaXplOiAwLjYxMjVyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICB9XG5cbiAgLndwLWNhcHRpb24gaW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLndwLWNhcHRpb24gLndwLWNhcHRpb24tdGV4dCwgLndwLWNhcHRpb24tdGV4dCBhIHtcbiAgICBtYXJnaW46IDAuODA3NWVtIDA7XG4gIH1cbiAgLndwLWNhcHRpb24gcHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLyogTWVkaWEgRWxlbWVudHMgKi9cblxuICAubWVqcy1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206ICByZW0tY2FsYyg1KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvKiBBdWRpbyBQbGF5ZXIgKi9cblxuICAubWVqcy1jb250cm9scyBhLm1lanMtaG9yaXpvbnRhbC12b2x1bWUtc2xpZGVyLFxuICAubWVqcy1jb250cm9scyBhLm1lanMtaG9yaXpvbnRhbC12b2x1bWUtc2xpZGVyOmZvY3VzLFxuICAubWVqcy1jb250cm9scyBhLm1lanMtaG9yaXpvbnRhbC12b2x1bWUtc2xpZGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIDE2LjEgR2FsbGVyaWVzXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAuZ2FsbGVyeS1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbjogMCAwIDEuNWVtO1xuICAgIHBhZGRpbmc6IDAgMWVtIDAgMDtcbiAgICB3aWR0aDogNTAlO1xuICB9XG5cbiAgLmdhbGxlcnktY29sdW1ucy0xIC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGF7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbSB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cblxuICAuZ2FsbGVyeS1pdGVtIGEsXG4gIC5nYWxsZXJ5LWl0ZW0gYTpob3ZlcixcbiAgLmdhbGxlcnktaXRlbSBhOmZvY3VzIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZ2FsbGVyeS1pdGVtIGEgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtZmlsdGVyIDAuMnMgZWFzZS1pbjtcbiAgICB0cmFuc2l0aW9uOiAtd2Via2l0LWZpbHRlciAwLjJzIGVhc2UtaW47XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMnMgZWFzZS1pbjtcbiAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4ycyBlYXNlLWluLCAtd2Via2l0LWZpbHRlciAwLjJzIGVhc2UtaW47XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLmdhbGxlcnktaXRlbSBhOmhvdmVyIGltZyxcbiAgLmdhbGxlcnktaXRlbSBhOmZvY3VzIGltZyB7XG4gICAgLXdlYmtpdC1maWx0ZXI6IG9wYWNpdHkoNjAlKTtcbiAgICBmaWx0ZXI6IG9wYWNpdHkoNjAlKTtcbiAgfVxuXG4gIC5nYWxsZXJ5LWNhcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMCAxMHB4IDAgMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLyogc3BhY2luZyBiZWxvdyBpbWFnZSAqL1xuICBhIGltZywgaW1nLCBpbWcuYWxpZ25sZWZ0LCBpbWcuYWxpZ25yaWdodCwgaW1nLmFsaWduY2VudGVye1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgLyogR2FsbGVyeSBDb2x1bW5zICovXG4gICAgLy9wIHtcbiAgICAvLyAgcGFkZGluZzogMCByZW0tY2FsYyg5NSk7XG4gICAgLy99XG4gICAgLy9oMSxoMixoMyxoNCxoNSxoNntcbiAgICAvLyAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg5NSk7XG4gICAgLy8gIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDk1KTtcbiAgICAvL31cblxuICAgICAgLy8gZmlnaHRpbmcgdGhlIHNwYWNlIGJldHdlZW4gZGlzcGxheSBpbmxpbmUgZWxlbWVudHNcbiAgICAgIGRpdi5nYWxsZXJ5e1xuICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgIH1cbiAgICAgIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgIH1cblxuICAgICAgLmdhbGxlcnktY29sdW1ucy0xIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICB9XG5cbiAgICAgIC5nYWxsZXJ5LWNvbHVtbnMtMyAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMyU7XG4gICAgICB9XG5cbiAgICAgIC5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICB9XG4gICAgICAuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogMjAlO1xuICAgICAgfVxuICAgICAgLmdhbGxlcnktY29sdW1ucy02IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDE2LjY2JTtcbiAgICAgIH1cbiAgICAgIC5nYWxsZXJ5LWNvbHVtbnMtNyAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNC4yODUlO1xuICAgICAgfVxuICAgICAgLmdhbGxlcnktY29sdW1ucy04IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDEyLjUlO1xuICAgICAgfVxuICAgICAgLmdhbGxlcnktY29sdW1ucy05IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDExLjExMSU7XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICB9XG59XG5cbi5wb3N0LXBhc3N3b3JkLWZvcm17XG4gIG1heC13aWR0aDogODAwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDYwcHg7XG5cbiAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJde1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmF5LWxpZ2h0IWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLmZsby1yZWxhdGVkLWl0ZW1zIHtcbiAgJGI6IFwiLmZsby1yZWxhdGVkLWl0ZW1zXCI7XG5cbiAgJl9fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMzKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gIH1cbiAgJl9faXRlbXMge1xuXG4gIH1cbiAgICAmX19pdGVtIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAgICZfX2l0ZW0taW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgICAgfVxuICAgICAgJl9faXRlbS10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgICZfX3RpdGxlIHtcblxuICAgICAgJjphZnRlciB7XG5cbiAgICAgIH1cbiAgICB9XG4gICAgJl9faXRlbXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6ICRnbG9iYWwtY29sdW1uLXdpZHRoICogNztcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdsb2JhbC1jb2x1bW4td2lkdGggKiAxLjU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAjeyRifV9faXRlbS1pbWFnZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX2l0ZW0taW1hZ2Uge1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjIxLjUpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICB9XG4gICAgICAgICZfX2l0ZW0tdGl0bGUge1xuICAgICAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG4gICAgJl9fdGl0bGUge1xuXG4gICAgICAmOmFmdGVyIHtcblxuICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtcyB7XG5cbiAgICB9XG4gICAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xuICAgICAgfVxuICAgICAgICAmX19pdGVtLWltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9faXRlbS10aXRsZSB7XG5cbiAgICAgICAgfVxuICB9XG59XG4iLCIuZmxvLXJldmVhbCB7XG4gICRiOiBcIi5mbG8tcmV2ZWFsXCI7XG5cbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgJi0tdmlzaWJsZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWxcbiAgfVxuXG4gICYtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cblxuICAvLyBTdGFydDogQXBwZWFyL0Rpc2FwcGVhclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcblxuICAgIC8vIFN0YXJ0OiBEZWZhdWx0c1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogLTEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIC8vIEVuZDogRGVmYXVsdHNcblxuICAgIC8vIFN0YXJ0OiBSZWFkeSBmb3IgdHJhbnNpdGlvblxuICAgICAgJi0tcmVhZHkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuICAgICAgfVxuICAgIC8vIEVuZDogUmVhZHkgZm9yIHRyYW5zdGlvblxuXG4gICAgLy8gU3RhcnQ6IFRyYW5zaXRpb24gaW5pdGlhbCBwb3NpdGlvblxuICAgICAgJltkYXRhLWluaXRpYWwtcG9zaXRpb249XCJsZWZ0XCJdIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICYjeyRifS0tdmlzaWJsZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZbZGF0YS1pbml0aWFsLXBvc2l0aW9uPVwicmlnaHRcIl0ge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAmI3skYn0tLXZpc2libGUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgLy8gRW5kOiBUcmFuc2l0aW9uIGluaXRpYWwgcG9zaXRpb25cblxuICAgICYtb3ZlcmxheSB7XG4gICAgICAmOm5vdCgjeyRifS1vdmVybGF5LS12aXNpYmxlKXtcbiAgICAgICAgb3BhY2l0eTogMCFpbXBvcnRhbnQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgfVxuXG4gIC8vIEVuZDogQXBwZWFyL0Rpc2FwcGVhclxuXG4gIC8vIFN0YXJ0OiBaLUluZGV4IE1hcFxuICAgIHotaW5kZXg6IDEwMDAwMDE7XG5cbiAgICAmLW92ZXJsYXkge1xuICAgICAgei1pbmRleDogMTAwMDAwO1xuICAgIH1cbiAgLy8gU3RhcnQ6IFotSW5kZXggTWFwXG59XG4iLCIuZmxvLXNsaWRlc2hvdyB7XG4gICRiOiBcIi5mbG8tc2xpZGVzaG93XCI7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcblxuICBAaW1wb3J0IFwiZmxvLXNsaWRlc2hvd19fc2xpZGVzXCI7XG5cbiAgJl9fbGF5b3V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgQGltcG9ydCBcImZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1hXCI7XG4gIEBpbXBvcnQgXCJmbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYlwiO1xuICBAaW1wb3J0IFwiZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWNcIjtcblxuICAvKiBTVEFSVDogT05FIFNMSURFIE1PRElGSUNBVE9SICovXG4gICAgJi0tb25lLXNsaWRlIHtcbiAgICAgICN7JGJ9X19zbGlkZXMge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgICAjeyRifV9fY291bnRlcixcbiAgICAgICN7JGJ9X19hcnJvdy1uZXh0LFxuICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9yc1xuICAgICAge1xuICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIC8qIEVORDogT05FIFNMSURFIE1PRElGSUNBVE9SICovXG5cbiAgLyogU1RBUlQ6IENPVU5URVIgKi9cbiAgICAmX19jb3VudGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgICAgJl9fY291bnRlci1pbmRleCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbSFpbXBvcnRhbnQ7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJl9fY291bnRlci1zZXBhcmF0b3IsXG4gICAgICAmX19jb3VudGVyLWNvdW50IHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgfVxuICAgICAgJl9fY291bnRlci1zZXBhcmF0b3Ige1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDQpO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIH1cbiAgICAgICZfX2NvdW50ZXItY291bnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW0haW1wb3J0YW50O1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAmX19jb3VudGVyIHtcbiAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICByaWdodDogcmVtLWNhbGMoNTUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgJl9fY291bnRlciB7XG4gICAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gIC8qIEVORDogQ09VTlRFUiAqL1xuXG4gIC8qIFNUQVJUOiBUSVRMRSBBUkVBICovXG4gICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogOTAlO1xuXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAgICAgJl9fdGl0bGUtYXJlYS1wcmV0aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZS1hcmVhLXRpdGxlIHtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAmX190aXRsZS1hcmVhIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMuMSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm90dG9tOiAzMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgLyogRU5EOiBUSVRMRSBBUkVBICovXG5cbiAgLyogU1RBUlQ6IEZFQVRVUkVEIExJTksgKi9cbiAgICAmX19mZWF0dXJlZC1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWxpbmstdGl0bGUtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSk7XG4gICAgICB9XG4gICAgICAgICZfX2ZlYXR1cmVkLWxpbmstcHJldGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZmVhdHVyZWQtbGluay10aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgJl9fZmVhdHVyZWQtbGluay1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuXG4gICAgICAgICRzaXplOiByZW0tY2FsYygxMTcuNSk7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxMi41KSBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWxpbmstZGl2aWRlciB7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoODApO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgJl9fZmVhdHVyZWQtbGluayB7XG5cbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAmX19mZWF0dXJlZC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgIH1cblxuICAvKiBFTkQ6IEZFQVRVUkVEIExJTksgKi9cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIEBhdC1yb290IHtcbiAgICAgIC5mbG8tYmxvY2stLW1lcmdlZC13aXRoLWhlYWRlciB7XG5cbiAgICAgICAgJi5mbG8tc2xpZGVzaG93LWJsb2NrLS10eXBlLWEge1xuICAgICAgICAgIC5mbG8taGVhZGVyLmlzLW5vdC1zdGlja3kge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIEBhdC1yb290IHtcbiAgICAgIC5mbG8tYmxvY2stLW1lcmdlZC13aXRoLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwIWltcG9ydGFudDtcblxuICAgICAgICAmLmZsby1zbGlkZXNob3ctYmxvY2stLXR5cGUtYSB7XG4gICAgICAgICAgLmZsby1oZWFkZXItbW9iaWxlLm5vdC1zdGlja3kuaXMtbWFpbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCImLS1vbmUtc2xpZGUge1xuICAuc2xpY2stbGlzdFxuICAvLyAuc2xpY2stdHJhY2tcbiAgLy8gLnNsaWNrLXNsaWRlLFxuICAvLyAjeyRifV9fc2xpZGUtY29udGVudFxuICB7XG4gICAgaGVpZ2h0OiBhdXRvIWltcG9ydGFudDtcbiAgfVxufVxuJl9fc2xpZGVzIHtcbiAgZmxleC1ncm93OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgLnNsaWNrLWxpc3QsXG4gIC5zbGljay10cmFjayxcbiAgLnNsaWNrLXNsaWRlLFxuICAjeyRifV9fc2xpZGUtY29udGVudFxuICB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbiN7JGJ9X19zbGlkZXMge1xufVxuI3skYn1fX3NsaWRlLWltZy0tYmdpIHtcbiAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3Zlcjtcbn1cbiN7JGJ9X19zbGlkZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cbiN7JGJ9X19zbGlkZS1jb250ZW50IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gIEBhdC1yb290IHtcbiAgICAuZmxvLWJsb2NrLS1tZXJnZWQtd2l0aC1oZWFkZXIge1xuICAgICAgI3skYn1fX3NsaWRlLWNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuI3skYn1fX3NsaWRlLWltZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gICYtLWltZyB7XG5cbiAgfVxuICAmLS1iZ2kge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuI3skYn1fX3NsaWRlLWJhY2tncm91bmQtdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICB9XG4gICYtLWNyb3BwZWQge1xuICAgIHZpZGVvIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbiAgJi0tbm8tY3JvcCB7XG4gICAgdmlkZW8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICN7JGJ9X19zbGlkZXMge1xuXG4gIH1cbiAgQGF0LXJvb3Qge1xuICAgIC5mbG8tYmxvY2sge1xuXG4gICAgfVxuXG4gIH1cbiAgI3skYn1fX3NsaWRlIHtcblxuICAgICYuZ3JhZGllbnQtdmlzaWJsZSB7XG4gICAgICAjeyRifV9fc2xpZGUtaW1nIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMC42NjY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gICAgI3skYn1fX3NsaWRlLWNvbnRlbnQge1xuXG4gICAgfVxuXG4gICAgI3skYn1fX3NsaWRlLWltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgfVxuXG4gICAgICAmLS1pbWcge1xuXG4gICAgICB9XG4gICAgICAmLS1iZ2kge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICN7JGJ9X19zbGlkZXMge1xuXG4gIH1cbiAgI3skYn1fX3NsaWRlIHtcblxuICB9XG4gICN7JGJ9X19zbGlkZS1jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIEBhdC1yb290IHtcbiAgICAgIC5mbG8tYmxvY2stLW1lcmdlZC13aXRoLWhlYWRlciB7XG4gICAgICAgICN7JGJ9X19zbGlkZS1jb250ZW50IHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICN7JGJ9X19zbGlkZS1pbWcge1xuICAgICYtLWJnaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIiZfX2xheW91dC0tdHlwZS1hIHtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICN7JGJ9X190aXRsZS1hcmVhLFxuICAgIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgICAgIGN1cnNvcjogbm9uZTtcbiAgICB9XG5cbiAgICAjeyRifV9fc2xpZGVzIHtcbiAgICAgIGN1cnNvcjogbm9uZTtcbiAgICB9XG4gICAgICAjeyRifV9fc2xpZGUtaW1nIHtcblxuICAgICAgfVxuXG4gICAgI3skYn1fX3RpdGxlLWFyZWEge1xuICAgICAgbGVmdDogcmVtLWNhbGMoOTcpO1xuICAgICAgYm90dG9tOiByZW0tY2FsYygzMzEpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgfVxuXG4gICAgI3skYn1fX2NvdW50ZXIge1xuICAgICAgYm90dG9tOiByZW0tY2FsYyg3MCk7XG4gICAgICBsZWZ0OiByZW0tY2FsYyg3Myk7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICN7JGJ9X19mZWF0dXJlZC1saW5rIHtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoNzApO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDczKTtcbiAgICB9XG4gICAgICAjeyRifV9fZmVhdHVyZWQtbGluay10aXRsZS1hcmVhIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICN7JGJ9X19hcnJvdy1uZXh0IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgI3skYn1fX2Fycm93LW5leHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy8gYm90dG9tOiByZW0tY2FsYygzMzEpO1xuICAgICAgLy8gcmlnaHQ6IHJlbS1jYWxjKDEzMCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvciwgb3BhY2l0eSwgdHJhbnNmb3JtKTtcblxuICAgICAgJi5pbnZlcnRlZCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICB9XG5cbn1cbiIsIkBhdC1yb290IHtcbiAgI3skYn0tYmxvY2stLXR5cGUtYiB7XG4gICAgJi5mbG8tYmxvY2stLW1lcmdlZC13aXRoLWhlYWRlciAuZmxvLWJsb2NrX19oZWFkZXIge1xuICAgIH1cbiAgfVxufVxuXG4mX19sYXlvdXQtLXR5cGUtYiB7XG5cbiAgI3skYn1fX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuICB9XG5cbiAgI3skYn1fX2Fycm93cyB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg4KTtcbiAgfVxuICAgICN7JGJ9X19hcnJvdyB7XG4gICAgICAmLS1uZXh0IHtcblxuICAgICAgfVxuICAgICAgJi0tcHJldiB7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgI3skYn1fX3NsaWRlcyB7XG5cbiAgfVxuICAgICN7JGJ9X19zbGlkZSB7XG5cbiAgICB9XG4gICAgICAjeyRifV9fc2xpZGUtbWFpbi13cmFwIHtcbiAgICAgIH1cbiAgICAgICAgI3skYn1fX3NsaWRlLWltYWdlLXdyYXAge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fc2xpZGUtaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgICAgICAgfVxuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgICN7JGJ9X19iYWNrZ3JvdW5kIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogY2FsYygxMDB2dyAtICN7JGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsfSk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAjeyRifV9fYXJyb3dzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIC8vIHJpZ2h0OiByZW0tY2FsYygxNjUpO1xuICAgICAgcmlnaHQ6ICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbCArICRnbG9iYWwtY29sdW1uLXdpZHRoICogMjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgdG9wOiByZW0tY2FsYygzNzEpO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuICAgICAgI3skYn1fX2Fycm93IHtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuXG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDUpO1xuICAgICAgICB9XG4gICAgICAgICYtLXByZXYge1xuXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICN7JGJ9X19zbGlkZXMge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgICAjeyRifV9fc2xpZGUge1xuXG4gICAgICAgICY6bm90KC5zbGljay1jdXJyZW50KSB7XG4gICAgICAgICAgI3skYn1fX3RpdGxlLWFyZWEge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3NsaWRlLWltYWdlLXdyYXAge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKDg1KX0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZ3JhZGllbnQtdmlzaWJsZSB7XG4gICAgICAgICAgI3skYn1fX3NsaWRlLWltYWdlIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICN7JGJ9X19zbGlkZS1tYWluLXdyYXAge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTA5MCk7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1jb2x1bW4td2lkdGggKiAyIC0gJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fc2xpZGUtaW1hZ2Utd3JhcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihoZWlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JGJ9X19zbGlkZS1pbWFnZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcblxuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICN7JGJ9X190aXRsZS1hcmVhIHtcbiAgICAgICAgICAgIGJvdHRvbTogJGdsb2JhbC1jb2x1bW4td2lkdGggLSByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBsZWZ0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAtIHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JGJ9X190aXRsZS1hcmVhLXByZXRpdGxlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgfVxuXG4gICAgI3skYn1fX2NvdW50ZXIge1xuICAgICAgbGVmdDogcmVtLWNhbGMoMTEwNSk7XG4gICAgICBib3R0b206IHJlbS1jYWxjKDEwNSk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAgICN7JGJ9X19jb3VudGVyLWluZGV4IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgICB9XG4gICAgICAjeyRifV9fY291bnRlci1zZXBhcmF0b3Ige1xuICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgICN7JGJ9X19jb3VudGVyLWNvdW50IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG4gICAgI3skYn1fX3NwYWNlciB7XG5cbiAgICB9XG4gICAgI3skYn1fX2Fycm93cyB7XG5cbiAgICB9XG4gICAgICAjeyRifV9fYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgJi0tbmV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1wcmV2IHtcblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAjeyRifV9fYmFja2dyb3VuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjeyRifV9fY291bnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICN7JGJ9X19zbGlkZXMge1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG4gICAgICAjeyRifV9fc2xpZGUge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X19zbGlkZS1tYWluLXdyYXAge1xuICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3NsaWRlLWltYWdlLXdyYXAge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICAgI3skYn1fX3NsaWRlLWltYWdlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgICAgICAgIH1cbiAgfVxuXG59XG4iLCJAYXQtcm9vdCB7XG4gIC5mbG8tc2xpZGVzaG93LWJsb2NrLS10eXBlLWMge1xuICAgICYuZmxvLWJsb2NrLS1tZXJnZWQtd2l0aC1oZWFkZXIgLmZsby1oZWFkZXIge1xuICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICBvcGFjaXR5OiAxIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICBvcGFjaXR5OiAwIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuJl9fbGF5b3V0LS10eXBlLWMge1xuXG4gIC8qIFNUQVJUOiBUT1AgQVJFQSAqL1xuICAgICN7JGJ9X190b3AtYXJlYSB7XG4gICAgfVxuICAgICAgI3skYn1fX3RvcC1hcmVhLWxvZ28ge1xuICAgICAgICAuZmxvLWhlYWRlci1sb2dvIHtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICN7JGJ9X190b3AtYXJlYS1zb2NpYWwtbGlua3Mge1xuICAgICAgICBhOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gIC8qIEVORDogVE9QIEFSRUEgKi9cblxuICAvKiBTVEFSVDogU0xJREVTICovXG4gICAgI3skYn1fX3NsaWRlcyB7XG5cbiAgICB9XG4gIC8qIEVORDogU0xJREVTICovXG5cbiAgLyogU1RBUlQ6IEZFQVRVUkVEIExJTksgKi9cbiAgICAjeyRifV9fZmVhdHVyZWQtbGluayB7XG5cbiAgICB9XG4gIC8qIEVORDogRkVBVFVSRUQgTElOSyAqL1xuXG4gIC8qIFNUQVJUOiBTTElERSBTRUxFQ1RPUiAqL1xuICAgICN7JGJ9X19zbGlkZS1zZWxlY3RvcnMge1xuXG4gICAgfVxuICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9yIHtcblxuICAgICAgfVxuICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3Itd3JhcCB7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3ItcHJldGl0bGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3Rvci1zZWNvbmQtcHJldGl0bGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3Rvci10aXRsZSB7XG5cbiAgICAgICAgICB9XG4gIC8qIEVORDogU0xJREUgU0VMRUNUT1IgKi9cblxuICAvKiBTVEFSVDogUklHSFQgQkFSICovXG4gICAgI3skYn1fX3JpZ2h0LWJhciB7XG4gICAgfVxuICAgICAgI3skYn1fX3JpZ2h0LWJhci1zZWFyY2gtdHJpZ2dlciB7XG5cbiAgICAgIH1cbiAgICAgICN7JGJ9X19yaWdodC1iYXItbGluayB7XG5cbiAgICAgIH1cbiAgICAgICN7JGJ9X19yaWdodC1iYXItbWVudS10cmlnZ2VyIHtcblxuICAgICAgfVxuICAvKiBFTkQ6IFJJR0hUIEJBUiAqL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJHJpZ2h0LWJhci13aWR0aDogJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICAgICRzbGlkZS1zZWxlY3RvcnMtaGVpZ2h0OiByZW0tY2FsYyg4MCk7XG5cbiAgICAvKiBTVEFSVDogVE9QIEFSRUEgKi9cbiAgICAgICN7JGJ9X190b3AtYXJlYSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skcmlnaHQtYmFyLXdpZHRofSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCkgJGdsb2JhbC1jb2x1bW4td2lkdGggMCAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X190b3AtYXJlYS1sb2dvIHtcblxuICAgICAgICB9XG4gICAgICAgICN7JGJ9X190b3AtYXJlYS1zb2NpYWwtbGlua3Mge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgLyogRU5EOiBUT1AgQVJFQSAqL1xuXG4gICAgLyogU1RBUlQ6IFNMSURFUyAqL1xuICAgICAgI3skYn1fX3NsaWRlcyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gI3skcmlnaHQtYmFyLXdpZHRofSk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtICN7JHNsaWRlLXNlbGVjdG9ycy1oZWlnaHR9KTtcbiAgICAgIH1cbiAgICAvKiBFTkQ6IFNMSURFUyAqL1xuXG4gICAgLyogU1RBUlQ6IEZFQVRVUkVEIExJTksgKi9cbiAgICAgICN7JGJ9X19mZWF0dXJlZC1saW5rIHtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygxOTMpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICB9XG4gICAgLyogRU5EOiBGRUFUVVJFRCBMSU5LICovXG5cbiAgICAvKiBTVEFSVDogU0xJREUgU0VMRUNUT1IgKi9cbiAgICAgICRzbGlkZS1zZWxlY3Rvci1nYXA6IHJlbS1jYWxjKDEyMik7XG4gICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3JzIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAjeyRyaWdodC1iYXItd2lkdGh9KTtcbiAgICAgICAgaGVpZ2h0OiAkc2xpZGUtc2VsZWN0b3JzLWhlaWdodDtcblxuICAgICAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzbGlkZS1zZWxlY3Rvci1nYXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3RvciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgICAgICAmLnNsaWNrLWN1cnJlbnQsXG4gICAgICAgICAgJjpob3ZlclxuICAgICAgICAgIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLnNsaWNrLWN1cnJlbnQge1xuICAgICAgICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9yLXByZXRpdGxlIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcblxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMTApfSk7XG5cbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3Itd3JhcCB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMykgcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHNsaWRlLXNlbGVjdG9yLWdhcDtcbiAgICAgICAgICAgIGhlaWdodDogJHNsaWRlLXNlbGVjdG9ycy1oZWlnaHQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3ItcHJldGl0bGUge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgKyAje3JlbS1jYWxjKDM3KX0pO1xuICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5LCBjb2xvcik7XG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjMuNSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9yLXNlY29uZC1wcmV0aXRsZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3ItdGl0bGUge1xuXG4gICAgICAgICAgICB9XG4gICAgLyogRU5EOiBTTElERSBTRUxFQ1RPUiAqL1xuXG4gICAgLyogU1RBUlQ6IFJJR0hUIEJBUiAqL1xuICAgICAgJHJpZ2h0LWJhci1wYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgJHJpZ2h0LWJhci1wYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgJHJpZ2h0LWJhci1wYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyNik7XG5cbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgLmZsby1ibG9jay0tbWVyZ2VkLXdpdGgtaGVhZGVyIHtcbiAgICAgICAgICAjeyRifV9fcmlnaHQtYmFyIHtcbiAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBmaXhlZCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAvLyB6LWluZGV4OiAxMDk5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgI3skYn1fX3JpZ2h0LWJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAkcmlnaHQtYmFyLXdpZHRoO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICAvLyBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X19yaWdodC1iYXItc2VhcmNoLXRyaWdnZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX3JpZ2h0LWJhci1saW5rIHtcbiAgICAgICAgICB3cml0aW5nLW1vZGU6IHRiLXJsO1xuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19yaWdodC1iYXItbWVudS10cmlnZ2VyIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuICAgICAgICB9XG5cbiAgICAgIC8qIFNUQVJUOiBIRUFERVIgUE9QVVAgU1RZTEUgKi9cbiAgICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAgIC5ib2R5LS1mbG8taGVhZGVyX19wb3B1cC0tZm9yLXNsaWRlc2hvdy10eXBlLWMge1xuXG4gICAgICAgICAgICAuZmxvLWhlYWRlci1wb3B1cCB7XG5cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmX19tYWluLXdyYXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdHJldGNoO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRyaWdodC1iYXItcGFkZGluZy1yaWdodDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHJpZ2h0LWJhci1wYWRkaW5nLXRvcDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJl9fdG9wLWJhciB7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICBib3R0b206ICRyaWdodC1iYXItcGFkZGluZy1ib3R0b207XG4gICAgICAgICAgICAgICAgICByaWdodDogJHJpZ2h0LWJhci1wYWRkaW5nLXJpZ2h0O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgJl9fY2xvc2Uge1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX3NlYXJjaCB7XG4gICAgICAgICAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNTUpO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICZfX3NlYXJjaC1pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICZfX3NlYXJjaC1zdWJtaXQge1xuXG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19tZW51IHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNTB2aDtcblxuICAgICAgICAgICAgICAgICAgJiA+IGRpdiA+IHVsID4gbGkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoICogMjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19zb2NpYWwtbGlua3Mge1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgYm90dG9tOiAkcmlnaHQtYmFyLXBhZGRpbmctYm90dG9tO1xuICAgICAgICAgICAgICAgICAgLy8gcmlnaHQ6ICRyaWdodC1iYXItcGFkZGluZy1yaWdodDtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIC8qIEVORDogSEVBREVSIFBPUFVQIFNUWUxFICovXG5cbiAgICAvKiBFTkQ6IFJJR0hUIEJBUiAqL1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICAvKiBTVEFSVDogVE9QIEFSRUEgKi9cbiAgICAgICN7JGJ9X190b3AtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X190b3AtYXJlYS1sb2dvIHtcbiAgICAgICAgfVxuICAgICAgICAjeyRifV9fdG9wLWFyZWEtc29jaWFsLWxpbmtzIHtcblxuICAgICAgICB9XG4gICAgLyogRU5EOiBUT1AgQVJFQSAqL1xuXG4gICAgLyogU1RBUlQ6IFNMSURFUyAqL1xuICAgICAgI3skYn1fX3NsaWRlcyB7XG5cbiAgICAgIH1cbiAgICAgICAgI3skYn1fX3RpdGxlLWFyZWEge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAvKiBFTkQ6IFNMSURFUyAqL1xuXG4gICAgLyogU1RBUlQ6IEZFQVRVUkVEIExJTksgKi9cbiAgICAgICN7JGJ9X19mZWF0dXJlZC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAvKiBFTkQ6IEZFQVRVUkVEIExJTksgKi9cblxuICAgIC8qIFNUQVJUOiBTTElERSBTRUxFQ1RPUiAqL1xuICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9ycyB7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoODApO1xuXG4gICAgICAgIC5zbGljay1saXN0IHtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgocmVtLWNhbGMoMjApKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3Ige1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtICN7cmVtLWNhbGMoNDApfSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZTtcblxuICAgICAgICAgICYuc2xpY2stY3VycmVudFxuICAgICAgICAgIHtcbiAgICAgICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3Rvci13cmFwOmJlZm9yZSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cblxuICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9yLXdyYXAge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTMpIHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtICN7cmVtLWNhbGMoNDApfSk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG5cbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAje3JlbS1jYWxjKDEwKX0pO1xuXG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3Rvci1wcmV0aXRsZSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMzcpfSk7XG4gICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcblxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIzLjUpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3Rvci1zZWNvbmQtcHJldGl0bGUge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3ItdGl0bGUge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgLyogRU5EOiBTTElERSBTRUxFQ1RPUiAqL1xuXG4gICAgLyogU1RBUlQ6IFJJR0hUIEJBUiAqL1xuICAgICAgI3skYn1fX3JpZ2h0LWJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X19yaWdodC1iYXItc2VhcmNoLXRyaWdnZXIge1xuXG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX3JpZ2h0LWJhci1saW5rIHtcblxuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19yaWdodC1iYXItbWVudS10cmlnZ2VyIHtcblxuICAgICAgICB9XG5cbiAgICAvKiBFTkQ6IFJJR0hUIEJBUiAqL1xuICB9XG5cbn1cbiIsIi5mbG8tc3BsYXNoIHtcbiAgJGI6IFwiLmZsby1zcGxhc2hcIjtcbiAgJGJjOiBcIi5mbG8taGVhZGVyXCI7XG4gIFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IDEwMDAwMDAwMDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIFxuICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihhbGwpO1xuICBcbiAgJl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgXG4gICAgI3skYmN9X19sb2dvLFxuICAgICN7JGJjfS1tb2JpbGVfX2xvZ28sXG4gICAgaW1nICB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICB9XG4gIFxuICAmX19jdXN0b20tcHJlbG9hZGVyIHtcbiAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvbnRhaW47XG4gICAgb3BhY2l0eTogMTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKXtcbiAgICAmX19jb250ZW50IHtcbiAgICAgICYtLW1lZGl1bS11cCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgICAmLS1zbWFsbC1vbmx5IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAmX19jb250ZW50IHtcbiAgICAgICYtLW1lZGl1bS11cCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgICAmLS1zbWFsbC1vbmx5IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgI3skYmN9LW1vYmlsZV9fbG9nbyBpbWd7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZsby1yZXNwb25zaXZlLWltYWdlLWJnKCcmX19jdXN0b20tcHJlbG9hZGVyJyk7XG59IiwiLmZsby10ZXh0LWNvbnRlbnQge1xuICAkYjogXCIuZmxvLXRleHQtY29udGVudFwiO1xuXG4gIG1heC13aWR0aDogbm9uZTtcbiAgcGFkZGluZzogcmVtLWNhbGMoNDApIDA7XG5cbn1cbiIsIi5mbG8taGVyby12aWRlby1lbWJlZCB7XG4gICRiOiBcIi5mbG8taGVyby12aWRlby1lbWJlZFwiO1xuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgaWZyYW1lIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJVxuICAgIH1cbiAgfVxuXG4gICZfX2J1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogcmVtLWNhbGMoNDApO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTAwO1xuXG4gICAgJHNpemU6IHJlbS1jYWxjKDY1KTtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkc2l6ZTtcbiAgICBmb250LXNpemU6ICRzaXplIC8gMS42MSAvIDEuNjEgLyAxLjYxO1xuXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbml0aWFsO1xuXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IsIHRvcCwgYm90dG9tLCBvcGFjaXR5LCBib3JkZXIsIHRyYW5zZm9ybSk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG4gIH1cbiAgICAmX19idXR0b24taWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG5cbiAgICAgICYtLXBsYXkge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgICAgJi0tc3RvcCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3RhcnQ6IFZpZGVvIE5vdCBQbGF5aW5nIFN0YXRlXG4gICAgICAmX19idXR0b24ge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICAgICAgJl9fYnV0dG9uLWljb24tLXBsYXkge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAvLyBFbmQ6IFZpZGVvIE5vdCBQbGF5aW5nIFN0YXRlXG4gIEBhdC1yb290IHtcblxuICAgIC8vIFN0YXJ0OiBCdXR0b24gQXQgQm90dG9tXG4gICAgICAmLS1idXR0b24tYXQtYm90dG9tIHtcbiAgICAgICAgI3skYn1fX2J1dHRvbiB7XG4gICAgICAgICAgdG9wOiA4MCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgICAmLS1idXR0b24tbW9iaWxlLWJvdHRvbSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAjeyRifV9fYnV0dG9uIHtcbiAgICAgICAgICAgICAgdG9wOiA4MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgLy8gRW5kOiBCdXR0b24gQXQgQm90dG9tXG5cbiAgICAvKiBTVEFSVDogQlVUVE9OIEhJRERFTiAqL1xuICAgICAgJi0tYnV0dG9uLWhpZGRlbiB7XG4gICAgICAgICN7JGJ9X19idXR0b24ge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAvKiBFTkQ6IEJVVFRPTiBISURERU4gKi9cblxuICAgIC8vIFN0YXJ0OiBWaWRlbyBQbGF5aW5nIFN0YXRlXG4gICAgICAudmlkZW8taXMtcGxheWluZyB7XG4gICAgICAgIC5mbG8tYmxvY2tfX2hlYWRlcixcbiAgICAgICAgLmZsby1oZWFkZXItbW9iaWxlLFxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fY2VudGVyZWQtbG9nbyxcbiAgICAgICAgLmZsby1zbGlkZXNob3dfX3R5cGUtYS1tZW51LFxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fc2xpZGUtY29udGVudCxcbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2NvdW50ZXIsXG4gICAgICAgIC5mbG8tc2xpZGVzaG93X190aXRsZS1hcmVhLFxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fZmVhdHVyZWQtbGluayxcbiAgICAgICAgLmZsby1zbGlkZXNob3dfX3RvcC1hcmVhLFxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1hZ2UsXG4gICAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2NvbnRlbnQtd3JhcCxcbiAgICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fY29udGVudC13cmFwLFxuICAgICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zX19jb250ZW50LXdyYXAsXG4gICAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTRfX2Fycm93cyxcbiAgICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctNF9fY291bnRlclxuICAgICAgICB7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lIWltcG9ydGFudDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2Fycm93LW5leHQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19idXR0b24ge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3RvcnNcbiAgICAgICAgICB7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JGJ9X19jb250YWluZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX2J1dHRvbiB7XG4gICAgICAgICAgdG9wOiByZW0tY2FsYygxMDApIWltcG9ydGFudDtcbiAgICAgICAgICBjb2xvcjogd2hpdGUhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogd2hpdGUhaW1wb3J0YW50O1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fYnV0dG9uLWljb24tLXBsYXkge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fYnV0dG9uLWljb24tLXN0b3Age1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgICAgIH1cbiAgICAgICAgJjpub3QoOmhvdmVyKSB7XG4gICAgICAgICAgI3skYn1fX2J1dHRvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIC8vIEVuZDogVmlkZW8gUGxheWluZyBTdGF0ZVxuICB9XG5cbn1cbiIsIi5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb24ge1xuICAkYjogXCIuZmxvLXdwLWNvbnRlbnQtd2l0aC1wYWdpbmF0aW9uXCI7XG5cbiAgJl9fY29udGVudCB7XG5cbiAgfVxuXG4gICZfX3BhZ2luYXRpb24ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gICAgJl9fbGluayB7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcblxuICAgICAgJi0tcHJldiB7XG5cbiAgICAgIH1cbiAgICAgICYtLW5leHQge1xuXG4gICAgICB9XG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbCArICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgIH1cblxuICAgICZfX3BhZ2luYXRpb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZ2xvYmFsLXBhZGRpbmctLXZlcnRpY2FsO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDB2dyFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcblxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fbGluayB7XG4gICAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDApIDA7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IC0kZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWwgLyAyO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIzLjUpO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcHJldiB7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgJi0tbmV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzogMCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuXG4gICAgJl9fY29udGVudCB7XG5cbiAgICB9XG5cbiAgICAmX19wYWdpbmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgICAgJl9fbGluayB7XG4gICAgICAgIHdpZHRoOiA0NTtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuXG4gICAgICAgICYtLXByZXYge1xuXG4gICAgICAgIH1cbiAgICAgICAgJi0tbmV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgfVxuICB9XG59XG4iLCIuZmxvLXdwLXRpdGxlIHtcbiAgJGI6IFwiLmZsby13cC10aXRsZVwiO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJl9fdGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLmZsb19zaWRlYmFye1xuICB3aWR0aDogMjUlO1xuICBwYWRkaW5nOiAwIHJlbS1jYWxjKDQwKSByZW0tY2FsYyg0MCk7XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIC5jb2x1bW57XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoNDApO1xuICAgICY6bGFzdC1jaGlsZHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmZpZ3VyZS1oaWRlLWltZ3tcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGltZ3tcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC53aWRnZXQge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgfVxuICAqIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgICAud2lkZ2V0X3NlYXJjaCAuc2VhcmNoLWZpZWxke1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAgIC53aWRnZXRfc2VhcmNoIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNy41KTtcbiAgICAmLS1vbi1sZWZ0IHtcbiAgICAgIG9yZGVyOiAtMTtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDApO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG59XG4iLCIvKiBCT0YgV09PQ09NTUVSQ0UgU1VQUE9SVCAqL1xuICAuZmxvLXdvb2NvbW1lcmNlLXdyYXB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMDAwKTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuLndvb2NvbW1lcmNlLXBhZ2V7XG4gIC5mbG8tYmxvY2t7XG4gICAgcGFkZGluZy10b3A6IDBweDtcbiAgfVxuICAuZmxvLXBvc3QgYXtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbi53b29jb21tZXJjZXtcbiAgICBcbiAgICB0aGVhZCwgdGJvZHksIHRmb290e1xuICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgLmZsby1wb3N0IGF7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIC5xdWFudGl0eXtcbiAgICAgIC5xdHksIGlucHV0W3R5cGU9XCJudW1iZXJcIl17XG4gICAgICAgIHdpZHRoOiA1ZW07XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICBwYWRkaW5nOiAwLjFlbTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTVlNWU1O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWJ7XG4gICAgICBhe1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJ0e1xuICAgICAgaW5wdXQuYnV0dG9uOmRpc2FibGVke1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuLm9uc2FsZXtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgdWwucHJvZHVjdHN7XG4gICAgICBsaS5wcm9kdWN0e1xuICAgICAgICAucHJpY2UgZGVse1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYS5idXR0b257XG4gICAgICAgIHBhZGRpbmc6IDAuNmVtIDFlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgZGl2LnByb2R1Y3R7XG4gICAgICAudmFyaWF0aW9uc3tcbiAgICAgICAgdGQubGFiZWx7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICAudmFsdWV7XG4gICAgICAgICAgc2VsZWN0e1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnJlc2V0X3ZhcmlhdGlvbnN7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMDtcbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wcm9kdWN0X21ldGF7XG4gICAgICAgIGF7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMDtcbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRhZ2dlZF9hc3tcbiAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnJlbGF0ZWR7XG4gICAgICAgIGgye1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLndvb2NvbW1lcmNlLXRhYnN7XG4gICAgICAgIGxpLmFjdGl2ZSBhLCBhOmhvdmVyIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAwO1xuICAgICAgICB9XG4gICAgICAgIGF7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYW5lbHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0ZW07XG4gICAgICAgIH1cblxuICAgICAgICB1bC50YWJze1xuICAgICAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxpe1xuICAgICAgICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVye1xuICAgICAgICAgICAgICBib3JkZXI6IDBweDtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5jaGVja291dHtcbiAgICAgICNjdXN0b21lcl9kZXRhaWxze1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICB9XG4gICAgICAud2NfcGF5bWVudF9tZXRob2R7XG4gICAgICAgIC5pbnB1dC1yYWRpb3tcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBwLndvb2NvbW1lcmNlLXRoYW5reW91LW9yZGVyLXJlY2VpdmVke1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlLXRoYW5reW91LW9yZGVyLWRldGFpbHN7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICBsaXtcbiAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwcHg7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuXG4gICAgICAgIHN0cm9uZ3tcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgIH1cblxuICAgIC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudHtcbiAgICAgIC5hZGRyZXNzZXN7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgIC53b29jb21tZXJjZS1NZXNzYWdle1xuICAgICAgICBicntcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbntcbiAgICAgIC5pcy1hY3RpdmV7XG4gICAgICAgIGF7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMDtcbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGE6aG92ZXJ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC53b29jb21tZXJjZS1BZGRyZXNzLXRpdGxle1xuICAgICAgLmVkaXR7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDA7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gXG5cbiAgICAub3JkZXJfZGV0YWlsc3tcbiAgICAgIC5wcm9kdWN0LW5hbWV7XG4gICAgICAgIGF7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMDtcbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFjdGlvbnN7XG4gICAgICAuY291cG9ue1xuICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJde1xuICAgICAgICAgIGhlaWdodDogMi42MjVyZW07XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIHB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgIH1cbiAgICAgIGlucHV0LmJ1dHRvblt0eXBlPVwic3VibWl0XCJde1xuICAgICAgICAgIGhlaWdodDogMi42MjVyZW07XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgY29sb3I6ICM1MTUxNTE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9ybSwgdGFibGV7XG4gICAgICBwe1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgLm9yZGVyLW51bWJlcntcbiAgICAgIGF7XG4gICAgICAgIGJye1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgI2NvdXBvbl9jb2Rle1xuICAgICAgbWluLXdpZHRoOiAxNWVtO1xuICAgICAgaGVpZ2h0OiAyLjU1cmVtO1xuICAgIH1cbiAgICAuYnV0dG9ue1xuICAgICAgYnJ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uLmJ1dHRvbiwgLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b24uYnV0dG9uLmRpc2FibGVke1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNWVtO1xuICAgIH1cbiAgICAud2MtcHJvY2VlZC10by1jaGVja291dHtcbiAgICAgIHB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5jaGVja291dC1idXR0b257XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT0nc3VibWl0J117XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSwgdGV4dGFyZWF7XG4gICAgXHRib3JkZXI6IDFweCBzb2xpZDtcbiAgICBcdHBhZGRpbmc6IHJlbS1jYWxjKDgpO1xuICAgIH1cbiAgICB0ZXh0YXJlYXtcbiAgICBcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICBcdC8vYm9yZGVyOiAxcHggc29saWQ7XG4gICAgXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgXHRsaW5lLWhlaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxufVxuXG4vKiBFT0YgV09PQ09NTUVSQ0UgU1VQUE9SVCAqL1xuIiwiLmJvZHlfaGFzX3NpZGViYXJ7XG5cbiAgLmZsby1pY29uLXNpZGViYXJ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmZsb19zaWRlYmFyLS1hY3RpdmUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuIl19 */

/*
     FILE ARCHIVED ON 00:24:56 Jan 25, 2024 AND RETRIEVED FROM THE
     INTERNET ARCHIVE ON 11:27:30 Jun 12, 2026.
     JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.

     ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
     SECTION 108(a)(3)).
*/
/*
playback timings (ms):
  captures_list: 0.965
  exclusion.robots: 0.066
  exclusion.robots.policy: 0.056
  esindex: 0.01
  cdx.remote: 21.742
  LoadShardBlock: 105.702 (3)
  PetaboxLoader3.datanode: 63.567 (4)
  PetaboxLoader3.resolve: 148.907 (3)
  load_resource: 187.86
*/