@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * 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.
     */
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, #contact-overlay .contact_title, #contact-overlay .large_tel, #contact-overlay .large_email, #contact-overlay .large_address {
  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=40em&large=50em&xlarge=64em&xxlarge=90em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #FFFFFF;
  font-family: "poppinsmedium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #313941;
  -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.1875rem; }

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

.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;
          appearance: none;
  border: 0;
  border-radius: 0.1875rem;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

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

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

.grid-container {
  padding-right: 0.25rem;
  padding-left: 0.25rem;
  max-width: 75rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .grid-container {
      padding-right: 0.5rem;
      padding-left: 0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-container {
      padding-right: 1rem;
      padding-left: 1rem; } }
  .grid-container.fluid {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 40em) {
      .grid-container.fluid {
        padding-right: 0.5rem;
        padding-left: 0.5rem; } }
    @media screen and (min-width: 64em) {
      .grid-container.fluid {
        padding-right: 1rem;
        padding-left: 1rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

.grid-x {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .cell.shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12, .grid-x > .small-13, .grid-x > .small-14, .grid-x > .small-15, .grid-x > .small-16 {
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12, .grid-x > .medium-13, .grid-x > .medium-14, .grid-x > .medium-15, .grid-x > .medium-16 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media screen and (min-width: 50em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12, .grid-x > .large-13, .grid-x > .large-14, .grid-x > .large-15, .grid-x > .large-16 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media screen and (min-width: 64em) {
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12, .grid-x > .xlarge-13, .grid-x > .xlarge-14, .grid-x > .xlarge-15, .grid-x > .xlarge-16 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media screen and (min-width: 90em) {
  .grid-x > .xxlarge-shrink, .grid-x > .xxlarge-full, .grid-x > .xxlarge-1, .grid-x > .xxlarge-2, .grid-x > .xxlarge-3, .grid-x > .xxlarge-4, .grid-x > .xxlarge-5, .grid-x > .xxlarge-6, .grid-x > .xxlarge-7, .grid-x > .xxlarge-8, .grid-x > .xxlarge-9, .grid-x > .xxlarge-10, .grid-x > .xxlarge-11, .grid-x > .xxlarge-12, .grid-x > .xxlarge-13, .grid-x > .xxlarge-14, .grid-x > .xxlarge-15, .grid-x > .xxlarge-16 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

.grid-x > .small-1 {
  width: 6.25%; }

.grid-x > .small-2 {
  width: 12.5%; }

.grid-x > .small-3 {
  width: 18.75%; }

.grid-x > .small-4 {
  width: 25%; }

.grid-x > .small-5 {
  width: 31.25%; }

.grid-x > .small-6 {
  width: 37.5%; }

.grid-x > .small-7 {
  width: 43.75%; }

.grid-x > .small-8 {
  width: 50%; }

.grid-x > .small-9 {
  width: 56.25%; }

.grid-x > .small-10 {
  width: 62.5%; }

.grid-x > .small-11 {
  width: 68.75%; }

.grid-x > .small-12 {
  width: 75%; }

.grid-x > .small-13 {
  width: 81.25%; }

.grid-x > .small-14 {
  width: 87.5%; }

.grid-x > .small-15 {
  width: 93.75%; }

.grid-x > .small-16 {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .medium-1 {
    width: 6.25%; }
  .grid-x > .medium-2 {
    width: 12.5%; }
  .grid-x > .medium-3 {
    width: 18.75%; }
  .grid-x > .medium-4 {
    width: 25%; }
  .grid-x > .medium-5 {
    width: 31.25%; }
  .grid-x > .medium-6 {
    width: 37.5%; }
  .grid-x > .medium-7 {
    width: 43.75%; }
  .grid-x > .medium-8 {
    width: 50%; }
  .grid-x > .medium-9 {
    width: 56.25%; }
  .grid-x > .medium-10 {
    width: 62.5%; }
  .grid-x > .medium-11 {
    width: 68.75%; }
  .grid-x > .medium-12 {
    width: 75%; }
  .grid-x > .medium-13 {
    width: 81.25%; }
  .grid-x > .medium-14 {
    width: 87.5%; }
  .grid-x > .medium-15 {
    width: 93.75%; }
  .grid-x > .medium-16 {
    width: 100%; } }

@media screen and (min-width: 50em) {
  .grid-x > .large-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .large-1 {
    width: 6.25%; }
  .grid-x > .large-2 {
    width: 12.5%; }
  .grid-x > .large-3 {
    width: 18.75%; }
  .grid-x > .large-4 {
    width: 25%; }
  .grid-x > .large-5 {
    width: 31.25%; }
  .grid-x > .large-6 {
    width: 37.5%; }
  .grid-x > .large-7 {
    width: 43.75%; }
  .grid-x > .large-8 {
    width: 50%; }
  .grid-x > .large-9 {
    width: 56.25%; }
  .grid-x > .large-10 {
    width: 62.5%; }
  .grid-x > .large-11 {
    width: 68.75%; }
  .grid-x > .large-12 {
    width: 75%; }
  .grid-x > .large-13 {
    width: 81.25%; }
  .grid-x > .large-14 {
    width: 87.5%; }
  .grid-x > .large-15 {
    width: 93.75%; }
  .grid-x > .large-16 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .grid-x > .xlarge-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .xlarge-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .xlarge-1 {
    width: 6.25%; }
  .grid-x > .xlarge-2 {
    width: 12.5%; }
  .grid-x > .xlarge-3 {
    width: 18.75%; }
  .grid-x > .xlarge-4 {
    width: 25%; }
  .grid-x > .xlarge-5 {
    width: 31.25%; }
  .grid-x > .xlarge-6 {
    width: 37.5%; }
  .grid-x > .xlarge-7 {
    width: 43.75%; }
  .grid-x > .xlarge-8 {
    width: 50%; }
  .grid-x > .xlarge-9 {
    width: 56.25%; }
  .grid-x > .xlarge-10 {
    width: 62.5%; }
  .grid-x > .xlarge-11 {
    width: 68.75%; }
  .grid-x > .xlarge-12 {
    width: 75%; }
  .grid-x > .xlarge-13 {
    width: 81.25%; }
  .grid-x > .xlarge-14 {
    width: 87.5%; }
  .grid-x > .xlarge-15 {
    width: 93.75%; }
  .grid-x > .xlarge-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .grid-x > .xxlarge-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .xxlarge-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .xxlarge-1 {
    width: 6.25%; }
  .grid-x > .xxlarge-2 {
    width: 12.5%; }
  .grid-x > .xxlarge-3 {
    width: 18.75%; }
  .grid-x > .xxlarge-4 {
    width: 25%; }
  .grid-x > .xxlarge-5 {
    width: 31.25%; }
  .grid-x > .xxlarge-6 {
    width: 37.5%; }
  .grid-x > .xxlarge-7 {
    width: 43.75%; }
  .grid-x > .xxlarge-8 {
    width: 50%; }
  .grid-x > .xxlarge-9 {
    width: 56.25%; }
  .grid-x > .xxlarge-10 {
    width: 62.5%; }
  .grid-x > .xxlarge-11 {
    width: 68.75%; }
  .grid-x > .xxlarge-12 {
    width: 75%; }
  .grid-x > .xxlarge-13 {
    width: 81.25%; }
  .grid-x > .xxlarge-14 {
    width: 87.5%; }
  .grid-x > .xxlarge-15 {
    width: 93.75%; }
  .grid-x > .xxlarge-16 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-left: -0.25rem;
  margin-right: -0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x {
      margin-left: -0.5rem;
      margin-right: -0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-margin-x {
      margin-left: -1rem;
      margin-right: -1rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 0.5rem);
    margin-left: 0.25rem;
    margin-right: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1rem);
      margin-left: 0.5rem;
      margin-right: 0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-margin-x > .cell {
      width: calc(100% - 2rem);
      margin-left: 1rem;
      margin-right: 1rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(6.25% - 0.5rem); }
  .grid-margin-x > .small-2 {
    width: calc(12.5% - 0.5rem); }
  .grid-margin-x > .small-3 {
    width: calc(18.75% - 0.5rem); }
  .grid-margin-x > .small-4 {
    width: calc(25% - 0.5rem); }
  .grid-margin-x > .small-5 {
    width: calc(31.25% - 0.5rem); }
  .grid-margin-x > .small-6 {
    width: calc(37.5% - 0.5rem); }
  .grid-margin-x > .small-7 {
    width: calc(43.75% - 0.5rem); }
  .grid-margin-x > .small-8 {
    width: calc(50% - 0.5rem); }
  .grid-margin-x > .small-9 {
    width: calc(56.25% - 0.5rem); }
  .grid-margin-x > .small-10 {
    width: calc(62.5% - 0.5rem); }
  .grid-margin-x > .small-11 {
    width: calc(68.75% - 0.5rem); }
  .grid-margin-x > .small-12 {
    width: calc(75% - 0.5rem); }
  .grid-margin-x > .small-13 {
    width: calc(81.25% - 0.5rem); }
  .grid-margin-x > .small-14 {
    width: calc(87.5% - 0.5rem); }
  .grid-margin-x > .small-15 {
    width: calc(93.75% - 0.5rem); }
  .grid-margin-x > .small-16 {
    width: calc(100% - 0.5rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(6.25% - 1rem); }
    .grid-margin-x > .small-2 {
      width: calc(12.5% - 1rem); }
    .grid-margin-x > .small-3 {
      width: calc(18.75% - 1rem); }
    .grid-margin-x > .small-4 {
      width: calc(25% - 1rem); }
    .grid-margin-x > .small-5 {
      width: calc(31.25% - 1rem); }
    .grid-margin-x > .small-6 {
      width: calc(37.5% - 1rem); }
    .grid-margin-x > .small-7 {
      width: calc(43.75% - 1rem); }
    .grid-margin-x > .small-8 {
      width: calc(50% - 1rem); }
    .grid-margin-x > .small-9 {
      width: calc(56.25% - 1rem); }
    .grid-margin-x > .small-10 {
      width: calc(62.5% - 1rem); }
    .grid-margin-x > .small-11 {
      width: calc(68.75% - 1rem); }
    .grid-margin-x > .small-12 {
      width: calc(75% - 1rem); }
    .grid-margin-x > .small-13 {
      width: calc(81.25% - 1rem); }
    .grid-margin-x > .small-14 {
      width: calc(87.5% - 1rem); }
    .grid-margin-x > .small-15 {
      width: calc(93.75% - 1rem); }
    .grid-margin-x > .small-16 {
      width: calc(100% - 1rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(6.25% - 1rem); }
    .grid-margin-x > .medium-2 {
      width: calc(12.5% - 1rem); }
    .grid-margin-x > .medium-3 {
      width: calc(18.75% - 1rem); }
    .grid-margin-x > .medium-4 {
      width: calc(25% - 1rem); }
    .grid-margin-x > .medium-5 {
      width: calc(31.25% - 1rem); }
    .grid-margin-x > .medium-6 {
      width: calc(37.5% - 1rem); }
    .grid-margin-x > .medium-7 {
      width: calc(43.75% - 1rem); }
    .grid-margin-x > .medium-8 {
      width: calc(50% - 1rem); }
    .grid-margin-x > .medium-9 {
      width: calc(56.25% - 1rem); }
    .grid-margin-x > .medium-10 {
      width: calc(62.5% - 1rem); }
    .grid-margin-x > .medium-11 {
      width: calc(68.75% - 1rem); }
    .grid-margin-x > .medium-12 {
      width: calc(75% - 1rem); }
    .grid-margin-x > .medium-13 {
      width: calc(81.25% - 1rem); }
    .grid-margin-x > .medium-14 {
      width: calc(87.5% - 1rem); }
    .grid-margin-x > .medium-15 {
      width: calc(93.75% - 1rem); }
    .grid-margin-x > .medium-16 {
      width: calc(100% - 1rem); } }
  @media screen and (min-width: 50em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(6.25% - 1rem); }
    .grid-margin-x > .large-2 {
      width: calc(12.5% - 1rem); }
    .grid-margin-x > .large-3 {
      width: calc(18.75% - 1rem); }
    .grid-margin-x > .large-4 {
      width: calc(25% - 1rem); }
    .grid-margin-x > .large-5 {
      width: calc(31.25% - 1rem); }
    .grid-margin-x > .large-6 {
      width: calc(37.5% - 1rem); }
    .grid-margin-x > .large-7 {
      width: calc(43.75% - 1rem); }
    .grid-margin-x > .large-8 {
      width: calc(50% - 1rem); }
    .grid-margin-x > .large-9 {
      width: calc(56.25% - 1rem); }
    .grid-margin-x > .large-10 {
      width: calc(62.5% - 1rem); }
    .grid-margin-x > .large-11 {
      width: calc(68.75% - 1rem); }
    .grid-margin-x > .large-12 {
      width: calc(75% - 1rem); }
    .grid-margin-x > .large-13 {
      width: calc(81.25% - 1rem); }
    .grid-margin-x > .large-14 {
      width: calc(87.5% - 1rem); }
    .grid-margin-x > .large-15 {
      width: calc(93.75% - 1rem); }
    .grid-margin-x > .large-16 {
      width: calc(100% - 1rem); } }
  @media screen and (min-width: 64em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(6.25% - 2rem); }
    .grid-margin-x > .small-2 {
      width: calc(12.5% - 2rem); }
    .grid-margin-x > .small-3 {
      width: calc(18.75% - 2rem); }
    .grid-margin-x > .small-4 {
      width: calc(25% - 2rem); }
    .grid-margin-x > .small-5 {
      width: calc(31.25% - 2rem); }
    .grid-margin-x > .small-6 {
      width: calc(37.5% - 2rem); }
    .grid-margin-x > .small-7 {
      width: calc(43.75% - 2rem); }
    .grid-margin-x > .small-8 {
      width: calc(50% - 2rem); }
    .grid-margin-x > .small-9 {
      width: calc(56.25% - 2rem); }
    .grid-margin-x > .small-10 {
      width: calc(62.5% - 2rem); }
    .grid-margin-x > .small-11 {
      width: calc(68.75% - 2rem); }
    .grid-margin-x > .small-12 {
      width: calc(75% - 2rem); }
    .grid-margin-x > .small-13 {
      width: calc(81.25% - 2rem); }
    .grid-margin-x > .small-14 {
      width: calc(87.5% - 2rem); }
    .grid-margin-x > .small-15 {
      width: calc(93.75% - 2rem); }
    .grid-margin-x > .small-16 {
      width: calc(100% - 2rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(6.25% - 2rem); }
    .grid-margin-x > .medium-2 {
      width: calc(12.5% - 2rem); }
    .grid-margin-x > .medium-3 {
      width: calc(18.75% - 2rem); }
    .grid-margin-x > .medium-4 {
      width: calc(25% - 2rem); }
    .grid-margin-x > .medium-5 {
      width: calc(31.25% - 2rem); }
    .grid-margin-x > .medium-6 {
      width: calc(37.5% - 2rem); }
    .grid-margin-x > .medium-7 {
      width: calc(43.75% - 2rem); }
    .grid-margin-x > .medium-8 {
      width: calc(50% - 2rem); }
    .grid-margin-x > .medium-9 {
      width: calc(56.25% - 2rem); }
    .grid-margin-x > .medium-10 {
      width: calc(62.5% - 2rem); }
    .grid-margin-x > .medium-11 {
      width: calc(68.75% - 2rem); }
    .grid-margin-x > .medium-12 {
      width: calc(75% - 2rem); }
    .grid-margin-x > .medium-13 {
      width: calc(81.25% - 2rem); }
    .grid-margin-x > .medium-14 {
      width: calc(87.5% - 2rem); }
    .grid-margin-x > .medium-15 {
      width: calc(93.75% - 2rem); }
    .grid-margin-x > .medium-16 {
      width: calc(100% - 2rem); }
    .grid-margin-x > .xlarge-auto {
      width: auto; }
    .grid-margin-x > .xlarge-shrink {
      width: auto; }
    .grid-margin-x > .xlarge-1 {
      width: calc(6.25% - 2rem); }
    .grid-margin-x > .xlarge-2 {
      width: calc(12.5% - 2rem); }
    .grid-margin-x > .xlarge-3 {
      width: calc(18.75% - 2rem); }
    .grid-margin-x > .xlarge-4 {
      width: calc(25% - 2rem); }
    .grid-margin-x > .xlarge-5 {
      width: calc(31.25% - 2rem); }
    .grid-margin-x > .xlarge-6 {
      width: calc(37.5% - 2rem); }
    .grid-margin-x > .xlarge-7 {
      width: calc(43.75% - 2rem); }
    .grid-margin-x > .xlarge-8 {
      width: calc(50% - 2rem); }
    .grid-margin-x > .xlarge-9 {
      width: calc(56.25% - 2rem); }
    .grid-margin-x > .xlarge-10 {
      width: calc(62.5% - 2rem); }
    .grid-margin-x > .xlarge-11 {
      width: calc(68.75% - 2rem); }
    .grid-margin-x > .xlarge-12 {
      width: calc(75% - 2rem); }
    .grid-margin-x > .xlarge-13 {
      width: calc(81.25% - 2rem); }
    .grid-margin-x > .xlarge-14 {
      width: calc(87.5% - 2rem); }
    .grid-margin-x > .xlarge-15 {
      width: calc(93.75% - 2rem); }
    .grid-margin-x > .xlarge-16 {
      width: calc(100% - 2rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-x > .xxlarge-auto {
      width: auto; }
    .grid-margin-x > .xxlarge-shrink {
      width: auto; }
    .grid-margin-x > .xxlarge-1 {
      width: calc(6.25% - 2rem); }
    .grid-margin-x > .xxlarge-2 {
      width: calc(12.5% - 2rem); }
    .grid-margin-x > .xxlarge-3 {
      width: calc(18.75% - 2rem); }
    .grid-margin-x > .xxlarge-4 {
      width: calc(25% - 2rem); }
    .grid-margin-x > .xxlarge-5 {
      width: calc(31.25% - 2rem); }
    .grid-margin-x > .xxlarge-6 {
      width: calc(37.5% - 2rem); }
    .grid-margin-x > .xxlarge-7 {
      width: calc(43.75% - 2rem); }
    .grid-margin-x > .xxlarge-8 {
      width: calc(50% - 2rem); }
    .grid-margin-x > .xxlarge-9 {
      width: calc(56.25% - 2rem); }
    .grid-margin-x > .xxlarge-10 {
      width: calc(62.5% - 2rem); }
    .grid-margin-x > .xxlarge-11 {
      width: calc(68.75% - 2rem); }
    .grid-margin-x > .xxlarge-12 {
      width: calc(75% - 2rem); }
    .grid-margin-x > .xxlarge-13 {
      width: calc(81.25% - 2rem); }
    .grid-margin-x > .xxlarge-14 {
      width: calc(87.5% - 2rem); }
    .grid-margin-x > .xxlarge-15 {
      width: calc(93.75% - 2rem); }
    .grid-margin-x > .xxlarge-16 {
      width: calc(100% - 2rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.25rem;
  margin-left: -0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.5rem;
      margin-left: -0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -1rem;
      margin-left: -1rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.25rem;
  margin-left: -0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.5rem;
      margin-left: -0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -1rem;
      margin-left: -1rem; } }

.grid-padding-x > .cell {
  padding-right: 0.25rem;
  padding-left: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x > .cell {
      padding-right: 0.5rem;
      padding-left: 0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-padding-x > .cell {
      padding-right: 1rem;
      padding-left: 1rem; } }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 50em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 64em) {
  .xlarge-up-1 > .cell {
    width: 100%; }
  .xlarge-up-2 > .cell {
    width: 50%; }
  .xlarge-up-3 > .cell {
    width: 33.33333%; }
  .xlarge-up-4 > .cell {
    width: 25%; }
  .xlarge-up-5 > .cell {
    width: 20%; }
  .xlarge-up-6 > .cell {
    width: 16.66667%; }
  .xlarge-up-7 > .cell {
    width: 14.28571%; }
  .xlarge-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 90em) {
  .xxlarge-up-1 > .cell {
    width: 100%; }
  .xxlarge-up-2 > .cell {
    width: 50%; }
  .xxlarge-up-3 > .cell {
    width: 33.33333%; }
  .xxlarge-up-4 > .cell {
    width: 25%; }
  .xxlarge-up-5 > .cell {
    width: 20%; }
  .xxlarge-up-6 > .cell {
    width: 16.66667%; }
  .xxlarge-up-7 > .cell {
    width: 14.28571%; }
  .xxlarge-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 0.5rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 0.5rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 0.5rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 0.5rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 0.5rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 0.5rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 0.5rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 0.5rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 0.5rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 0.5rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 0.5rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 0.5rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 0.5rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 0.5rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 0.5rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 0.5rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1rem); } }

@media screen and (min-width: 50em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1rem); } }

@media screen and (min-width: 64em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 0.5rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 0.5rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 0.5rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 0.5rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 0.5rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 0.5rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 0.5rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 0.5rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1rem); }
  .grid-margin-x.xlarge-up-1 > .cell {
    width: calc(100% - 2rem); }
  .grid-margin-x.xlarge-up-2 > .cell {
    width: calc(50% - 2rem); }
  .grid-margin-x.xlarge-up-3 > .cell {
    width: calc(33.33333% - 2rem); }
  .grid-margin-x.xlarge-up-4 > .cell {
    width: calc(25% - 2rem); }
  .grid-margin-x.xlarge-up-5 > .cell {
    width: calc(20% - 2rem); }
  .grid-margin-x.xlarge-up-6 > .cell {
    width: calc(16.66667% - 2rem); }
  .grid-margin-x.xlarge-up-7 > .cell {
    width: calc(14.28571% - 2rem); }
  .grid-margin-x.xlarge-up-8 > .cell {
    width: calc(12.5% - 2rem); } }

@media screen and (min-width: 90em) {
  .grid-margin-x.xxlarge-up-1 > .cell {
    width: calc(100% - 2rem); }
  .grid-margin-x.xxlarge-up-2 > .cell {
    width: calc(50% - 2rem); }
  .grid-margin-x.xxlarge-up-3 > .cell {
    width: calc(33.33333% - 2rem); }
  .grid-margin-x.xxlarge-up-4 > .cell {
    width: calc(25% - 2rem); }
  .grid-margin-x.xxlarge-up-5 > .cell {
    width: calc(20% - 2rem); }
  .grid-margin-x.xxlarge-up-6 > .cell {
    width: calc(16.66667% - 2rem); }
  .grid-margin-x.xxlarge-up-7 > .cell {
    width: calc(14.28571% - 2rem); }
  .grid-margin-x.xxlarge-up-8 > .cell {
    width: calc(12.5% - 2rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 6.25%; }
  .small-margin-collapse > .small-2 {
    width: 12.5%; }
  .small-margin-collapse > .small-3 {
    width: 18.75%; }
  .small-margin-collapse > .small-4 {
    width: 25%; }
  .small-margin-collapse > .small-5 {
    width: 31.25%; }
  .small-margin-collapse > .small-6 {
    width: 37.5%; }
  .small-margin-collapse > .small-7 {
    width: 43.75%; }
  .small-margin-collapse > .small-8 {
    width: 50%; }
  .small-margin-collapse > .small-9 {
    width: 56.25%; }
  .small-margin-collapse > .small-10 {
    width: 62.5%; }
  .small-margin-collapse > .small-11 {
    width: 68.75%; }
  .small-margin-collapse > .small-12 {
    width: 75%; }
  .small-margin-collapse > .small-13 {
    width: 81.25%; }
  .small-margin-collapse > .small-14 {
    width: 87.5%; }
  .small-margin-collapse > .small-15 {
    width: 93.75%; }
  .small-margin-collapse > .small-16 {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .small-margin-collapse > .medium-1 {
      width: 6.25%; }
    .small-margin-collapse > .medium-2 {
      width: 12.5%; }
    .small-margin-collapse > .medium-3 {
      width: 18.75%; }
    .small-margin-collapse > .medium-4 {
      width: 25%; }
    .small-margin-collapse > .medium-5 {
      width: 31.25%; }
    .small-margin-collapse > .medium-6 {
      width: 37.5%; }
    .small-margin-collapse > .medium-7 {
      width: 43.75%; }
    .small-margin-collapse > .medium-8 {
      width: 50%; }
    .small-margin-collapse > .medium-9 {
      width: 56.25%; }
    .small-margin-collapse > .medium-10 {
      width: 62.5%; }
    .small-margin-collapse > .medium-11 {
      width: 68.75%; }
    .small-margin-collapse > .medium-12 {
      width: 75%; }
    .small-margin-collapse > .medium-13 {
      width: 81.25%; }
    .small-margin-collapse > .medium-14 {
      width: 87.5%; }
    .small-margin-collapse > .medium-15 {
      width: 93.75%; }
    .small-margin-collapse > .medium-16 {
      width: 100%; } }
  @media screen and (min-width: 50em) {
    .small-margin-collapse > .large-1 {
      width: 6.25%; }
    .small-margin-collapse > .large-2 {
      width: 12.5%; }
    .small-margin-collapse > .large-3 {
      width: 18.75%; }
    .small-margin-collapse > .large-4 {
      width: 25%; }
    .small-margin-collapse > .large-5 {
      width: 31.25%; }
    .small-margin-collapse > .large-6 {
      width: 37.5%; }
    .small-margin-collapse > .large-7 {
      width: 43.75%; }
    .small-margin-collapse > .large-8 {
      width: 50%; }
    .small-margin-collapse > .large-9 {
      width: 56.25%; }
    .small-margin-collapse > .large-10 {
      width: 62.5%; }
    .small-margin-collapse > .large-11 {
      width: 68.75%; }
    .small-margin-collapse > .large-12 {
      width: 75%; }
    .small-margin-collapse > .large-13 {
      width: 81.25%; }
    .small-margin-collapse > .large-14 {
      width: 87.5%; }
    .small-margin-collapse > .large-15 {
      width: 93.75%; }
    .small-margin-collapse > .large-16 {
      width: 100%; } }
  @media screen and (min-width: 64em) {
    .small-margin-collapse > .xlarge-1 {
      width: 6.25%; }
    .small-margin-collapse > .xlarge-2 {
      width: 12.5%; }
    .small-margin-collapse > .xlarge-3 {
      width: 18.75%; }
    .small-margin-collapse > .xlarge-4 {
      width: 25%; }
    .small-margin-collapse > .xlarge-5 {
      width: 31.25%; }
    .small-margin-collapse > .xlarge-6 {
      width: 37.5%; }
    .small-margin-collapse > .xlarge-7 {
      width: 43.75%; }
    .small-margin-collapse > .xlarge-8 {
      width: 50%; }
    .small-margin-collapse > .xlarge-9 {
      width: 56.25%; }
    .small-margin-collapse > .xlarge-10 {
      width: 62.5%; }
    .small-margin-collapse > .xlarge-11 {
      width: 68.75%; }
    .small-margin-collapse > .xlarge-12 {
      width: 75%; }
    .small-margin-collapse > .xlarge-13 {
      width: 81.25%; }
    .small-margin-collapse > .xlarge-14 {
      width: 87.5%; }
    .small-margin-collapse > .xlarge-15 {
      width: 93.75%; }
    .small-margin-collapse > .xlarge-16 {
      width: 100%; } }
  @media screen and (min-width: 90em) {
    .small-margin-collapse > .xxlarge-1 {
      width: 6.25%; }
    .small-margin-collapse > .xxlarge-2 {
      width: 12.5%; }
    .small-margin-collapse > .xxlarge-3 {
      width: 18.75%; }
    .small-margin-collapse > .xxlarge-4 {
      width: 25%; }
    .small-margin-collapse > .xxlarge-5 {
      width: 31.25%; }
    .small-margin-collapse > .xxlarge-6 {
      width: 37.5%; }
    .small-margin-collapse > .xxlarge-7 {
      width: 43.75%; }
    .small-margin-collapse > .xxlarge-8 {
      width: 50%; }
    .small-margin-collapse > .xxlarge-9 {
      width: 56.25%; }
    .small-margin-collapse > .xxlarge-10 {
      width: 62.5%; }
    .small-margin-collapse > .xxlarge-11 {
      width: 68.75%; }
    .small-margin-collapse > .xxlarge-12 {
      width: 75%; }
    .small-margin-collapse > .xxlarge-13 {
      width: 81.25%; }
    .small-margin-collapse > .xxlarge-14 {
      width: 87.5%; }
    .small-margin-collapse > .xxlarge-15 {
      width: 93.75%; }
    .small-margin-collapse > .xxlarge-16 {
      width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 6.25%; }
  .medium-margin-collapse > .small-2 {
    width: 12.5%; }
  .medium-margin-collapse > .small-3 {
    width: 18.75%; }
  .medium-margin-collapse > .small-4 {
    width: 25%; }
  .medium-margin-collapse > .small-5 {
    width: 31.25%; }
  .medium-margin-collapse > .small-6 {
    width: 37.5%; }
  .medium-margin-collapse > .small-7 {
    width: 43.75%; }
  .medium-margin-collapse > .small-8 {
    width: 50%; }
  .medium-margin-collapse > .small-9 {
    width: 56.25%; }
  .medium-margin-collapse > .small-10 {
    width: 62.5%; }
  .medium-margin-collapse > .small-11 {
    width: 68.75%; }
  .medium-margin-collapse > .small-12 {
    width: 75%; }
  .medium-margin-collapse > .small-13 {
    width: 81.25%; }
  .medium-margin-collapse > .small-14 {
    width: 87.5%; }
  .medium-margin-collapse > .small-15 {
    width: 93.75%; }
  .medium-margin-collapse > .small-16 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 6.25%; }
  .medium-margin-collapse > .medium-2 {
    width: 12.5%; }
  .medium-margin-collapse > .medium-3 {
    width: 18.75%; }
  .medium-margin-collapse > .medium-4 {
    width: 25%; }
  .medium-margin-collapse > .medium-5 {
    width: 31.25%; }
  .medium-margin-collapse > .medium-6 {
    width: 37.5%; }
  .medium-margin-collapse > .medium-7 {
    width: 43.75%; }
  .medium-margin-collapse > .medium-8 {
    width: 50%; }
  .medium-margin-collapse > .medium-9 {
    width: 56.25%; }
  .medium-margin-collapse > .medium-10 {
    width: 62.5%; }
  .medium-margin-collapse > .medium-11 {
    width: 68.75%; }
  .medium-margin-collapse > .medium-12 {
    width: 75%; }
  .medium-margin-collapse > .medium-13 {
    width: 81.25%; }
  .medium-margin-collapse > .medium-14 {
    width: 87.5%; }
  .medium-margin-collapse > .medium-15 {
    width: 93.75%; }
  .medium-margin-collapse > .medium-16 {
    width: 100%; } }

@media screen and (min-width: 50em) {
  .medium-margin-collapse > .large-1 {
    width: 6.25%; }
  .medium-margin-collapse > .large-2 {
    width: 12.5%; }
  .medium-margin-collapse > .large-3 {
    width: 18.75%; }
  .medium-margin-collapse > .large-4 {
    width: 25%; }
  .medium-margin-collapse > .large-5 {
    width: 31.25%; }
  .medium-margin-collapse > .large-6 {
    width: 37.5%; }
  .medium-margin-collapse > .large-7 {
    width: 43.75%; }
  .medium-margin-collapse > .large-8 {
    width: 50%; }
  .medium-margin-collapse > .large-9 {
    width: 56.25%; }
  .medium-margin-collapse > .large-10 {
    width: 62.5%; }
  .medium-margin-collapse > .large-11 {
    width: 68.75%; }
  .medium-margin-collapse > .large-12 {
    width: 75%; }
  .medium-margin-collapse > .large-13 {
    width: 81.25%; }
  .medium-margin-collapse > .large-14 {
    width: 87.5%; }
  .medium-margin-collapse > .large-15 {
    width: 93.75%; }
  .medium-margin-collapse > .large-16 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 6.25%; }
  .medium-margin-collapse > .xlarge-2 {
    width: 12.5%; }
  .medium-margin-collapse > .xlarge-3 {
    width: 18.75%; }
  .medium-margin-collapse > .xlarge-4 {
    width: 25%; }
  .medium-margin-collapse > .xlarge-5 {
    width: 31.25%; }
  .medium-margin-collapse > .xlarge-6 {
    width: 37.5%; }
  .medium-margin-collapse > .xlarge-7 {
    width: 43.75%; }
  .medium-margin-collapse > .xlarge-8 {
    width: 50%; }
  .medium-margin-collapse > .xlarge-9 {
    width: 56.25%; }
  .medium-margin-collapse > .xlarge-10 {
    width: 62.5%; }
  .medium-margin-collapse > .xlarge-11 {
    width: 68.75%; }
  .medium-margin-collapse > .xlarge-12 {
    width: 75%; }
  .medium-margin-collapse > .xlarge-13 {
    width: 81.25%; }
  .medium-margin-collapse > .xlarge-14 {
    width: 87.5%; }
  .medium-margin-collapse > .xlarge-15 {
    width: 93.75%; }
  .medium-margin-collapse > .xlarge-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .medium-margin-collapse > .xxlarge-1 {
    width: 6.25%; }
  .medium-margin-collapse > .xxlarge-2 {
    width: 12.5%; }
  .medium-margin-collapse > .xxlarge-3 {
    width: 18.75%; }
  .medium-margin-collapse > .xxlarge-4 {
    width: 25%; }
  .medium-margin-collapse > .xxlarge-5 {
    width: 31.25%; }
  .medium-margin-collapse > .xxlarge-6 {
    width: 37.5%; }
  .medium-margin-collapse > .xxlarge-7 {
    width: 43.75%; }
  .medium-margin-collapse > .xxlarge-8 {
    width: 50%; }
  .medium-margin-collapse > .xxlarge-9 {
    width: 56.25%; }
  .medium-margin-collapse > .xxlarge-10 {
    width: 62.5%; }
  .medium-margin-collapse > .xxlarge-11 {
    width: 68.75%; }
  .medium-margin-collapse > .xxlarge-12 {
    width: 75%; }
  .medium-margin-collapse > .xxlarge-13 {
    width: 81.25%; }
  .medium-margin-collapse > .xxlarge-14 {
    width: 87.5%; }
  .medium-margin-collapse > .xxlarge-15 {
    width: 93.75%; }
  .medium-margin-collapse > .xxlarge-16 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 50em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 50em) {
  .large-margin-collapse > .small-1 {
    width: 6.25%; }
  .large-margin-collapse > .small-2 {
    width: 12.5%; }
  .large-margin-collapse > .small-3 {
    width: 18.75%; }
  .large-margin-collapse > .small-4 {
    width: 25%; }
  .large-margin-collapse > .small-5 {
    width: 31.25%; }
  .large-margin-collapse > .small-6 {
    width: 37.5%; }
  .large-margin-collapse > .small-7 {
    width: 43.75%; }
  .large-margin-collapse > .small-8 {
    width: 50%; }
  .large-margin-collapse > .small-9 {
    width: 56.25%; }
  .large-margin-collapse > .small-10 {
    width: 62.5%; }
  .large-margin-collapse > .small-11 {
    width: 68.75%; }
  .large-margin-collapse > .small-12 {
    width: 75%; }
  .large-margin-collapse > .small-13 {
    width: 81.25%; }
  .large-margin-collapse > .small-14 {
    width: 87.5%; }
  .large-margin-collapse > .small-15 {
    width: 93.75%; }
  .large-margin-collapse > .small-16 {
    width: 100%; } }

@media screen and (min-width: 50em) {
  .large-margin-collapse > .medium-1 {
    width: 6.25%; }
  .large-margin-collapse > .medium-2 {
    width: 12.5%; }
  .large-margin-collapse > .medium-3 {
    width: 18.75%; }
  .large-margin-collapse > .medium-4 {
    width: 25%; }
  .large-margin-collapse > .medium-5 {
    width: 31.25%; }
  .large-margin-collapse > .medium-6 {
    width: 37.5%; }
  .large-margin-collapse > .medium-7 {
    width: 43.75%; }
  .large-margin-collapse > .medium-8 {
    width: 50%; }
  .large-margin-collapse > .medium-9 {
    width: 56.25%; }
  .large-margin-collapse > .medium-10 {
    width: 62.5%; }
  .large-margin-collapse > .medium-11 {
    width: 68.75%; }
  .large-margin-collapse > .medium-12 {
    width: 75%; }
  .large-margin-collapse > .medium-13 {
    width: 81.25%; }
  .large-margin-collapse > .medium-14 {
    width: 87.5%; }
  .large-margin-collapse > .medium-15 {
    width: 93.75%; }
  .large-margin-collapse > .medium-16 {
    width: 100%; } }

@media screen and (min-width: 50em) {
  .large-margin-collapse > .large-1 {
    width: 6.25%; }
  .large-margin-collapse > .large-2 {
    width: 12.5%; }
  .large-margin-collapse > .large-3 {
    width: 18.75%; }
  .large-margin-collapse > .large-4 {
    width: 25%; }
  .large-margin-collapse > .large-5 {
    width: 31.25%; }
  .large-margin-collapse > .large-6 {
    width: 37.5%; }
  .large-margin-collapse > .large-7 {
    width: 43.75%; }
  .large-margin-collapse > .large-8 {
    width: 50%; }
  .large-margin-collapse > .large-9 {
    width: 56.25%; }
  .large-margin-collapse > .large-10 {
    width: 62.5%; }
  .large-margin-collapse > .large-11 {
    width: 68.75%; }
  .large-margin-collapse > .large-12 {
    width: 75%; }
  .large-margin-collapse > .large-13 {
    width: 81.25%; }
  .large-margin-collapse > .large-14 {
    width: 87.5%; }
  .large-margin-collapse > .large-15 {
    width: 93.75%; }
  .large-margin-collapse > .large-16 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .large-margin-collapse > .xlarge-1 {
    width: 6.25%; }
  .large-margin-collapse > .xlarge-2 {
    width: 12.5%; }
  .large-margin-collapse > .xlarge-3 {
    width: 18.75%; }
  .large-margin-collapse > .xlarge-4 {
    width: 25%; }
  .large-margin-collapse > .xlarge-5 {
    width: 31.25%; }
  .large-margin-collapse > .xlarge-6 {
    width: 37.5%; }
  .large-margin-collapse > .xlarge-7 {
    width: 43.75%; }
  .large-margin-collapse > .xlarge-8 {
    width: 50%; }
  .large-margin-collapse > .xlarge-9 {
    width: 56.25%; }
  .large-margin-collapse > .xlarge-10 {
    width: 62.5%; }
  .large-margin-collapse > .xlarge-11 {
    width: 68.75%; }
  .large-margin-collapse > .xlarge-12 {
    width: 75%; }
  .large-margin-collapse > .xlarge-13 {
    width: 81.25%; }
  .large-margin-collapse > .xlarge-14 {
    width: 87.5%; }
  .large-margin-collapse > .xlarge-15 {
    width: 93.75%; }
  .large-margin-collapse > .xlarge-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .large-margin-collapse > .xxlarge-1 {
    width: 6.25%; }
  .large-margin-collapse > .xxlarge-2 {
    width: 12.5%; }
  .large-margin-collapse > .xxlarge-3 {
    width: 18.75%; }
  .large-margin-collapse > .xxlarge-4 {
    width: 25%; }
  .large-margin-collapse > .xxlarge-5 {
    width: 31.25%; }
  .large-margin-collapse > .xxlarge-6 {
    width: 37.5%; }
  .large-margin-collapse > .xxlarge-7 {
    width: 43.75%; }
  .large-margin-collapse > .xxlarge-8 {
    width: 50%; }
  .large-margin-collapse > .xxlarge-9 {
    width: 56.25%; }
  .large-margin-collapse > .xxlarge-10 {
    width: 62.5%; }
  .large-margin-collapse > .xxlarge-11 {
    width: 68.75%; }
  .large-margin-collapse > .xxlarge-12 {
    width: 75%; }
  .large-margin-collapse > .xxlarge-13 {
    width: 81.25%; }
  .large-margin-collapse > .xxlarge-14 {
    width: 87.5%; }
  .large-margin-collapse > .xxlarge-15 {
    width: 93.75%; }
  .large-margin-collapse > .xxlarge-16 {
    width: 100%; } }

@media screen and (min-width: 50em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 64em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 64em) {
  .xlarge-margin-collapse > .small-1 {
    width: 6.25%; }
  .xlarge-margin-collapse > .small-2 {
    width: 12.5%; }
  .xlarge-margin-collapse > .small-3 {
    width: 18.75%; }
  .xlarge-margin-collapse > .small-4 {
    width: 25%; }
  .xlarge-margin-collapse > .small-5 {
    width: 31.25%; }
  .xlarge-margin-collapse > .small-6 {
    width: 37.5%; }
  .xlarge-margin-collapse > .small-7 {
    width: 43.75%; }
  .xlarge-margin-collapse > .small-8 {
    width: 50%; }
  .xlarge-margin-collapse > .small-9 {
    width: 56.25%; }
  .xlarge-margin-collapse > .small-10 {
    width: 62.5%; }
  .xlarge-margin-collapse > .small-11 {
    width: 68.75%; }
  .xlarge-margin-collapse > .small-12 {
    width: 75%; }
  .xlarge-margin-collapse > .small-13 {
    width: 81.25%; }
  .xlarge-margin-collapse > .small-14 {
    width: 87.5%; }
  .xlarge-margin-collapse > .small-15 {
    width: 93.75%; }
  .xlarge-margin-collapse > .small-16 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .xlarge-margin-collapse > .medium-1 {
    width: 6.25%; }
  .xlarge-margin-collapse > .medium-2 {
    width: 12.5%; }
  .xlarge-margin-collapse > .medium-3 {
    width: 18.75%; }
  .xlarge-margin-collapse > .medium-4 {
    width: 25%; }
  .xlarge-margin-collapse > .medium-5 {
    width: 31.25%; }
  .xlarge-margin-collapse > .medium-6 {
    width: 37.5%; }
  .xlarge-margin-collapse > .medium-7 {
    width: 43.75%; }
  .xlarge-margin-collapse > .medium-8 {
    width: 50%; }
  .xlarge-margin-collapse > .medium-9 {
    width: 56.25%; }
  .xlarge-margin-collapse > .medium-10 {
    width: 62.5%; }
  .xlarge-margin-collapse > .medium-11 {
    width: 68.75%; }
  .xlarge-margin-collapse > .medium-12 {
    width: 75%; }
  .xlarge-margin-collapse > .medium-13 {
    width: 81.25%; }
  .xlarge-margin-collapse > .medium-14 {
    width: 87.5%; }
  .xlarge-margin-collapse > .medium-15 {
    width: 93.75%; }
  .xlarge-margin-collapse > .medium-16 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .xlarge-margin-collapse > .large-1 {
    width: 6.25%; }
  .xlarge-margin-collapse > .large-2 {
    width: 12.5%; }
  .xlarge-margin-collapse > .large-3 {
    width: 18.75%; }
  .xlarge-margin-collapse > .large-4 {
    width: 25%; }
  .xlarge-margin-collapse > .large-5 {
    width: 31.25%; }
  .xlarge-margin-collapse > .large-6 {
    width: 37.5%; }
  .xlarge-margin-collapse > .large-7 {
    width: 43.75%; }
  .xlarge-margin-collapse > .large-8 {
    width: 50%; }
  .xlarge-margin-collapse > .large-9 {
    width: 56.25%; }
  .xlarge-margin-collapse > .large-10 {
    width: 62.5%; }
  .xlarge-margin-collapse > .large-11 {
    width: 68.75%; }
  .xlarge-margin-collapse > .large-12 {
    width: 75%; }
  .xlarge-margin-collapse > .large-13 {
    width: 81.25%; }
  .xlarge-margin-collapse > .large-14 {
    width: 87.5%; }
  .xlarge-margin-collapse > .large-15 {
    width: 93.75%; }
  .xlarge-margin-collapse > .large-16 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .xlarge-margin-collapse > .xlarge-1 {
    width: 6.25%; }
  .xlarge-margin-collapse > .xlarge-2 {
    width: 12.5%; }
  .xlarge-margin-collapse > .xlarge-3 {
    width: 18.75%; }
  .xlarge-margin-collapse > .xlarge-4 {
    width: 25%; }
  .xlarge-margin-collapse > .xlarge-5 {
    width: 31.25%; }
  .xlarge-margin-collapse > .xlarge-6 {
    width: 37.5%; }
  .xlarge-margin-collapse > .xlarge-7 {
    width: 43.75%; }
  .xlarge-margin-collapse > .xlarge-8 {
    width: 50%; }
  .xlarge-margin-collapse > .xlarge-9 {
    width: 56.25%; }
  .xlarge-margin-collapse > .xlarge-10 {
    width: 62.5%; }
  .xlarge-margin-collapse > .xlarge-11 {
    width: 68.75%; }
  .xlarge-margin-collapse > .xlarge-12 {
    width: 75%; }
  .xlarge-margin-collapse > .xlarge-13 {
    width: 81.25%; }
  .xlarge-margin-collapse > .xlarge-14 {
    width: 87.5%; }
  .xlarge-margin-collapse > .xlarge-15 {
    width: 93.75%; }
  .xlarge-margin-collapse > .xlarge-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xlarge-margin-collapse > .xxlarge-1 {
    width: 6.25%; }
  .xlarge-margin-collapse > .xxlarge-2 {
    width: 12.5%; }
  .xlarge-margin-collapse > .xxlarge-3 {
    width: 18.75%; }
  .xlarge-margin-collapse > .xxlarge-4 {
    width: 25%; }
  .xlarge-margin-collapse > .xxlarge-5 {
    width: 31.25%; }
  .xlarge-margin-collapse > .xxlarge-6 {
    width: 37.5%; }
  .xlarge-margin-collapse > .xxlarge-7 {
    width: 43.75%; }
  .xlarge-margin-collapse > .xxlarge-8 {
    width: 50%; }
  .xlarge-margin-collapse > .xxlarge-9 {
    width: 56.25%; }
  .xlarge-margin-collapse > .xxlarge-10 {
    width: 62.5%; }
  .xlarge-margin-collapse > .xxlarge-11 {
    width: 68.75%; }
  .xlarge-margin-collapse > .xxlarge-12 {
    width: 75%; }
  .xlarge-margin-collapse > .xxlarge-13 {
    width: 81.25%; }
  .xlarge-margin-collapse > .xxlarge-14 {
    width: 87.5%; }
  .xlarge-margin-collapse > .xxlarge-15 {
    width: 93.75%; }
  .xlarge-margin-collapse > .xxlarge-16 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .xlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .small-1 {
    width: 6.25%; }
  .xxlarge-margin-collapse > .small-2 {
    width: 12.5%; }
  .xxlarge-margin-collapse > .small-3 {
    width: 18.75%; }
  .xxlarge-margin-collapse > .small-4 {
    width: 25%; }
  .xxlarge-margin-collapse > .small-5 {
    width: 31.25%; }
  .xxlarge-margin-collapse > .small-6 {
    width: 37.5%; }
  .xxlarge-margin-collapse > .small-7 {
    width: 43.75%; }
  .xxlarge-margin-collapse > .small-8 {
    width: 50%; }
  .xxlarge-margin-collapse > .small-9 {
    width: 56.25%; }
  .xxlarge-margin-collapse > .small-10 {
    width: 62.5%; }
  .xxlarge-margin-collapse > .small-11 {
    width: 68.75%; }
  .xxlarge-margin-collapse > .small-12 {
    width: 75%; }
  .xxlarge-margin-collapse > .small-13 {
    width: 81.25%; }
  .xxlarge-margin-collapse > .small-14 {
    width: 87.5%; }
  .xxlarge-margin-collapse > .small-15 {
    width: 93.75%; }
  .xxlarge-margin-collapse > .small-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .medium-1 {
    width: 6.25%; }
  .xxlarge-margin-collapse > .medium-2 {
    width: 12.5%; }
  .xxlarge-margin-collapse > .medium-3 {
    width: 18.75%; }
  .xxlarge-margin-collapse > .medium-4 {
    width: 25%; }
  .xxlarge-margin-collapse > .medium-5 {
    width: 31.25%; }
  .xxlarge-margin-collapse > .medium-6 {
    width: 37.5%; }
  .xxlarge-margin-collapse > .medium-7 {
    width: 43.75%; }
  .xxlarge-margin-collapse > .medium-8 {
    width: 50%; }
  .xxlarge-margin-collapse > .medium-9 {
    width: 56.25%; }
  .xxlarge-margin-collapse > .medium-10 {
    width: 62.5%; }
  .xxlarge-margin-collapse > .medium-11 {
    width: 68.75%; }
  .xxlarge-margin-collapse > .medium-12 {
    width: 75%; }
  .xxlarge-margin-collapse > .medium-13 {
    width: 81.25%; }
  .xxlarge-margin-collapse > .medium-14 {
    width: 87.5%; }
  .xxlarge-margin-collapse > .medium-15 {
    width: 93.75%; }
  .xxlarge-margin-collapse > .medium-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .large-1 {
    width: 6.25%; }
  .xxlarge-margin-collapse > .large-2 {
    width: 12.5%; }
  .xxlarge-margin-collapse > .large-3 {
    width: 18.75%; }
  .xxlarge-margin-collapse > .large-4 {
    width: 25%; }
  .xxlarge-margin-collapse > .large-5 {
    width: 31.25%; }
  .xxlarge-margin-collapse > .large-6 {
    width: 37.5%; }
  .xxlarge-margin-collapse > .large-7 {
    width: 43.75%; }
  .xxlarge-margin-collapse > .large-8 {
    width: 50%; }
  .xxlarge-margin-collapse > .large-9 {
    width: 56.25%; }
  .xxlarge-margin-collapse > .large-10 {
    width: 62.5%; }
  .xxlarge-margin-collapse > .large-11 {
    width: 68.75%; }
  .xxlarge-margin-collapse > .large-12 {
    width: 75%; }
  .xxlarge-margin-collapse > .large-13 {
    width: 81.25%; }
  .xxlarge-margin-collapse > .large-14 {
    width: 87.5%; }
  .xxlarge-margin-collapse > .large-15 {
    width: 93.75%; }
  .xxlarge-margin-collapse > .large-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .xlarge-1 {
    width: 6.25%; }
  .xxlarge-margin-collapse > .xlarge-2 {
    width: 12.5%; }
  .xxlarge-margin-collapse > .xlarge-3 {
    width: 18.75%; }
  .xxlarge-margin-collapse > .xlarge-4 {
    width: 25%; }
  .xxlarge-margin-collapse > .xlarge-5 {
    width: 31.25%; }
  .xxlarge-margin-collapse > .xlarge-6 {
    width: 37.5%; }
  .xxlarge-margin-collapse > .xlarge-7 {
    width: 43.75%; }
  .xxlarge-margin-collapse > .xlarge-8 {
    width: 50%; }
  .xxlarge-margin-collapse > .xlarge-9 {
    width: 56.25%; }
  .xxlarge-margin-collapse > .xlarge-10 {
    width: 62.5%; }
  .xxlarge-margin-collapse > .xlarge-11 {
    width: 68.75%; }
  .xxlarge-margin-collapse > .xlarge-12 {
    width: 75%; }
  .xxlarge-margin-collapse > .xlarge-13 {
    width: 81.25%; }
  .xxlarge-margin-collapse > .xlarge-14 {
    width: 87.5%; }
  .xxlarge-margin-collapse > .xlarge-15 {
    width: 93.75%; }
  .xxlarge-margin-collapse > .xlarge-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .xxlarge-1 {
    width: 6.25%; }
  .xxlarge-margin-collapse > .xxlarge-2 {
    width: 12.5%; }
  .xxlarge-margin-collapse > .xxlarge-3 {
    width: 18.75%; }
  .xxlarge-margin-collapse > .xxlarge-4 {
    width: 25%; }
  .xxlarge-margin-collapse > .xxlarge-5 {
    width: 31.25%; }
  .xxlarge-margin-collapse > .xxlarge-6 {
    width: 37.5%; }
  .xxlarge-margin-collapse > .xxlarge-7 {
    width: 43.75%; }
  .xxlarge-margin-collapse > .xxlarge-8 {
    width: 50%; }
  .xxlarge-margin-collapse > .xxlarge-9 {
    width: 56.25%; }
  .xxlarge-margin-collapse > .xxlarge-10 {
    width: 62.5%; }
  .xxlarge-margin-collapse > .xxlarge-11 {
    width: 68.75%; }
  .xxlarge-margin-collapse > .xxlarge-12 {
    width: 75%; }
  .xxlarge-margin-collapse > .xxlarge-13 {
    width: 81.25%; }
  .xxlarge-margin-collapse > .xxlarge-14 {
    width: 87.5%; }
  .xxlarge-margin-collapse > .xxlarge-15 {
    width: 93.75%; }
  .xxlarge-margin-collapse > .xxlarge-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xxlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

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

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.25rem); }

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

.grid-margin-x > .small-offset-1 {
  margin-left: calc(6.25% + 0.25rem); }

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

.grid-margin-x > .small-offset-2 {
  margin-left: calc(12.5% + 0.25rem); }

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

.grid-margin-x > .small-offset-3 {
  margin-left: calc(18.75% + 0.25rem); }

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

.grid-margin-x > .small-offset-4 {
  margin-left: calc(25% + 0.25rem); }

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

.grid-margin-x > .small-offset-5 {
  margin-left: calc(31.25% + 0.25rem); }

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

.grid-margin-x > .small-offset-6 {
  margin-left: calc(37.5% + 0.25rem); }

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

.grid-margin-x > .small-offset-7 {
  margin-left: calc(43.75% + 0.25rem); }

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

.grid-margin-x > .small-offset-8 {
  margin-left: calc(50% + 0.25rem); }

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

.grid-margin-x > .small-offset-9 {
  margin-left: calc(56.25% + 0.25rem); }

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

.grid-margin-x > .small-offset-10 {
  margin-left: calc(62.5% + 0.25rem); }

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

.grid-margin-x > .small-offset-11 {
  margin-left: calc(68.75% + 0.25rem); }

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

.grid-margin-x > .small-offset-12 {
  margin-left: calc(75% + 0.25rem); }

.small-offset-13 {
  margin-left: 81.25%; }

.grid-margin-x > .small-offset-13 {
  margin-left: calc(81.25% + 0.25rem); }

.small-offset-14 {
  margin-left: 87.5%; }

.grid-margin-x > .small-offset-14 {
  margin-left: calc(87.5% + 0.25rem); }

.small-offset-15 {
  margin-left: 93.75%; }

.grid-margin-x > .small-offset-15 {
  margin-left: calc(93.75% + 0.25rem); }

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.5rem); }
  .medium-offset-1 {
    margin-left: 6.25%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(6.25% + 0.5rem); }
  .medium-offset-2 {
    margin-left: 12.5%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(12.5% + 0.5rem); }
  .medium-offset-3 {
    margin-left: 18.75%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(18.75% + 0.5rem); }
  .medium-offset-4 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(25% + 0.5rem); }
  .medium-offset-5 {
    margin-left: 31.25%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(31.25% + 0.5rem); }
  .medium-offset-6 {
    margin-left: 37.5%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(37.5% + 0.5rem); }
  .medium-offset-7 {
    margin-left: 43.75%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(43.75% + 0.5rem); }
  .medium-offset-8 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(50% + 0.5rem); }
  .medium-offset-9 {
    margin-left: 56.25%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(56.25% + 0.5rem); }
  .medium-offset-10 {
    margin-left: 62.5%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(62.5% + 0.5rem); }
  .medium-offset-11 {
    margin-left: 68.75%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(68.75% + 0.5rem); }
  .medium-offset-12 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-12 {
    margin-left: calc(75% + 0.5rem); }
  .medium-offset-13 {
    margin-left: 81.25%; }
  .grid-margin-x > .medium-offset-13 {
    margin-left: calc(81.25% + 0.5rem); }
  .medium-offset-14 {
    margin-left: 87.5%; }
  .grid-margin-x > .medium-offset-14 {
    margin-left: calc(87.5% + 0.5rem); }
  .medium-offset-15 {
    margin-left: 93.75%; }
  .grid-margin-x > .medium-offset-15 {
    margin-left: calc(93.75% + 0.5rem); } }

@media screen and (min-width: 50em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.5rem); }
  .large-offset-1 {
    margin-left: 6.25%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(6.25% + 0.5rem); }
  .large-offset-2 {
    margin-left: 12.5%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(12.5% + 0.5rem); }
  .large-offset-3 {
    margin-left: 18.75%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(18.75% + 0.5rem); }
  .large-offset-4 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(25% + 0.5rem); }
  .large-offset-5 {
    margin-left: 31.25%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(31.25% + 0.5rem); }
  .large-offset-6 {
    margin-left: 37.5%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(37.5% + 0.5rem); }
  .large-offset-7 {
    margin-left: 43.75%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(43.75% + 0.5rem); }
  .large-offset-8 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(50% + 0.5rem); }
  .large-offset-9 {
    margin-left: 56.25%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(56.25% + 0.5rem); }
  .large-offset-10 {
    margin-left: 62.5%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(62.5% + 0.5rem); }
  .large-offset-11 {
    margin-left: 68.75%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(68.75% + 0.5rem); }
  .large-offset-12 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-12 {
    margin-left: calc(75% + 0.5rem); }
  .large-offset-13 {
    margin-left: 81.25%; }
  .grid-margin-x > .large-offset-13 {
    margin-left: calc(81.25% + 0.5rem); }
  .large-offset-14 {
    margin-left: 87.5%; }
  .grid-margin-x > .large-offset-14 {
    margin-left: calc(87.5% + 0.5rem); }
  .large-offset-15 {
    margin-left: 93.75%; }
  .grid-margin-x > .large-offset-15 {
    margin-left: calc(93.75% + 0.5rem); } }

@media screen and (min-width: 64em) {
  .xlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xlarge-offset-0 {
    margin-left: calc(0% + 1rem); }
  .xlarge-offset-1 {
    margin-left: 6.25%; }
  .grid-margin-x > .xlarge-offset-1 {
    margin-left: calc(6.25% + 1rem); }
  .xlarge-offset-2 {
    margin-left: 12.5%; }
  .grid-margin-x > .xlarge-offset-2 {
    margin-left: calc(12.5% + 1rem); }
  .xlarge-offset-3 {
    margin-left: 18.75%; }
  .grid-margin-x > .xlarge-offset-3 {
    margin-left: calc(18.75% + 1rem); }
  .xlarge-offset-4 {
    margin-left: 25%; }
  .grid-margin-x > .xlarge-offset-4 {
    margin-left: calc(25% + 1rem); }
  .xlarge-offset-5 {
    margin-left: 31.25%; }
  .grid-margin-x > .xlarge-offset-5 {
    margin-left: calc(31.25% + 1rem); }
  .xlarge-offset-6 {
    margin-left: 37.5%; }
  .grid-margin-x > .xlarge-offset-6 {
    margin-left: calc(37.5% + 1rem); }
  .xlarge-offset-7 {
    margin-left: 43.75%; }
  .grid-margin-x > .xlarge-offset-7 {
    margin-left: calc(43.75% + 1rem); }
  .xlarge-offset-8 {
    margin-left: 50%; }
  .grid-margin-x > .xlarge-offset-8 {
    margin-left: calc(50% + 1rem); }
  .xlarge-offset-9 {
    margin-left: 56.25%; }
  .grid-margin-x > .xlarge-offset-9 {
    margin-left: calc(56.25% + 1rem); }
  .xlarge-offset-10 {
    margin-left: 62.5%; }
  .grid-margin-x > .xlarge-offset-10 {
    margin-left: calc(62.5% + 1rem); }
  .xlarge-offset-11 {
    margin-left: 68.75%; }
  .grid-margin-x > .xlarge-offset-11 {
    margin-left: calc(68.75% + 1rem); }
  .xlarge-offset-12 {
    margin-left: 75%; }
  .grid-margin-x > .xlarge-offset-12 {
    margin-left: calc(75% + 1rem); }
  .xlarge-offset-13 {
    margin-left: 81.25%; }
  .grid-margin-x > .xlarge-offset-13 {
    margin-left: calc(81.25% + 1rem); }
  .xlarge-offset-14 {
    margin-left: 87.5%; }
  .grid-margin-x > .xlarge-offset-14 {
    margin-left: calc(87.5% + 1rem); }
  .xlarge-offset-15 {
    margin-left: 93.75%; }
  .grid-margin-x > .xlarge-offset-15 {
    margin-left: calc(93.75% + 1rem); } }

@media screen and (min-width: 90em) {
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xxlarge-offset-0 {
    margin-left: calc(0% + 1rem); }
  .xxlarge-offset-1 {
    margin-left: 6.25%; }
  .grid-margin-x > .xxlarge-offset-1 {
    margin-left: calc(6.25% + 1rem); }
  .xxlarge-offset-2 {
    margin-left: 12.5%; }
  .grid-margin-x > .xxlarge-offset-2 {
    margin-left: calc(12.5% + 1rem); }
  .xxlarge-offset-3 {
    margin-left: 18.75%; }
  .grid-margin-x > .xxlarge-offset-3 {
    margin-left: calc(18.75% + 1rem); }
  .xxlarge-offset-4 {
    margin-left: 25%; }
  .grid-margin-x > .xxlarge-offset-4 {
    margin-left: calc(25% + 1rem); }
  .xxlarge-offset-5 {
    margin-left: 31.25%; }
  .grid-margin-x > .xxlarge-offset-5 {
    margin-left: calc(31.25% + 1rem); }
  .xxlarge-offset-6 {
    margin-left: 37.5%; }
  .grid-margin-x > .xxlarge-offset-6 {
    margin-left: calc(37.5% + 1rem); }
  .xxlarge-offset-7 {
    margin-left: 43.75%; }
  .grid-margin-x > .xxlarge-offset-7 {
    margin-left: calc(43.75% + 1rem); }
  .xxlarge-offset-8 {
    margin-left: 50%; }
  .grid-margin-x > .xxlarge-offset-8 {
    margin-left: calc(50% + 1rem); }
  .xxlarge-offset-9 {
    margin-left: 56.25%; }
  .grid-margin-x > .xxlarge-offset-9 {
    margin-left: calc(56.25% + 1rem); }
  .xxlarge-offset-10 {
    margin-left: 62.5%; }
  .grid-margin-x > .xxlarge-offset-10 {
    margin-left: calc(62.5% + 1rem); }
  .xxlarge-offset-11 {
    margin-left: 68.75%; }
  .grid-margin-x > .xxlarge-offset-11 {
    margin-left: calc(68.75% + 1rem); }
  .xxlarge-offset-12 {
    margin-left: 75%; }
  .grid-margin-x > .xxlarge-offset-12 {
    margin-left: calc(75% + 1rem); }
  .xxlarge-offset-13 {
    margin-left: 81.25%; }
  .grid-margin-x > .xxlarge-offset-13 {
    margin-left: calc(81.25% + 1rem); }
  .xxlarge-offset-14 {
    margin-left: 87.5%; }
  .grid-margin-x > .xxlarge-offset-14 {
    margin-left: calc(87.5% + 1rem); }
  .xxlarge-offset-15 {
    margin-left: 93.75%; }
  .grid-margin-x > .xxlarge-offset-15 {
    margin-left: calc(93.75% + 1rem); } }

.grid-y {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12, .grid-y > .small-13, .grid-y > .small-14, .grid-y > .small-15, .grid-y > .small-16 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12, .grid-y > .medium-13, .grid-y > .medium-14, .grid-y > .medium-15, .grid-y > .medium-16 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 50em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12, .grid-y > .large-13, .grid-y > .large-14, .grid-y > .large-15, .grid-y > .large-16 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 64em) {
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12, .grid-y > .xlarge-13, .grid-y > .xlarge-14, .grid-y > .xlarge-15, .grid-y > .xlarge-16 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 90em) {
    .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-full, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12, .grid-y > .xxlarge-13, .grid-y > .xxlarge-14, .grid-y > .xxlarge-15, .grid-y > .xxlarge-16 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  .grid-y > .small-1 {
    height: 6.25%; }
  .grid-y > .small-2 {
    height: 12.5%; }
  .grid-y > .small-3 {
    height: 18.75%; }
  .grid-y > .small-4 {
    height: 25%; }
  .grid-y > .small-5 {
    height: 31.25%; }
  .grid-y > .small-6 {
    height: 37.5%; }
  .grid-y > .small-7 {
    height: 43.75%; }
  .grid-y > .small-8 {
    height: 50%; }
  .grid-y > .small-9 {
    height: 56.25%; }
  .grid-y > .small-10 {
    height: 62.5%; }
  .grid-y > .small-11 {
    height: 68.75%; }
  .grid-y > .small-12 {
    height: 75%; }
  .grid-y > .small-13 {
    height: 81.25%; }
  .grid-y > .small-14 {
    height: 87.5%; }
  .grid-y > .small-15 {
    height: 93.75%; }
  .grid-y > .small-16 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 6.25%; }
    .grid-y > .medium-2 {
      height: 12.5%; }
    .grid-y > .medium-3 {
      height: 18.75%; }
    .grid-y > .medium-4 {
      height: 25%; }
    .grid-y > .medium-5 {
      height: 31.25%; }
    .grid-y > .medium-6 {
      height: 37.5%; }
    .grid-y > .medium-7 {
      height: 43.75%; }
    .grid-y > .medium-8 {
      height: 50%; }
    .grid-y > .medium-9 {
      height: 56.25%; }
    .grid-y > .medium-10 {
      height: 62.5%; }
    .grid-y > .medium-11 {
      height: 68.75%; }
    .grid-y > .medium-12 {
      height: 75%; }
    .grid-y > .medium-13 {
      height: 81.25%; }
    .grid-y > .medium-14 {
      height: 87.5%; }
    .grid-y > .medium-15 {
      height: 93.75%; }
    .grid-y > .medium-16 {
      height: 100%; } }
  @media screen and (min-width: 50em) {
    .grid-y > .large-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 6.25%; }
    .grid-y > .large-2 {
      height: 12.5%; }
    .grid-y > .large-3 {
      height: 18.75%; }
    .grid-y > .large-4 {
      height: 25%; }
    .grid-y > .large-5 {
      height: 31.25%; }
    .grid-y > .large-6 {
      height: 37.5%; }
    .grid-y > .large-7 {
      height: 43.75%; }
    .grid-y > .large-8 {
      height: 50%; }
    .grid-y > .large-9 {
      height: 56.25%; }
    .grid-y > .large-10 {
      height: 62.5%; }
    .grid-y > .large-11 {
      height: 68.75%; }
    .grid-y > .large-12 {
      height: 75%; }
    .grid-y > .large-13 {
      height: 81.25%; }
    .grid-y > .large-14 {
      height: 87.5%; }
    .grid-y > .large-15 {
      height: 93.75%; }
    .grid-y > .large-16 {
      height: 100%; } }
  @media screen and (min-width: 64em) {
    .grid-y > .xlarge-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .xlarge-shrink {
      height: auto; }
    .grid-y > .xlarge-1 {
      height: 6.25%; }
    .grid-y > .xlarge-2 {
      height: 12.5%; }
    .grid-y > .xlarge-3 {
      height: 18.75%; }
    .grid-y > .xlarge-4 {
      height: 25%; }
    .grid-y > .xlarge-5 {
      height: 31.25%; }
    .grid-y > .xlarge-6 {
      height: 37.5%; }
    .grid-y > .xlarge-7 {
      height: 43.75%; }
    .grid-y > .xlarge-8 {
      height: 50%; }
    .grid-y > .xlarge-9 {
      height: 56.25%; }
    .grid-y > .xlarge-10 {
      height: 62.5%; }
    .grid-y > .xlarge-11 {
      height: 68.75%; }
    .grid-y > .xlarge-12 {
      height: 75%; }
    .grid-y > .xlarge-13 {
      height: 81.25%; }
    .grid-y > .xlarge-14 {
      height: 87.5%; }
    .grid-y > .xlarge-15 {
      height: 93.75%; }
    .grid-y > .xlarge-16 {
      height: 100%; } }
  @media screen and (min-width: 90em) {
    .grid-y > .xxlarge-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .xxlarge-shrink {
      height: auto; }
    .grid-y > .xxlarge-1 {
      height: 6.25%; }
    .grid-y > .xxlarge-2 {
      height: 12.5%; }
    .grid-y > .xxlarge-3 {
      height: 18.75%; }
    .grid-y > .xxlarge-4 {
      height: 25%; }
    .grid-y > .xxlarge-5 {
      height: 31.25%; }
    .grid-y > .xxlarge-6 {
      height: 37.5%; }
    .grid-y > .xxlarge-7 {
      height: 43.75%; }
    .grid-y > .xxlarge-8 {
      height: 50%; }
    .grid-y > .xxlarge-9 {
      height: 56.25%; }
    .grid-y > .xxlarge-10 {
      height: 62.5%; }
    .grid-y > .xxlarge-11 {
      height: 68.75%; }
    .grid-y > .xxlarge-12 {
      height: 75%; }
    .grid-y > .xxlarge-13 {
      height: 81.25%; }
    .grid-y > .xxlarge-14 {
      height: 87.5%; }
    .grid-y > .xxlarge-15 {
      height: 93.75%; }
    .grid-y > .xxlarge-16 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.5rem;
      margin-bottom: -0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -1rem;
      margin-bottom: -1rem; } }

.grid-padding-y > .cell {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y > .cell {
      padding-top: 0.5rem;
      padding-bottom: 0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-padding-y > .cell {
      padding-top: 1rem;
      padding-bottom: 1rem; } }

.grid-margin-y {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.5rem;
      margin-bottom: -0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-margin-y {
      margin-top: -1rem;
      margin-bottom: -1rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 0.5rem);
    margin-top: 0.25rem;
    margin-bottom: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1rem);
      margin-top: 0.5rem;
      margin-bottom: 0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-margin-y > .cell {
      height: calc(100% - 2rem);
      margin-top: 1rem;
      margin-bottom: 1rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(6.25% - 0.5rem); }
  .grid-margin-y > .small-2 {
    height: calc(12.5% - 0.5rem); }
  .grid-margin-y > .small-3 {
    height: calc(18.75% - 0.5rem); }
  .grid-margin-y > .small-4 {
    height: calc(25% - 0.5rem); }
  .grid-margin-y > .small-5 {
    height: calc(31.25% - 0.5rem); }
  .grid-margin-y > .small-6 {
    height: calc(37.5% - 0.5rem); }
  .grid-margin-y > .small-7 {
    height: calc(43.75% - 0.5rem); }
  .grid-margin-y > .small-8 {
    height: calc(50% - 0.5rem); }
  .grid-margin-y > .small-9 {
    height: calc(56.25% - 0.5rem); }
  .grid-margin-y > .small-10 {
    height: calc(62.5% - 0.5rem); }
  .grid-margin-y > .small-11 {
    height: calc(68.75% - 0.5rem); }
  .grid-margin-y > .small-12 {
    height: calc(75% - 0.5rem); }
  .grid-margin-y > .small-13 {
    height: calc(81.25% - 0.5rem); }
  .grid-margin-y > .small-14 {
    height: calc(87.5% - 0.5rem); }
  .grid-margin-y > .small-15 {
    height: calc(93.75% - 0.5rem); }
  .grid-margin-y > .small-16 {
    height: calc(100% - 0.5rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(6.25% - 1rem); }
    .grid-margin-y > .small-2 {
      height: calc(12.5% - 1rem); }
    .grid-margin-y > .small-3 {
      height: calc(18.75% - 1rem); }
    .grid-margin-y > .small-4 {
      height: calc(25% - 1rem); }
    .grid-margin-y > .small-5 {
      height: calc(31.25% - 1rem); }
    .grid-margin-y > .small-6 {
      height: calc(37.5% - 1rem); }
    .grid-margin-y > .small-7 {
      height: calc(43.75% - 1rem); }
    .grid-margin-y > .small-8 {
      height: calc(50% - 1rem); }
    .grid-margin-y > .small-9 {
      height: calc(56.25% - 1rem); }
    .grid-margin-y > .small-10 {
      height: calc(62.5% - 1rem); }
    .grid-margin-y > .small-11 {
      height: calc(68.75% - 1rem); }
    .grid-margin-y > .small-12 {
      height: calc(75% - 1rem); }
    .grid-margin-y > .small-13 {
      height: calc(81.25% - 1rem); }
    .grid-margin-y > .small-14 {
      height: calc(87.5% - 1rem); }
    .grid-margin-y > .small-15 {
      height: calc(93.75% - 1rem); }
    .grid-margin-y > .small-16 {
      height: calc(100% - 1rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(6.25% - 1rem); }
    .grid-margin-y > .medium-2 {
      height: calc(12.5% - 1rem); }
    .grid-margin-y > .medium-3 {
      height: calc(18.75% - 1rem); }
    .grid-margin-y > .medium-4 {
      height: calc(25% - 1rem); }
    .grid-margin-y > .medium-5 {
      height: calc(31.25% - 1rem); }
    .grid-margin-y > .medium-6 {
      height: calc(37.5% - 1rem); }
    .grid-margin-y > .medium-7 {
      height: calc(43.75% - 1rem); }
    .grid-margin-y > .medium-8 {
      height: calc(50% - 1rem); }
    .grid-margin-y > .medium-9 {
      height: calc(56.25% - 1rem); }
    .grid-margin-y > .medium-10 {
      height: calc(62.5% - 1rem); }
    .grid-margin-y > .medium-11 {
      height: calc(68.75% - 1rem); }
    .grid-margin-y > .medium-12 {
      height: calc(75% - 1rem); }
    .grid-margin-y > .medium-13 {
      height: calc(81.25% - 1rem); }
    .grid-margin-y > .medium-14 {
      height: calc(87.5% - 1rem); }
    .grid-margin-y > .medium-15 {
      height: calc(93.75% - 1rem); }
    .grid-margin-y > .medium-16 {
      height: calc(100% - 1rem); } }
  @media screen and (min-width: 50em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(6.25% - 1rem); }
    .grid-margin-y > .large-2 {
      height: calc(12.5% - 1rem); }
    .grid-margin-y > .large-3 {
      height: calc(18.75% - 1rem); }
    .grid-margin-y > .large-4 {
      height: calc(25% - 1rem); }
    .grid-margin-y > .large-5 {
      height: calc(31.25% - 1rem); }
    .grid-margin-y > .large-6 {
      height: calc(37.5% - 1rem); }
    .grid-margin-y > .large-7 {
      height: calc(43.75% - 1rem); }
    .grid-margin-y > .large-8 {
      height: calc(50% - 1rem); }
    .grid-margin-y > .large-9 {
      height: calc(56.25% - 1rem); }
    .grid-margin-y > .large-10 {
      height: calc(62.5% - 1rem); }
    .grid-margin-y > .large-11 {
      height: calc(68.75% - 1rem); }
    .grid-margin-y > .large-12 {
      height: calc(75% - 1rem); }
    .grid-margin-y > .large-13 {
      height: calc(81.25% - 1rem); }
    .grid-margin-y > .large-14 {
      height: calc(87.5% - 1rem); }
    .grid-margin-y > .large-15 {
      height: calc(93.75% - 1rem); }
    .grid-margin-y > .large-16 {
      height: calc(100% - 1rem); } }
  @media screen and (min-width: 64em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(6.25% - 2rem); }
    .grid-margin-y > .small-2 {
      height: calc(12.5% - 2rem); }
    .grid-margin-y > .small-3 {
      height: calc(18.75% - 2rem); }
    .grid-margin-y > .small-4 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .small-5 {
      height: calc(31.25% - 2rem); }
    .grid-margin-y > .small-6 {
      height: calc(37.5% - 2rem); }
    .grid-margin-y > .small-7 {
      height: calc(43.75% - 2rem); }
    .grid-margin-y > .small-8 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .small-9 {
      height: calc(56.25% - 2rem); }
    .grid-margin-y > .small-10 {
      height: calc(62.5% - 2rem); }
    .grid-margin-y > .small-11 {
      height: calc(68.75% - 2rem); }
    .grid-margin-y > .small-12 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .small-13 {
      height: calc(81.25% - 2rem); }
    .grid-margin-y > .small-14 {
      height: calc(87.5% - 2rem); }
    .grid-margin-y > .small-15 {
      height: calc(93.75% - 2rem); }
    .grid-margin-y > .small-16 {
      height: calc(100% - 2rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(6.25% - 2rem); }
    .grid-margin-y > .medium-2 {
      height: calc(12.5% - 2rem); }
    .grid-margin-y > .medium-3 {
      height: calc(18.75% - 2rem); }
    .grid-margin-y > .medium-4 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .medium-5 {
      height: calc(31.25% - 2rem); }
    .grid-margin-y > .medium-6 {
      height: calc(37.5% - 2rem); }
    .grid-margin-y > .medium-7 {
      height: calc(43.75% - 2rem); }
    .grid-margin-y > .medium-8 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .medium-9 {
      height: calc(56.25% - 2rem); }
    .grid-margin-y > .medium-10 {
      height: calc(62.5% - 2rem); }
    .grid-margin-y > .medium-11 {
      height: calc(68.75% - 2rem); }
    .grid-margin-y > .medium-12 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .medium-13 {
      height: calc(81.25% - 2rem); }
    .grid-margin-y > .medium-14 {
      height: calc(87.5% - 2rem); }
    .grid-margin-y > .medium-15 {
      height: calc(93.75% - 2rem); }
    .grid-margin-y > .medium-16 {
      height: calc(100% - 2rem); }
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(6.25% - 2rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(12.5% - 2rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(18.75% - 2rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(31.25% - 2rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(37.5% - 2rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(43.75% - 2rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(56.25% - 2rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(62.5% - 2rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(68.75% - 2rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .xlarge-13 {
      height: calc(81.25% - 2rem); }
    .grid-margin-y > .xlarge-14 {
      height: calc(87.5% - 2rem); }
    .grid-margin-y > .xlarge-15 {
      height: calc(93.75% - 2rem); }
    .grid-margin-y > .xlarge-16 {
      height: calc(100% - 2rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(6.25% - 2rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(12.5% - 2rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(18.75% - 2rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(31.25% - 2rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(37.5% - 2rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(43.75% - 2rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(56.25% - 2rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(62.5% - 2rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(68.75% - 2rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .xxlarge-13 {
      height: calc(81.25% - 2rem); }
    .grid-margin-y > .xxlarge-14 {
      height: calc(87.5% - 2rem); }
    .grid-margin-y > .xxlarge-15 {
      height: calc(93.75% - 2rem); }
    .grid-margin-y > .xxlarge-16 {
      height: calc(100% - 2rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw; }

.cell .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    max-height: 100%;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 50em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 64em) {
  .xlarge-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .xlarge-grid-frame {
    width: 100%; }
  .xlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .xlarge-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .xlarge-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .xlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 90em) {
  .xxlarge-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .xxlarge-grid-frame {
    width: 100%; }
  .xxlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .xxlarge-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .xxlarge-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .xxlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media screen and (min-width: 50em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media screen and (min-width: 64em) {
  .grid-y.xlarge-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media screen and (min-width: 90em) {
  .grid-y.xxlarge-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media screen and (min-width: 50em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

@media screen and (min-width: 64em) {
  .cell .grid-y.xlarge-grid-frame {
    height: 100%; } }

@media screen and (min-width: 90em) {
  .cell .grid-y.xxlarge-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.5rem;
      margin-bottom: -0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-margin-y {
      margin-top: -1rem;
      margin-bottom: -1rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 0.5rem);
    margin-top: 0.25rem;
    margin-bottom: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1rem);
      margin-top: 0.5rem;
      margin-bottom: 0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-margin-y > .cell {
      height: calc(100% - 2rem);
      margin-top: 1rem;
      margin-bottom: 1rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(6.25% - 0.5rem); }
  .grid-margin-y > .small-2 {
    height: calc(12.5% - 0.5rem); }
  .grid-margin-y > .small-3 {
    height: calc(18.75% - 0.5rem); }
  .grid-margin-y > .small-4 {
    height: calc(25% - 0.5rem); }
  .grid-margin-y > .small-5 {
    height: calc(31.25% - 0.5rem); }
  .grid-margin-y > .small-6 {
    height: calc(37.5% - 0.5rem); }
  .grid-margin-y > .small-7 {
    height: calc(43.75% - 0.5rem); }
  .grid-margin-y > .small-8 {
    height: calc(50% - 0.5rem); }
  .grid-margin-y > .small-9 {
    height: calc(56.25% - 0.5rem); }
  .grid-margin-y > .small-10 {
    height: calc(62.5% - 0.5rem); }
  .grid-margin-y > .small-11 {
    height: calc(68.75% - 0.5rem); }
  .grid-margin-y > .small-12 {
    height: calc(75% - 0.5rem); }
  .grid-margin-y > .small-13 {
    height: calc(81.25% - 0.5rem); }
  .grid-margin-y > .small-14 {
    height: calc(87.5% - 0.5rem); }
  .grid-margin-y > .small-15 {
    height: calc(93.75% - 0.5rem); }
  .grid-margin-y > .small-16 {
    height: calc(100% - 0.5rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(6.25% - 1rem); }
    .grid-margin-y > .small-2 {
      height: calc(12.5% - 1rem); }
    .grid-margin-y > .small-3 {
      height: calc(18.75% - 1rem); }
    .grid-margin-y > .small-4 {
      height: calc(25% - 1rem); }
    .grid-margin-y > .small-5 {
      height: calc(31.25% - 1rem); }
    .grid-margin-y > .small-6 {
      height: calc(37.5% - 1rem); }
    .grid-margin-y > .small-7 {
      height: calc(43.75% - 1rem); }
    .grid-margin-y > .small-8 {
      height: calc(50% - 1rem); }
    .grid-margin-y > .small-9 {
      height: calc(56.25% - 1rem); }
    .grid-margin-y > .small-10 {
      height: calc(62.5% - 1rem); }
    .grid-margin-y > .small-11 {
      height: calc(68.75% - 1rem); }
    .grid-margin-y > .small-12 {
      height: calc(75% - 1rem); }
    .grid-margin-y > .small-13 {
      height: calc(81.25% - 1rem); }
    .grid-margin-y > .small-14 {
      height: calc(87.5% - 1rem); }
    .grid-margin-y > .small-15 {
      height: calc(93.75% - 1rem); }
    .grid-margin-y > .small-16 {
      height: calc(100% - 1rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(6.25% - 1rem); }
    .grid-margin-y > .medium-2 {
      height: calc(12.5% - 1rem); }
    .grid-margin-y > .medium-3 {
      height: calc(18.75% - 1rem); }
    .grid-margin-y > .medium-4 {
      height: calc(25% - 1rem); }
    .grid-margin-y > .medium-5 {
      height: calc(31.25% - 1rem); }
    .grid-margin-y > .medium-6 {
      height: calc(37.5% - 1rem); }
    .grid-margin-y > .medium-7 {
      height: calc(43.75% - 1rem); }
    .grid-margin-y > .medium-8 {
      height: calc(50% - 1rem); }
    .grid-margin-y > .medium-9 {
      height: calc(56.25% - 1rem); }
    .grid-margin-y > .medium-10 {
      height: calc(62.5% - 1rem); }
    .grid-margin-y > .medium-11 {
      height: calc(68.75% - 1rem); }
    .grid-margin-y > .medium-12 {
      height: calc(75% - 1rem); }
    .grid-margin-y > .medium-13 {
      height: calc(81.25% - 1rem); }
    .grid-margin-y > .medium-14 {
      height: calc(87.5% - 1rem); }
    .grid-margin-y > .medium-15 {
      height: calc(93.75% - 1rem); }
    .grid-margin-y > .medium-16 {
      height: calc(100% - 1rem); } }
  @media screen and (min-width: 50em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(6.25% - 1rem); }
    .grid-margin-y > .large-2 {
      height: calc(12.5% - 1rem); }
    .grid-margin-y > .large-3 {
      height: calc(18.75% - 1rem); }
    .grid-margin-y > .large-4 {
      height: calc(25% - 1rem); }
    .grid-margin-y > .large-5 {
      height: calc(31.25% - 1rem); }
    .grid-margin-y > .large-6 {
      height: calc(37.5% - 1rem); }
    .grid-margin-y > .large-7 {
      height: calc(43.75% - 1rem); }
    .grid-margin-y > .large-8 {
      height: calc(50% - 1rem); }
    .grid-margin-y > .large-9 {
      height: calc(56.25% - 1rem); }
    .grid-margin-y > .large-10 {
      height: calc(62.5% - 1rem); }
    .grid-margin-y > .large-11 {
      height: calc(68.75% - 1rem); }
    .grid-margin-y > .large-12 {
      height: calc(75% - 1rem); }
    .grid-margin-y > .large-13 {
      height: calc(81.25% - 1rem); }
    .grid-margin-y > .large-14 {
      height: calc(87.5% - 1rem); }
    .grid-margin-y > .large-15 {
      height: calc(93.75% - 1rem); }
    .grid-margin-y > .large-16 {
      height: calc(100% - 1rem); } }
  @media screen and (min-width: 64em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(6.25% - 2rem); }
    .grid-margin-y > .small-2 {
      height: calc(12.5% - 2rem); }
    .grid-margin-y > .small-3 {
      height: calc(18.75% - 2rem); }
    .grid-margin-y > .small-4 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .small-5 {
      height: calc(31.25% - 2rem); }
    .grid-margin-y > .small-6 {
      height: calc(37.5% - 2rem); }
    .grid-margin-y > .small-7 {
      height: calc(43.75% - 2rem); }
    .grid-margin-y > .small-8 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .small-9 {
      height: calc(56.25% - 2rem); }
    .grid-margin-y > .small-10 {
      height: calc(62.5% - 2rem); }
    .grid-margin-y > .small-11 {
      height: calc(68.75% - 2rem); }
    .grid-margin-y > .small-12 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .small-13 {
      height: calc(81.25% - 2rem); }
    .grid-margin-y > .small-14 {
      height: calc(87.5% - 2rem); }
    .grid-margin-y > .small-15 {
      height: calc(93.75% - 2rem); }
    .grid-margin-y > .small-16 {
      height: calc(100% - 2rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(6.25% - 2rem); }
    .grid-margin-y > .medium-2 {
      height: calc(12.5% - 2rem); }
    .grid-margin-y > .medium-3 {
      height: calc(18.75% - 2rem); }
    .grid-margin-y > .medium-4 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .medium-5 {
      height: calc(31.25% - 2rem); }
    .grid-margin-y > .medium-6 {
      height: calc(37.5% - 2rem); }
    .grid-margin-y > .medium-7 {
      height: calc(43.75% - 2rem); }
    .grid-margin-y > .medium-8 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .medium-9 {
      height: calc(56.25% - 2rem); }
    .grid-margin-y > .medium-10 {
      height: calc(62.5% - 2rem); }
    .grid-margin-y > .medium-11 {
      height: calc(68.75% - 2rem); }
    .grid-margin-y > .medium-12 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .medium-13 {
      height: calc(81.25% - 2rem); }
    .grid-margin-y > .medium-14 {
      height: calc(87.5% - 2rem); }
    .grid-margin-y > .medium-15 {
      height: calc(93.75% - 2rem); }
    .grid-margin-y > .medium-16 {
      height: calc(100% - 2rem); }
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(6.25% - 2rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(12.5% - 2rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(18.75% - 2rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(31.25% - 2rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(37.5% - 2rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(43.75% - 2rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(56.25% - 2rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(62.5% - 2rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(68.75% - 2rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .xlarge-13 {
      height: calc(81.25% - 2rem); }
    .grid-margin-y > .xlarge-14 {
      height: calc(87.5% - 2rem); }
    .grid-margin-y > .xlarge-15 {
      height: calc(93.75% - 2rem); }
    .grid-margin-y > .xlarge-16 {
      height: calc(100% - 2rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(6.25% - 2rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(12.5% - 2rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(18.75% - 2rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(31.25% - 2rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(37.5% - 2rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(43.75% - 2rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(56.25% - 2rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(62.5% - 2rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(68.75% - 2rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .xxlarge-13 {
      height: calc(81.25% - 2rem); }
    .grid-margin-y > .xxlarge-14 {
      height: calc(87.5% - 2rem); }
    .grid-margin-y > .xxlarge-15 {
      height: calc(93.75% - 2rem); }
    .grid-margin-y > .xxlarge-16 {
      height: calc(100% - 2rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 0.5rem); }
  @media print, screen and (min-width: 40em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1rem); } }
  @media screen and (min-width: 50em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1rem); } }
  @media screen and (min-width: 64em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 2rem); } }
  @media screen and (min-width: 90em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 2rem); } }

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1rem); } }

@media screen and (min-width: 50em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1rem); } }

@media screen and (min-width: 64em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 2rem); } }

@media screen and (min-width: 90em) {
  .grid-margin-y.xxlarge-grid-frame {
    height: calc(100vh + 2rem); } }

div,
dl,
dt,
dd,
ul,
ol,
li, h1, #contact-overlay .contact_title, #contact-overlay .large_tel, #contact-overlay .large_email, #contact-overlay .large_address,
h2,
h3,
.char-wrapper:before,
h4,
h5,
h6,
.archiv-view .results-item .entry-title,
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, #contact-overlay .contact_title, #contact-overlay .large_tel, #contact-overlay .large_email, #contact-overlay .large_address, .h1,
h2, .h2,
h3,
.char-wrapper:before, .h3,
h4, .h4,
h5, .h5,
h6,
.archiv-view .results-item .entry-title, .h6 {
  font-family: "poppinsbold";
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, #contact-overlay .contact_title small, #contact-overlay .large_tel small, #contact-overlay .large_email small, #contact-overlay .large_address small, .h1 small,
  h2 small, .h2 small,
  h3 small,
  .char-wrapper:before small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small,
  .archiv-view .results-item .entry-title small, .h6 small {
    line-height: 0;
    color: #DFDFDF; }

h1, #contact-overlay .contact_title, #contact-overlay .large_tel, #contact-overlay .large_email, #contact-overlay .large_address, .h1 {
  font-size: 1.75rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2, .h2 {
  font-size: 1.4375rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }


h3,
.char-wrapper:before, .h3 {
  font-size: 1.25rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4, .h4 {
  font-size: 1.0625rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

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


h6,
.archiv-view .results-item .entry-title, .h6 {
  font-size: 1rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media screen and (min-width: 50em) {
  h1, #contact-overlay .contact_title, #contact-overlay .large_tel, #contact-overlay .large_email, #contact-overlay .large_address, .h1 {
    font-size: 3rem; }
  h2, .h2 {
    font-size: 1.625rem; }
  
  h3,
  .char-wrapper:before, .h3 {
    font-size: 1.4375rem; }
  h4, .h4 {
    font-size: 1.3125rem; }
  h5, .h5 {
    font-size: 1.375rem; }
  
  h6,
  .archiv-view .results-item .entry-title, .h6 {
    font-size: 1.0625rem; } }

a {
  line-height: inherit;
  color: #313941;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #2a3138; }
  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 #DFDFDF;
  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 #DFDFDF; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #313941; }

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

abbr, abbr[title] {
  border-bottom: 1px dotted #000000;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

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

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #DFDFDF;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #000000;
  border-radius: 0.1875rem; }

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

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

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

ul.no-bullet, ol.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: 40em) {
  .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 screen and (min-width: 50em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

@media screen and (min-width: 64em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 90em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-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 #313941;
    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,
  .char-wrapper:before {
    orphans: 3;
    widows: 3; }
  h2,
  h3,
  .char-wrapper:before {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button, .gform_wrapper .gform_footer input.button[type=submit],
.gform_wrapper .gform_button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.4em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 2.5rem;
  transition: background-color 0.2s ease, color 0.2s ease;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #313941;
  color: #FFFFFF; }
  [data-whatinput='mouse'] .button, [data-whatinput='mouse'] .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer [data-whatinput='mouse'] input.button[type=submit],
  [data-whatinput='mouse'] .gform_wrapper .gform_button, .gform_wrapper [data-whatinput='mouse'] .gform_button {
    outline: 0; }
  .button:hover, .gform_wrapper .gform_footer input.button:hover[type=submit],
  .gform_wrapper .gform_button:hover, .button:focus, .gform_wrapper .gform_footer input.button:focus[type=submit],
  .gform_wrapper .gform_button:focus {
    background-color: #313941;
    color: #FFFFFF; }
  .button.tiny, .gform_wrapper .gform_footer input.tiny.button[type=submit],
  .gform_wrapper .tiny.gform_button {
    font-size: 0.6rem; }
  .button.small, .gform_wrapper .gform_footer input.small.button[type=submit],
  .gform_wrapper .small.gform_button {
    font-size: 0.75rem; }
  .button.large, .gform_wrapper .gform_footer input.large.button[type=submit],
  .gform_wrapper .large.gform_button {
    font-size: 1.25rem; }
  .button.expanded, .gform_wrapper .gform_footer input.expanded.button[type=submit],
  .gform_wrapper .expanded.gform_button {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary, .gform_wrapper .gform_footer input.primary.button[type=submit],
  .gform_wrapper .primary.gform_button {
    background-color: #313941;
    color: #FFFFFF; }
    .button.primary:hover, .gform_wrapper .gform_footer input.primary.button:hover[type=submit],
    .gform_wrapper .primary.gform_button:hover, .button.primary:focus, .gform_wrapper .gform_footer input.primary.button:focus[type=submit],
    .gform_wrapper .primary.gform_button:focus {
      background-color: #272e34;
      color: #FFFFFF; }
  .button.secondary, .gform_wrapper .gform_footer input.secondary.button[type=submit],
  .gform_wrapper .secondary.gform_button {
    background-color: #10516b;
    color: #FFFFFF; }
    .button.secondary:hover, .gform_wrapper .gform_footer input.secondary.button:hover[type=submit],
    .gform_wrapper .secondary.gform_button:hover, .button.secondary:focus, .gform_wrapper .gform_footer input.secondary.button:focus[type=submit],
    .gform_wrapper .secondary.gform_button:focus {
      background-color: #0d4156;
      color: #FFFFFF; }
  .button.success, .gform_wrapper .gform_footer input.success.button[type=submit],
  .gform_wrapper .success.gform_button {
    background-color: #6EB533;
    color: #000000; }
    .button.success:hover, .gform_wrapper .gform_footer input.success.button:hover[type=submit],
    .gform_wrapper .success.gform_button:hover, .button.success:focus, .gform_wrapper .gform_footer input.success.button:focus[type=submit],
    .gform_wrapper .success.gform_button:focus {
      background-color: #589129;
      color: #000000; }
  .button.warning, .gform_wrapper .gform_footer input.warning.button[type=submit],
  .gform_wrapper .warning.gform_button {
    background-color: #fffb00;
    color: #000000; }
    .button.warning:hover, .gform_wrapper .gform_footer input.warning.button:hover[type=submit],
    .gform_wrapper .warning.gform_button:hover, .button.warning:focus, .gform_wrapper .gform_footer input.warning.button:focus[type=submit],
    .gform_wrapper .warning.gform_button:focus {
      background-color: #ccc900;
      color: #000000; }
  .button.alert, .gform_wrapper .gform_footer input.alert.button[type=submit],
  .gform_wrapper .alert.gform_button {
    background-color: #cc4b37;
    color: #000000; }
    .button.alert:hover, .gform_wrapper .gform_footer input.alert.button:hover[type=submit],
    .gform_wrapper .alert.gform_button:hover, .button.alert:focus, .gform_wrapper .gform_footer input.alert.button:focus[type=submit],
    .gform_wrapper .alert.gform_button:focus {
      background-color: #a53b2a;
      color: #000000; }
  .button.disabled, .gform_wrapper .gform_footer input.disabled.button[type=submit],
  .gform_wrapper .disabled.gform_button, .button[disabled], .gform_wrapper .gform_footer input.button[disabled][type=submit],
  .gform_wrapper .gform_button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .gform_wrapper .gform_footer input.disabled.button[type=submit],
    .gform_wrapper .disabled.gform_button, .button.disabled:hover, .gform_wrapper .gform_footer input.disabled.button:hover[type=submit],
    .gform_wrapper .disabled.gform_button:hover, .button.disabled:focus, .gform_wrapper .gform_footer input.disabled.button:focus[type=submit],
    .gform_wrapper .disabled.gform_button:focus, .button[disabled], .gform_wrapper .gform_footer input.button[disabled][type=submit],
    .gform_wrapper .gform_button[disabled], .button[disabled]:hover, .gform_wrapper .gform_footer input.button[disabled]:hover[type=submit],
    .gform_wrapper .gform_button[disabled]:hover, .button[disabled]:focus, .gform_wrapper .gform_footer input.button[disabled]:focus[type=submit],
    .gform_wrapper .gform_button[disabled]:focus {
      background-color: #313941;
      color: #FFFFFF; }
    .button.disabled.primary, .gform_wrapper .gform_footer input.disabled.primary.button[type=submit],
    .gform_wrapper .disabled.primary.gform_button, .button[disabled].primary, .gform_wrapper .gform_footer input.button[disabled].primary[type=submit],
    .gform_wrapper .gform_button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .gform_wrapper .gform_footer input.disabled.primary.button[type=submit],
      .gform_wrapper .disabled.primary.gform_button, .button.disabled.primary:hover, .gform_wrapper .gform_footer input.disabled.primary.button:hover[type=submit],
      .gform_wrapper .disabled.primary.gform_button:hover, .button.disabled.primary:focus, .gform_wrapper .gform_footer input.disabled.primary.button:focus[type=submit],
      .gform_wrapper .disabled.primary.gform_button:focus, .button[disabled].primary, .gform_wrapper .gform_footer input.button[disabled].primary[type=submit],
      .gform_wrapper .gform_button[disabled].primary, .button[disabled].primary:hover, .gform_wrapper .gform_footer input.button[disabled].primary:hover[type=submit],
      .gform_wrapper .gform_button[disabled].primary:hover, .button[disabled].primary:focus, .gform_wrapper .gform_footer input.button[disabled].primary:focus[type=submit],
      .gform_wrapper .gform_button[disabled].primary:focus {
        background-color: #313941;
        color: #FFFFFF; }
    .button.disabled.secondary, .gform_wrapper .gform_footer input.disabled.secondary.button[type=submit],
    .gform_wrapper .disabled.secondary.gform_button, .button[disabled].secondary, .gform_wrapper .gform_footer input.button[disabled].secondary[type=submit],
    .gform_wrapper .gform_button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .gform_wrapper .gform_footer input.disabled.secondary.button[type=submit],
      .gform_wrapper .disabled.secondary.gform_button, .button.disabled.secondary:hover, .gform_wrapper .gform_footer input.disabled.secondary.button:hover[type=submit],
      .gform_wrapper .disabled.secondary.gform_button:hover, .button.disabled.secondary:focus, .gform_wrapper .gform_footer input.disabled.secondary.button:focus[type=submit],
      .gform_wrapper .disabled.secondary.gform_button:focus, .button[disabled].secondary, .gform_wrapper .gform_footer input.button[disabled].secondary[type=submit],
      .gform_wrapper .gform_button[disabled].secondary, .button[disabled].secondary:hover, .gform_wrapper .gform_footer input.button[disabled].secondary:hover[type=submit],
      .gform_wrapper .gform_button[disabled].secondary:hover, .button[disabled].secondary:focus, .gform_wrapper .gform_footer input.button[disabled].secondary:focus[type=submit],
      .gform_wrapper .gform_button[disabled].secondary:focus {
        background-color: #10516b;
        color: #FFFFFF; }
    .button.disabled.success, .gform_wrapper .gform_footer input.disabled.success.button[type=submit],
    .gform_wrapper .disabled.success.gform_button, .button[disabled].success, .gform_wrapper .gform_footer input.button[disabled].success[type=submit],
    .gform_wrapper .gform_button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .gform_wrapper .gform_footer input.disabled.success.button[type=submit],
      .gform_wrapper .disabled.success.gform_button, .button.disabled.success:hover, .gform_wrapper .gform_footer input.disabled.success.button:hover[type=submit],
      .gform_wrapper .disabled.success.gform_button:hover, .button.disabled.success:focus, .gform_wrapper .gform_footer input.disabled.success.button:focus[type=submit],
      .gform_wrapper .disabled.success.gform_button:focus, .button[disabled].success, .gform_wrapper .gform_footer input.button[disabled].success[type=submit],
      .gform_wrapper .gform_button[disabled].success, .button[disabled].success:hover, .gform_wrapper .gform_footer input.button[disabled].success:hover[type=submit],
      .gform_wrapper .gform_button[disabled].success:hover, .button[disabled].success:focus, .gform_wrapper .gform_footer input.button[disabled].success:focus[type=submit],
      .gform_wrapper .gform_button[disabled].success:focus {
        background-color: #6EB533;
        color: #000000; }
    .button.disabled.warning, .gform_wrapper .gform_footer input.disabled.warning.button[type=submit],
    .gform_wrapper .disabled.warning.gform_button, .button[disabled].warning, .gform_wrapper .gform_footer input.button[disabled].warning[type=submit],
    .gform_wrapper .gform_button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .gform_wrapper .gform_footer input.disabled.warning.button[type=submit],
      .gform_wrapper .disabled.warning.gform_button, .button.disabled.warning:hover, .gform_wrapper .gform_footer input.disabled.warning.button:hover[type=submit],
      .gform_wrapper .disabled.warning.gform_button:hover, .button.disabled.warning:focus, .gform_wrapper .gform_footer input.disabled.warning.button:focus[type=submit],
      .gform_wrapper .disabled.warning.gform_button:focus, .button[disabled].warning, .gform_wrapper .gform_footer input.button[disabled].warning[type=submit],
      .gform_wrapper .gform_button[disabled].warning, .button[disabled].warning:hover, .gform_wrapper .gform_footer input.button[disabled].warning:hover[type=submit],
      .gform_wrapper .gform_button[disabled].warning:hover, .button[disabled].warning:focus, .gform_wrapper .gform_footer input.button[disabled].warning:focus[type=submit],
      .gform_wrapper .gform_button[disabled].warning:focus {
        background-color: #fffb00;
        color: #000000; }
    .button.disabled.alert, .gform_wrapper .gform_footer input.disabled.alert.button[type=submit],
    .gform_wrapper .disabled.alert.gform_button, .button[disabled].alert, .gform_wrapper .gform_footer input.button[disabled].alert[type=submit],
    .gform_wrapper .gform_button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .gform_wrapper .gform_footer input.disabled.alert.button[type=submit],
      .gform_wrapper .disabled.alert.gform_button, .button.disabled.alert:hover, .gform_wrapper .gform_footer input.disabled.alert.button:hover[type=submit],
      .gform_wrapper .disabled.alert.gform_button:hover, .button.disabled.alert:focus, .gform_wrapper .gform_footer input.disabled.alert.button:focus[type=submit],
      .gform_wrapper .disabled.alert.gform_button:focus, .button[disabled].alert, .gform_wrapper .gform_footer input.button[disabled].alert[type=submit],
      .gform_wrapper .gform_button[disabled].alert, .button[disabled].alert:hover, .gform_wrapper .gform_footer input.button[disabled].alert:hover[type=submit],
      .gform_wrapper .gform_button[disabled].alert:hover, .button[disabled].alert:focus, .gform_wrapper .gform_footer input.button[disabled].alert:focus[type=submit],
      .gform_wrapper .gform_button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #000000; }
  .button.hollow, .gform_wrapper .gform_footer input.hollow.button[type=submit],
  .gform_wrapper .hollow.gform_button {
    border: 1px solid #313941;
    color: #313941; }
    .button.hollow, .gform_wrapper .gform_footer input.hollow.button[type=submit],
    .gform_wrapper .hollow.gform_button, .button.hollow:hover, .gform_wrapper .gform_footer input.hollow.button:hover[type=submit],
    .gform_wrapper .hollow.gform_button:hover, .button.hollow:focus, .gform_wrapper .gform_footer input.hollow.button:focus[type=submit],
    .gform_wrapper .hollow.gform_button:focus {
      background-color: transparent; }
    .button.hollow.disabled, .gform_wrapper .gform_footer input.hollow.disabled.button[type=submit],
    .gform_wrapper .hollow.disabled.gform_button, .button.hollow.disabled:hover, .gform_wrapper .gform_footer input.hollow.disabled.button:hover[type=submit],
    .gform_wrapper .hollow.disabled.gform_button:hover, .button.hollow.disabled:focus, .gform_wrapper .gform_footer input.hollow.disabled.button:focus[type=submit],
    .gform_wrapper .hollow.disabled.gform_button:focus, .button.hollow[disabled], .gform_wrapper .gform_footer input.hollow.button[disabled][type=submit],
    .gform_wrapper .hollow.gform_button[disabled], .button.hollow[disabled]:hover, .gform_wrapper .gform_footer input.hollow.button[disabled]:hover[type=submit],
    .gform_wrapper .hollow.gform_button[disabled]:hover, .button.hollow[disabled]:focus, .gform_wrapper .gform_footer input.hollow.button[disabled]:focus[type=submit],
    .gform_wrapper .hollow.gform_button[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .gform_wrapper .gform_footer input.hollow.button:hover[type=submit],
    .gform_wrapper .hollow.gform_button:hover, .button.hollow:focus, .gform_wrapper .gform_footer input.hollow.button:focus[type=submit],
    .gform_wrapper .hollow.gform_button:focus {
      border-color: #191d21;
      color: #191d21; }
      .button.hollow:hover.disabled, .gform_wrapper .gform_footer input.hollow.button:hover.disabled[type=submit],
      .gform_wrapper .hollow.gform_button:hover.disabled, .button.hollow:hover[disabled], .gform_wrapper .gform_footer input.hollow.button:hover[disabled][type=submit],
      .gform_wrapper .hollow.gform_button:hover[disabled], .button.hollow:focus.disabled, .gform_wrapper .gform_footer input.hollow.button:focus.disabled[type=submit],
      .gform_wrapper .hollow.gform_button:focus.disabled, .button.hollow:focus[disabled], .gform_wrapper .gform_footer input.hollow.button:focus[disabled][type=submit],
      .gform_wrapper .hollow.gform_button:focus[disabled] {
        border: 1px solid #313941;
        color: #313941; }
    .button.hollow.primary, .gform_wrapper .gform_footer input.hollow.primary.button[type=submit],
    .gform_wrapper .hollow.primary.gform_button {
      border: 1px solid #313941;
      color: #313941; }
      .button.hollow.primary:hover, .gform_wrapper .gform_footer input.hollow.primary.button:hover[type=submit],
      .gform_wrapper .hollow.primary.gform_button:hover, .button.hollow.primary:focus, .gform_wrapper .gform_footer input.hollow.primary.button:focus[type=submit],
      .gform_wrapper .hollow.primary.gform_button:focus {
        border-color: #191d21;
        color: #191d21; }
        .button.hollow.primary:hover.disabled,
        .gform_wrapper .hollow.primary.gform_button:hover.disabled, .button.hollow.primary:hover[disabled],
        .gform_wrapper .hollow.primary.gform_button:hover[disabled], .button.hollow.primary:focus.disabled,
        .gform_wrapper .hollow.primary.gform_button:focus.disabled, .button.hollow.primary:focus[disabled],
        .gform_wrapper .hollow.primary.gform_button:focus[disabled] {
          border: 1px solid #313941;
          color: #313941; }
    .button.hollow.secondary, .gform_wrapper .gform_footer input.hollow.secondary.button[type=submit],
    .gform_wrapper .hollow.secondary.gform_button {
      border: 1px solid #10516b;
      color: #10516b; }
      .button.hollow.secondary:hover, .gform_wrapper .gform_footer input.hollow.secondary.button:hover[type=submit],
      .gform_wrapper .hollow.secondary.gform_button:hover, .button.hollow.secondary:focus, .gform_wrapper .gform_footer input.hollow.secondary.button:focus[type=submit],
      .gform_wrapper .hollow.secondary.gform_button:focus {
        border-color: #082936;
        color: #082936; }
        .button.hollow.secondary:hover.disabled,
        .gform_wrapper .hollow.secondary.gform_button:hover.disabled, .button.hollow.secondary:hover[disabled],
        .gform_wrapper .hollow.secondary.gform_button:hover[disabled], .button.hollow.secondary:focus.disabled,
        .gform_wrapper .hollow.secondary.gform_button:focus.disabled, .button.hollow.secondary:focus[disabled],
        .gform_wrapper .hollow.secondary.gform_button:focus[disabled] {
          border: 1px solid #10516b;
          color: #10516b; }
    .button.hollow.success, .gform_wrapper .gform_footer input.hollow.success.button[type=submit],
    .gform_wrapper .hollow.success.gform_button {
      border: 1px solid #6EB533;
      color: #6EB533; }
      .button.hollow.success:hover, .gform_wrapper .gform_footer input.hollow.success.button:hover[type=submit],
      .gform_wrapper .hollow.success.gform_button:hover, .button.hollow.success:focus, .gform_wrapper .gform_footer input.hollow.success.button:focus[type=submit],
      .gform_wrapper .hollow.success.gform_button:focus {
        border-color: #375b1a;
        color: #375b1a; }
        .button.hollow.success:hover.disabled,
        .gform_wrapper .hollow.success.gform_button:hover.disabled, .button.hollow.success:hover[disabled],
        .gform_wrapper .hollow.success.gform_button:hover[disabled], .button.hollow.success:focus.disabled,
        .gform_wrapper .hollow.success.gform_button:focus.disabled, .button.hollow.success:focus[disabled],
        .gform_wrapper .hollow.success.gform_button:focus[disabled] {
          border: 1px solid #6EB533;
          color: #6EB533; }
    .button.hollow.warning, .gform_wrapper .gform_footer input.hollow.warning.button[type=submit],
    .gform_wrapper .hollow.warning.gform_button {
      border: 1px solid #fffb00;
      color: #fffb00; }
      .button.hollow.warning:hover, .gform_wrapper .gform_footer input.hollow.warning.button:hover[type=submit],
      .gform_wrapper .hollow.warning.gform_button:hover, .button.hollow.warning:focus, .gform_wrapper .gform_footer input.hollow.warning.button:focus[type=submit],
      .gform_wrapper .hollow.warning.gform_button:focus {
        border-color: #807e00;
        color: #807e00; }
        .button.hollow.warning:hover.disabled,
        .gform_wrapper .hollow.warning.gform_button:hover.disabled, .button.hollow.warning:hover[disabled],
        .gform_wrapper .hollow.warning.gform_button:hover[disabled], .button.hollow.warning:focus.disabled,
        .gform_wrapper .hollow.warning.gform_button:focus.disabled, .button.hollow.warning:focus[disabled],
        .gform_wrapper .hollow.warning.gform_button:focus[disabled] {
          border: 1px solid #fffb00;
          color: #fffb00; }
    .button.hollow.alert, .gform_wrapper .gform_footer input.hollow.alert.button[type=submit],
    .gform_wrapper .hollow.alert.gform_button {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .gform_wrapper .gform_footer input.hollow.alert.button:hover[type=submit],
      .gform_wrapper .hollow.alert.gform_button:hover, .button.hollow.alert:focus, .gform_wrapper .gform_footer input.hollow.alert.button:focus[type=submit],
      .gform_wrapper .hollow.alert.gform_button:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.hollow.alert:hover.disabled,
        .gform_wrapper .hollow.alert.gform_button:hover.disabled, .button.hollow.alert:hover[disabled],
        .gform_wrapper .hollow.alert.gform_button:hover[disabled], .button.hollow.alert:focus.disabled,
        .gform_wrapper .hollow.alert.gform_button:focus.disabled, .button.hollow.alert:focus[disabled],
        .gform_wrapper .hollow.alert.gform_button:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear, .gform_wrapper .gform_footer input.clear.button[type=submit],
  .gform_wrapper .clear.gform_button {
    border: 1px solid #313941;
    color: #313941; }
    .button.clear, .gform_wrapper .gform_footer input.clear.button[type=submit],
    .gform_wrapper .clear.gform_button, .button.clear:hover, .gform_wrapper .gform_footer input.clear.button:hover[type=submit],
    .gform_wrapper .clear.gform_button:hover, .button.clear:focus, .gform_wrapper .gform_footer input.clear.button:focus[type=submit],
    .gform_wrapper .clear.gform_button:focus {
      background-color: transparent; }
    .button.clear.disabled, .gform_wrapper .gform_footer input.clear.disabled.button[type=submit],
    .gform_wrapper .clear.disabled.gform_button, .button.clear.disabled:hover, .gform_wrapper .gform_footer input.clear.disabled.button:hover[type=submit],
    .gform_wrapper .clear.disabled.gform_button:hover, .button.clear.disabled:focus, .gform_wrapper .gform_footer input.clear.disabled.button:focus[type=submit],
    .gform_wrapper .clear.disabled.gform_button:focus, .button.clear[disabled], .gform_wrapper .gform_footer input.clear.button[disabled][type=submit],
    .gform_wrapper .clear.gform_button[disabled], .button.clear[disabled]:hover, .gform_wrapper .gform_footer input.clear.button[disabled]:hover[type=submit],
    .gform_wrapper .clear.gform_button[disabled]:hover, .button.clear[disabled]:focus, .gform_wrapper .gform_footer input.clear.button[disabled]:focus[type=submit],
    .gform_wrapper .clear.gform_button[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .gform_wrapper .gform_footer input.clear.button:hover[type=submit],
    .gform_wrapper .clear.gform_button:hover, .button.clear:focus, .gform_wrapper .gform_footer input.clear.button:focus[type=submit],
    .gform_wrapper .clear.gform_button:focus {
      border-color: #191d21;
      color: #191d21; }
      .button.clear:hover.disabled, .gform_wrapper .gform_footer input.clear.button:hover.disabled[type=submit],
      .gform_wrapper .clear.gform_button:hover.disabled, .button.clear:hover[disabled], .gform_wrapper .gform_footer input.clear.button:hover[disabled][type=submit],
      .gform_wrapper .clear.gform_button:hover[disabled], .button.clear:focus.disabled, .gform_wrapper .gform_footer input.clear.button:focus.disabled[type=submit],
      .gform_wrapper .clear.gform_button:focus.disabled, .button.clear:focus[disabled], .gform_wrapper .gform_footer input.clear.button:focus[disabled][type=submit],
      .gform_wrapper .clear.gform_button:focus[disabled] {
        border: 1px solid #313941;
        color: #313941; }
    .button.clear, .gform_wrapper .gform_footer input.clear.button[type=submit],
    .gform_wrapper .clear.gform_button, .button.clear.disabled, .gform_wrapper .gform_footer input.clear.disabled.button[type=submit],
    .gform_wrapper .clear.disabled.gform_button, .button.clear[disabled], .gform_wrapper .gform_footer input.clear.button[disabled][type=submit],
    .gform_wrapper .clear.gform_button[disabled], .button.clear:hover, .gform_wrapper .gform_footer input.clear.button:hover[type=submit],
    .gform_wrapper .clear.gform_button:hover, .button.clear:hover.disabled, .gform_wrapper .gform_footer input.clear.button:hover.disabled[type=submit],
    .gform_wrapper .clear.gform_button:hover.disabled, .button.clear:hover[disabled], .gform_wrapper .gform_footer input.clear.button:hover[disabled][type=submit],
    .gform_wrapper .clear.gform_button:hover[disabled], .button.clear:focus, .gform_wrapper .gform_footer input.clear.button:focus[type=submit],
    .gform_wrapper .clear.gform_button:focus, .button.clear:focus.disabled, .gform_wrapper .gform_footer input.clear.button:focus.disabled[type=submit],
    .gform_wrapper .clear.gform_button:focus.disabled, .button.clear:focus[disabled], .gform_wrapper .gform_footer input.clear.button:focus[disabled][type=submit],
    .gform_wrapper .clear.gform_button:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary, .gform_wrapper .gform_footer input.clear.primary.button[type=submit],
    .gform_wrapper .clear.primary.gform_button {
      border: 1px solid #313941;
      color: #313941; }
      .button.clear.primary:hover, .gform_wrapper .gform_footer input.clear.primary.button:hover[type=submit],
      .gform_wrapper .clear.primary.gform_button:hover, .button.clear.primary:focus, .gform_wrapper .gform_footer input.clear.primary.button:focus[type=submit],
      .gform_wrapper .clear.primary.gform_button:focus {
        border-color: #191d21;
        color: #191d21; }
        .button.clear.primary:hover.disabled,
        .gform_wrapper .clear.primary.gform_button:hover.disabled, .button.clear.primary:hover[disabled],
        .gform_wrapper .clear.primary.gform_button:hover[disabled], .button.clear.primary:focus.disabled,
        .gform_wrapper .clear.primary.gform_button:focus.disabled, .button.clear.primary:focus[disabled],
        .gform_wrapper .clear.primary.gform_button:focus[disabled] {
          border: 1px solid #313941;
          color: #313941; }
      .button.clear.primary, .gform_wrapper .gform_footer input.clear.primary.button[type=submit],
      .gform_wrapper .clear.primary.gform_button, .button.clear.primary.disabled, .gform_wrapper .gform_footer input.clear.primary.disabled.button[type=submit],
      .gform_wrapper .clear.primary.disabled.gform_button, .button.clear.primary[disabled], .gform_wrapper .gform_footer input.clear.primary.button[disabled][type=submit],
      .gform_wrapper .clear.primary.gform_button[disabled], .button.clear.primary:hover, .gform_wrapper .gform_footer input.clear.primary.button:hover[type=submit],
      .gform_wrapper .clear.primary.gform_button:hover, .button.clear.primary:hover.disabled,
      .gform_wrapper .clear.primary.gform_button:hover.disabled, .button.clear.primary:hover[disabled],
      .gform_wrapper .clear.primary.gform_button:hover[disabled], .button.clear.primary:focus, .gform_wrapper .gform_footer input.clear.primary.button:focus[type=submit],
      .gform_wrapper .clear.primary.gform_button:focus, .button.clear.primary:focus.disabled,
      .gform_wrapper .clear.primary.gform_button:focus.disabled, .button.clear.primary:focus[disabled],
      .gform_wrapper .clear.primary.gform_button:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary, .gform_wrapper .gform_footer input.clear.secondary.button[type=submit],
    .gform_wrapper .clear.secondary.gform_button {
      border: 1px solid #10516b;
      color: #10516b; }
      .button.clear.secondary:hover, .gform_wrapper .gform_footer input.clear.secondary.button:hover[type=submit],
      .gform_wrapper .clear.secondary.gform_button:hover, .button.clear.secondary:focus, .gform_wrapper .gform_footer input.clear.secondary.button:focus[type=submit],
      .gform_wrapper .clear.secondary.gform_button:focus {
        border-color: #082936;
        color: #082936; }
        .button.clear.secondary:hover.disabled,
        .gform_wrapper .clear.secondary.gform_button:hover.disabled, .button.clear.secondary:hover[disabled],
        .gform_wrapper .clear.secondary.gform_button:hover[disabled], .button.clear.secondary:focus.disabled,
        .gform_wrapper .clear.secondary.gform_button:focus.disabled, .button.clear.secondary:focus[disabled],
        .gform_wrapper .clear.secondary.gform_button:focus[disabled] {
          border: 1px solid #10516b;
          color: #10516b; }
      .button.clear.secondary, .gform_wrapper .gform_footer input.clear.secondary.button[type=submit],
      .gform_wrapper .clear.secondary.gform_button, .button.clear.secondary.disabled, .gform_wrapper .gform_footer input.clear.secondary.disabled.button[type=submit],
      .gform_wrapper .clear.secondary.disabled.gform_button, .button.clear.secondary[disabled], .gform_wrapper .gform_footer input.clear.secondary.button[disabled][type=submit],
      .gform_wrapper .clear.secondary.gform_button[disabled], .button.clear.secondary:hover, .gform_wrapper .gform_footer input.clear.secondary.button:hover[type=submit],
      .gform_wrapper .clear.secondary.gform_button:hover, .button.clear.secondary:hover.disabled,
      .gform_wrapper .clear.secondary.gform_button:hover.disabled, .button.clear.secondary:hover[disabled],
      .gform_wrapper .clear.secondary.gform_button:hover[disabled], .button.clear.secondary:focus, .gform_wrapper .gform_footer input.clear.secondary.button:focus[type=submit],
      .gform_wrapper .clear.secondary.gform_button:focus, .button.clear.secondary:focus.disabled,
      .gform_wrapper .clear.secondary.gform_button:focus.disabled, .button.clear.secondary:focus[disabled],
      .gform_wrapper .clear.secondary.gform_button:focus[disabled] {
        border-color: transparent; }
    .button.clear.success, .gform_wrapper .gform_footer input.clear.success.button[type=submit],
    .gform_wrapper .clear.success.gform_button {
      border: 1px solid #6EB533;
      color: #6EB533; }
      .button.clear.success:hover, .gform_wrapper .gform_footer input.clear.success.button:hover[type=submit],
      .gform_wrapper .clear.success.gform_button:hover, .button.clear.success:focus, .gform_wrapper .gform_footer input.clear.success.button:focus[type=submit],
      .gform_wrapper .clear.success.gform_button:focus {
        border-color: #375b1a;
        color: #375b1a; }
        .button.clear.success:hover.disabled,
        .gform_wrapper .clear.success.gform_button:hover.disabled, .button.clear.success:hover[disabled],
        .gform_wrapper .clear.success.gform_button:hover[disabled], .button.clear.success:focus.disabled,
        .gform_wrapper .clear.success.gform_button:focus.disabled, .button.clear.success:focus[disabled],
        .gform_wrapper .clear.success.gform_button:focus[disabled] {
          border: 1px solid #6EB533;
          color: #6EB533; }
      .button.clear.success, .gform_wrapper .gform_footer input.clear.success.button[type=submit],
      .gform_wrapper .clear.success.gform_button, .button.clear.success.disabled, .gform_wrapper .gform_footer input.clear.success.disabled.button[type=submit],
      .gform_wrapper .clear.success.disabled.gform_button, .button.clear.success[disabled], .gform_wrapper .gform_footer input.clear.success.button[disabled][type=submit],
      .gform_wrapper .clear.success.gform_button[disabled], .button.clear.success:hover, .gform_wrapper .gform_footer input.clear.success.button:hover[type=submit],
      .gform_wrapper .clear.success.gform_button:hover, .button.clear.success:hover.disabled,
      .gform_wrapper .clear.success.gform_button:hover.disabled, .button.clear.success:hover[disabled],
      .gform_wrapper .clear.success.gform_button:hover[disabled], .button.clear.success:focus, .gform_wrapper .gform_footer input.clear.success.button:focus[type=submit],
      .gform_wrapper .clear.success.gform_button:focus, .button.clear.success:focus.disabled,
      .gform_wrapper .clear.success.gform_button:focus.disabled, .button.clear.success:focus[disabled],
      .gform_wrapper .clear.success.gform_button:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning, .gform_wrapper .gform_footer input.clear.warning.button[type=submit],
    .gform_wrapper .clear.warning.gform_button {
      border: 1px solid #fffb00;
      color: #fffb00; }
      .button.clear.warning:hover, .gform_wrapper .gform_footer input.clear.warning.button:hover[type=submit],
      .gform_wrapper .clear.warning.gform_button:hover, .button.clear.warning:focus, .gform_wrapper .gform_footer input.clear.warning.button:focus[type=submit],
      .gform_wrapper .clear.warning.gform_button:focus {
        border-color: #807e00;
        color: #807e00; }
        .button.clear.warning:hover.disabled,
        .gform_wrapper .clear.warning.gform_button:hover.disabled, .button.clear.warning:hover[disabled],
        .gform_wrapper .clear.warning.gform_button:hover[disabled], .button.clear.warning:focus.disabled,
        .gform_wrapper .clear.warning.gform_button:focus.disabled, .button.clear.warning:focus[disabled],
        .gform_wrapper .clear.warning.gform_button:focus[disabled] {
          border: 1px solid #fffb00;
          color: #fffb00; }
      .button.clear.warning, .gform_wrapper .gform_footer input.clear.warning.button[type=submit],
      .gform_wrapper .clear.warning.gform_button, .button.clear.warning.disabled, .gform_wrapper .gform_footer input.clear.warning.disabled.button[type=submit],
      .gform_wrapper .clear.warning.disabled.gform_button, .button.clear.warning[disabled], .gform_wrapper .gform_footer input.clear.warning.button[disabled][type=submit],
      .gform_wrapper .clear.warning.gform_button[disabled], .button.clear.warning:hover, .gform_wrapper .gform_footer input.clear.warning.button:hover[type=submit],
      .gform_wrapper .clear.warning.gform_button:hover, .button.clear.warning:hover.disabled,
      .gform_wrapper .clear.warning.gform_button:hover.disabled, .button.clear.warning:hover[disabled],
      .gform_wrapper .clear.warning.gform_button:hover[disabled], .button.clear.warning:focus, .gform_wrapper .gform_footer input.clear.warning.button:focus[type=submit],
      .gform_wrapper .clear.warning.gform_button:focus, .button.clear.warning:focus.disabled,
      .gform_wrapper .clear.warning.gform_button:focus.disabled, .button.clear.warning:focus[disabled],
      .gform_wrapper .clear.warning.gform_button:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert, .gform_wrapper .gform_footer input.clear.alert.button[type=submit],
    .gform_wrapper .clear.alert.gform_button {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover, .gform_wrapper .gform_footer input.clear.alert.button:hover[type=submit],
      .gform_wrapper .clear.alert.gform_button:hover, .button.clear.alert:focus, .gform_wrapper .gform_footer input.clear.alert.button:focus[type=submit],
      .gform_wrapper .clear.alert.gform_button:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.clear.alert:hover.disabled,
        .gform_wrapper .clear.alert.gform_button:hover.disabled, .button.clear.alert:hover[disabled],
        .gform_wrapper .clear.alert.gform_button:hover[disabled], .button.clear.alert:focus.disabled,
        .gform_wrapper .clear.alert.gform_button:focus.disabled, .button.clear.alert:focus[disabled],
        .gform_wrapper .clear.alert.gform_button:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .button.clear.alert, .gform_wrapper .gform_footer input.clear.alert.button[type=submit],
      .gform_wrapper .clear.alert.gform_button, .button.clear.alert.disabled, .gform_wrapper .gform_footer input.clear.alert.disabled.button[type=submit],
      .gform_wrapper .clear.alert.disabled.gform_button, .button.clear.alert[disabled], .gform_wrapper .gform_footer input.clear.alert.button[disabled][type=submit],
      .gform_wrapper .clear.alert.gform_button[disabled], .button.clear.alert:hover, .gform_wrapper .gform_footer input.clear.alert.button:hover[type=submit],
      .gform_wrapper .clear.alert.gform_button:hover, .button.clear.alert:hover.disabled,
      .gform_wrapper .clear.alert.gform_button:hover.disabled, .button.clear.alert:hover[disabled],
      .gform_wrapper .clear.alert.gform_button:hover[disabled], .button.clear.alert:focus, .gform_wrapper .gform_footer input.clear.alert.button:focus[type=submit],
      .gform_wrapper .clear.alert.gform_button:focus, .button.clear.alert:focus.disabled,
      .gform_wrapper .clear.alert.gform_button:focus.disabled, .button.clear.alert:focus[disabled],
      .gform_wrapper .clear.alert.gform_button:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after, .gform_wrapper .gform_footer input.dropdown.button[type=submit]::after,
  .gform_wrapper .dropdown.gform_button::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #FFFFFF transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after, .gform_wrapper .gform_footer input.dropdown.hollow.button[type=submit]::after,
  .gform_wrapper .dropdown.hollow.gform_button::after {
    border-top-color: #313941; }
  .button.dropdown.hollow.primary::after,
  .gform_wrapper .dropdown.hollow.primary.gform_button::after {
    border-top-color: #313941; }
  .button.dropdown.hollow.secondary::after,
  .gform_wrapper .dropdown.hollow.secondary.gform_button::after {
    border-top-color: #10516b; }
  .button.dropdown.hollow.success::after,
  .gform_wrapper .dropdown.hollow.success.gform_button::after {
    border-top-color: #6EB533; }
  .button.dropdown.hollow.warning::after,
  .gform_wrapper .dropdown.hollow.warning.gform_button::after {
    border-top-color: #fffb00; }
  .button.dropdown.hollow.alert::after,
  .gform_wrapper .dropdown.hollow.alert.gform_button::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after, .gform_wrapper .gform_footer input.arrow-only.button[type=submit]::after,
  .gform_wrapper .arrow-only.gform_button::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

a.button:hover,
.gform_wrapper a.gform_button:hover, a.button:focus,
.gform_wrapper a.gform_button:focus {
  text-decoration: none; }

[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 #DFDFDF;
  border-radius: 0.1875rem;
  background-color: #FFFFFF;
  box-shadow: inset 0 0px 0px rgba(0, 0, 0, 0);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #000000;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-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 #313941;
    background-color: #FFFFFF;
    box-shadow: 0 0 0px #DFDFDF;
    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: #DFDFDF; }

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

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

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

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

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: #000000; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

.input-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child {
    border-radius: 0.1875rem 0 0 0.1875rem; }
  .input-group > :last-child > * {
    border-radius: 0 0.1875rem 0.1875rem 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; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #DFDFDF;
  background: #DFDFDF;
  color: #000000;
  text-align: center;
  white-space: nowrap;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  height: auto;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: auto;
    -webkit-align-self: stretch;
        -ms-flex-item-align: stretch;
                -ms-grid-row-align: stretch;
            align-self: stretch;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

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 #DFDFDF; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
          appearance: none;
  border: 1px solid #DFDFDF;
  border-radius: 0.1875rem;
  background-color: #FFFFFF;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #000000;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://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%2849, 57, 65%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 #313941;
    background-color: #FFFFFF;
    box-shadow: 0 0 0px #DFDFDF;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #DFDFDF;
    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: #faedeb; }
  .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; }

.accordion {
  margin-left: 0;
  background: #FFFFFF;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

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

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

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 0;
  border: 0px solid #DFDFDF;
  border-bottom: 0;
  font-size: 1.0625rem;
  line-height: 1;
  color: #313941; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 0px solid #DFDFDF;
    border-radius: 0 0 0.1875rem 0.1875rem; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: transparent; }
  .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 0;
  border: 0px solid #DFDFDF;
  border-bottom: 0;
  background-color: #FFFFFF;
  color: #313941; }
  :last-child > .accordion-content:last-child {
    border-bottom: 0px solid #DFDFDF; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #313941;
  color: #FFFFFF; }
  .badge.primary {
    background: #313941;
    color: #FFFFFF; }
  .badge.secondary {
    background: #10516b;
    color: #FFFFFF; }
  .badge.success {
    background: #6EB533;
    color: #000000; }
  .badge.warning {
    background: #fffb00;
    color: #000000; }
  .badge.alert {
    background: #cc4b37;
    color: #000000; }

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #000000;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #DFDFDF; }
  .breadcrumbs a {
    color: #313941; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #DFDFDF;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button, .button-group .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group input.button[type=submit],
  .button-group .gform_wrapper .gform_button, .gform_wrapper .button-group .gform_button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child, .button-group .gform_wrapper .gform_footer input.button:last-child[type=submit], .gform_wrapper .gform_footer .button-group input.button:last-child[type=submit],
    .button-group .gform_wrapper .gform_button:last-child, .gform_wrapper .button-group .gform_button:last-child {
      margin-right: 0; }
  .button-group.tiny .button, .button-group.tiny .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.tiny input.button[type=submit],
  .button-group.tiny .gform_wrapper .gform_button, .gform_wrapper .button-group.tiny .gform_button {
    font-size: 0.6rem; }
  .button-group.small .button, .button-group.small .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.small input.button[type=submit],
  .button-group.small .gform_wrapper .gform_button, .gform_wrapper .button-group.small .gform_button {
    font-size: 0.75rem; }
  .button-group.large .button, .button-group.large .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.large input.button[type=submit],
  .button-group.large .gform_wrapper .gform_button, .gform_wrapper .button-group.large .gform_button {
    font-size: 1.25rem; }
  .button-group.expanded .button, .button-group.expanded .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.expanded input.button[type=submit],
  .button-group.expanded .gform_wrapper .gform_button, .gform_wrapper .button-group.expanded .gform_button {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button, .button-group.primary .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.primary input.button[type=submit],
  .button-group.primary .gform_wrapper .gform_button, .gform_wrapper .button-group.primary .gform_button {
    background-color: #313941;
    color: #FFFFFF; }
    .button-group.primary .button:hover, .button-group.primary .gform_wrapper .gform_footer input.button:hover[type=submit], .gform_wrapper .gform_footer .button-group.primary input.button:hover[type=submit],
    .button-group.primary .gform_wrapper .gform_button:hover, .gform_wrapper .button-group.primary .gform_button:hover, .button-group.primary .button:focus, .button-group.primary .gform_wrapper .gform_footer input.button:focus[type=submit], .gform_wrapper .gform_footer .button-group.primary input.button:focus[type=submit],
    .button-group.primary .gform_wrapper .gform_button:focus, .gform_wrapper .button-group.primary .gform_button:focus {
      background-color: #272e34;
      color: #FFFFFF; }
  .button-group.secondary .button, .button-group.secondary .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.secondary input.button[type=submit],
  .button-group.secondary .gform_wrapper .gform_button, .gform_wrapper .button-group.secondary .gform_button {
    background-color: #10516b;
    color: #FFFFFF; }
    .button-group.secondary .button:hover, .button-group.secondary .gform_wrapper .gform_footer input.button:hover[type=submit], .gform_wrapper .gform_footer .button-group.secondary input.button:hover[type=submit],
    .button-group.secondary .gform_wrapper .gform_button:hover, .gform_wrapper .button-group.secondary .gform_button:hover, .button-group.secondary .button:focus, .button-group.secondary .gform_wrapper .gform_footer input.button:focus[type=submit], .gform_wrapper .gform_footer .button-group.secondary input.button:focus[type=submit],
    .button-group.secondary .gform_wrapper .gform_button:focus, .gform_wrapper .button-group.secondary .gform_button:focus {
      background-color: #0d4156;
      color: #FFFFFF; }
  .button-group.success .button, .button-group.success .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.success input.button[type=submit],
  .button-group.success .gform_wrapper .gform_button, .gform_wrapper .button-group.success .gform_button {
    background-color: #6EB533;
    color: #000000; }
    .button-group.success .button:hover, .button-group.success .gform_wrapper .gform_footer input.button:hover[type=submit], .gform_wrapper .gform_footer .button-group.success input.button:hover[type=submit],
    .button-group.success .gform_wrapper .gform_button:hover, .gform_wrapper .button-group.success .gform_button:hover, .button-group.success .button:focus, .button-group.success .gform_wrapper .gform_footer input.button:focus[type=submit], .gform_wrapper .gform_footer .button-group.success input.button:focus[type=submit],
    .button-group.success .gform_wrapper .gform_button:focus, .gform_wrapper .button-group.success .gform_button:focus {
      background-color: #589129;
      color: #000000; }
  .button-group.warning .button, .button-group.warning .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.warning input.button[type=submit],
  .button-group.warning .gform_wrapper .gform_button, .gform_wrapper .button-group.warning .gform_button {
    background-color: #fffb00;
    color: #000000; }
    .button-group.warning .button:hover, .button-group.warning .gform_wrapper .gform_footer input.button:hover[type=submit], .gform_wrapper .gform_footer .button-group.warning input.button:hover[type=submit],
    .button-group.warning .gform_wrapper .gform_button:hover, .gform_wrapper .button-group.warning .gform_button:hover, .button-group.warning .button:focus, .button-group.warning .gform_wrapper .gform_footer input.button:focus[type=submit], .gform_wrapper .gform_footer .button-group.warning input.button:focus[type=submit],
    .button-group.warning .gform_wrapper .gform_button:focus, .gform_wrapper .button-group.warning .gform_button:focus {
      background-color: #ccc900;
      color: #000000; }
  .button-group.alert .button, .button-group.alert .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.alert input.button[type=submit],
  .button-group.alert .gform_wrapper .gform_button, .gform_wrapper .button-group.alert .gform_button {
    background-color: #cc4b37;
    color: #000000; }
    .button-group.alert .button:hover, .button-group.alert .gform_wrapper .gform_footer input.button:hover[type=submit], .gform_wrapper .gform_footer .button-group.alert input.button:hover[type=submit],
    .button-group.alert .gform_wrapper .gform_button:hover, .gform_wrapper .button-group.alert .gform_button:hover, .button-group.alert .button:focus, .button-group.alert .gform_wrapper .gform_footer input.button:focus[type=submit], .gform_wrapper .gform_footer .button-group.alert input.button:focus[type=submit],
    .button-group.alert .gform_wrapper .gform_button:focus, .gform_wrapper .button-group.alert .gform_button:focus {
      background-color: #a53b2a;
      color: #000000; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.stacked input.button[type=submit],
    .button-group.stacked .gform_wrapper .gform_button, .gform_wrapper .button-group.stacked .gform_button, .button-group.stacked-for-small .button, .button-group.stacked-for-small .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.stacked-for-small input.button[type=submit],
    .button-group.stacked-for-small .gform_wrapper .gform_button, .gform_wrapper .button-group.stacked-for-small .gform_button, .button-group.stacked-for-medium .button, .button-group.stacked-for-medium .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.stacked-for-medium input.button[type=submit],
    .button-group.stacked-for-medium .gform_wrapper .gform_button, .gform_wrapper .button-group.stacked-for-medium .gform_button {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked .gform_wrapper .gform_footer input.button:last-child[type=submit], .gform_wrapper .gform_footer .button-group.stacked input.button:last-child[type=submit],
      .button-group.stacked .gform_wrapper .gform_button:last-child, .gform_wrapper .button-group.stacked .gform_button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-small .gform_wrapper .gform_footer input.button:last-child[type=submit], .gform_wrapper .gform_footer .button-group.stacked-for-small input.button:last-child[type=submit],
      .button-group.stacked-for-small .gform_wrapper .gform_button:last-child, .gform_wrapper .button-group.stacked-for-small .gform_button:last-child, .button-group.stacked-for-medium .button:last-child, .button-group.stacked-for-medium .gform_wrapper .gform_footer input.button:last-child[type=submit], .gform_wrapper .gform_footer .button-group.stacked-for-medium input.button:last-child[type=submit],
      .button-group.stacked-for-medium .gform_wrapper .gform_button:last-child, .gform_wrapper .button-group.stacked-for-medium .gform_button:last-child {
        margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button, .button-group.stacked-for-small .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.stacked-for-small input.button[type=submit],
    .button-group.stacked-for-small .gform_wrapper .gform_button, .gform_wrapper .button-group.stacked-for-small .gform_button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (min-width: 50em) {
    .button-group.stacked-for-medium .button, .button-group.stacked-for-medium .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.stacked-for-medium input.button[type=submit],
    .button-group.stacked-for-medium .gform_wrapper .gform_button, .gform_wrapper .button-group.stacked-for-medium .gform_button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-small.expanded .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.stacked-for-small.expanded input.button[type=submit],
      .button-group.stacked-for-small.expanded .gform_wrapper .gform_button, .gform_wrapper .button-group.stacked-for-small.expanded .gform_button {
        display: block;
        margin-right: 0; } }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button,
  .menu .gform_wrapper .gform_footer input.button[type=submit],
  .gform_wrapper .gform_footer .menu input.button[type=submit],
  .menu .gform_wrapper .gform_button,
  .gform_wrapper .menu .gform_button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .menu.expanded li {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.simple {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.simple li + li {
      margin-left: 0; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 50em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 64em) {
    .menu.xlarge-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.xlarge-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.xlarge-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xlarge-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 90em) {
    .menu.xxlarge-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.xxlarge-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.xxlarge-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xxlarge-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a {
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a {
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a {
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: transparent;
    color: #FFFFFF; }
  .menu .active > a {
    background: transparent;
    color: #FFFFFF; }
  .menu.align-left {
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 0.7rem 0rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.menu-centered > .menu {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .menu-centered > .menu li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu-centered > .menu li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }

.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: #313941;
    box-shadow: 0 7px 0 #313941, 0 14px 0 #313941;
    content: ''; }
  .menu-icon:hover::after {
    background: #313941;
    box-shadow: 0 7px 0 #313941, 0 14px 0 #313941; }

.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: #000000;
    box-shadow: 0 7px 0 #000000, 0 14px 0 #000000;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #313941;
    box-shadow: 0 7px 0 #313941, 0 14px 0 #313941; }

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

.drilldown a {
  padding: 0.7rem 0rem;
  background: #FFFFFF; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #FFFFFF;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 0.7rem 0rem; }

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

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

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

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  left: auto;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #313941; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  right: auto;
  left: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #313941 transparent transparent; }

.drilldown .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 #313941 transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 0;
  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.1875rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #313941;
  color: #FFFFFF; }
  .label.primary {
    background: #313941;
    color: #FFFFFF; }
  .label.secondary {
    background: #10516b;
    color: #FFFFFF; }
  .label.success {
    background: #6EB533;
    color: #000000; }
  .label.warning {
    background: #fffb00;
    color: #000000; }
  .label.alert {
    background: #cc4b37;
    color: #000000; }

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

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(255, 255, 255, 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: 12;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #313941; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 13; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.7); }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

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

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 320px;
  -webkit-transform: translateX(-320px);
      -ms-transform: translateX(-320px);
          transform: translateX(-320px); }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-320px);
        -ms-transform: translateX(-320px);
            transform: translateX(-320px); }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(320px);
        -ms-transform: translateX(320px);
            transform: translateX(320px); }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(0, 0, 0, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 320px;
  -webkit-transform: translateX(320px);
      -ms-transform: translateX(320px);
          transform: translateX(320px); }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(320px);
        -ms-transform: translateX(320px);
            transform: translateX(320px); }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-320px);
        -ms-transform: translateX(-320px);
            transform: translateX(-320px); }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px rgba(0, 0, 0, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 280px;
  -webkit-transform: translateY(-280px);
      -ms-transform: translateY(-280px);
          transform: translateY(-280px); }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-280px);
        -ms-transform: translateY(-280px);
            transform: translateY(-280px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(280px);
        -ms-transform: translateY(280px);
            transform: translateY(280px); }
  .position-top.is-transition-push {
    box-shadow: inset 0 -13px 20px -13px rgba(0, 0, 0, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 280px;
  -webkit-transform: translateY(280px);
      -ms-transform: translateY(280px);
          transform: translateY(280px); }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(280px);
        -ms-transform: translateY(280px);
            transform: translateY(280px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-280px);
        -ms-transform: translateY(-280px);
            transform: translateY(-280px); }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 13px 20px -13px rgba(0, 0, 0, 0.25); }

.off-canvas-content {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 320px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 320px; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 320px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 320px; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 320px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 320px; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 320px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 320px; } }

@media screen and (min-width: 50em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 320px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 320px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 320px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 320px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 320px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 320px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 320px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 320px; } }

@media screen and (min-width: 64em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 320px; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 320px; }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 320px; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 320px; }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 320px; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 320px; }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 320px; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 320px; } }

@media screen and (min-width: 90em) {
  .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 320px; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 320px; }
  .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 320px; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 320px; }
  .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 320px; }
    .position-top.reveal-for-xxlarge ~ .off-canvas-content {
      margin-top: 320px; }
  .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 320px; }
    .position-bottom.reveal-for-xxlarge ~ .off-canvas-content {
      margin-bottom: 320px; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media screen and (min-width: 50em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

@media screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xlarge .close-button {
      display: none; } }

@media screen and (min-width: 90em) {
  .off-canvas.in-canvas-for-xxlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xxlarge.position-left, .off-canvas.in-canvas-for-xxlarge.position-right, .off-canvas.in-canvas-for-xxlarge.position-top, .off-canvas.in-canvas-for-xxlarge.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xxlarge .close-button {
      display: none; } }

.title-bar {
  padding: 0.5rem;
  background: #FFFFFF;
  color: #313941;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 90em) {
  .hide-for-xxlarge {
    display: none !important; } }

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

@media screen and (min-width: 90em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

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

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  -webkit-clip-path: none;
          clip-path: none; }

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

.align-right {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

.align-right.vertical.menu > li > a {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-top {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.align-bottom {
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }

.align-middle {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center; }

.align-stretch {
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
              -ms-grid-row-align: stretch;
          align-self: stretch; }

.align-center-middle {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center; }

.small-order-1 {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 50em) {
  .large-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 64em) {
  .xlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 90em) {
  .xxlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xxlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xxlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xxlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xxlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xxlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

.flex-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 50em) {
  .large-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 64em) {
  .xlarge-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .xlarge-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .xlarge-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 90em) {
  .xxlarge-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .xxlarge-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xxlarge-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xxlarge-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .xxlarge-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xxlarge-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xxlarge-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xxlarge-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

/*
  My custom styles:
  Add your scss files below to structure your project styles
*/
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

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

#wpadminbar {
  position: fixed !important; }

body.admin-bar.f-topbar-fixed .sticky.fixed {
  margin-top: 2rem; }

body.admin-bar.offcanvas .off-canvas.is-open {
  top: 2.875rem; }
  @media screen and (min-width: 48.9375em) {
    body.admin-bar.offcanvas .off-canvas.is-open {
      top: 2rem; } }

.wp-caption > figcaption {
  max-width: 100%;
  font-size: 0.8rem;
  color: #999;
  padding: 0.25rem 0; }

p.wp-caption-text {
  font-size: 90%;
  color: #666;
  padding: 0.625rem 0; }

.alignleft {
  float: left;
  padding-right: 1rem;
  margin: 0; }

.alignright {
  float: right;
  padding-left: 1rem;
  margin: 0; }

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

@font-face {
  font-family: 'open_sansregular';
  src: url("../fonts/opensans-regular-webfont.woff2") format("woff2"), url("../fonts/opensans-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: fallback; }

@font-face {
  font-family: 'open_sansbold';
  src: url("../fonts/opensans-bold-webfont.woff2") format("woff2"), url("../fonts/opensans-bold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: fallback; }

/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on July 5, 2023 */
@font-face {
  font-family: 'poppinsbold';
  src: url("../fonts/poppins-bold-webfont.woff2") format("woff2"), url("../fonts/poppins-bold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'poppinsblack';
  src: url("../fonts/poppins-black-webfont.woff2") format("woff2"), url("../fonts/poppins-black-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'poppinsregular';
  src: url("../fonts/poppins-regular-webfont.woff2") format("woff2"), url("../fonts/poppins-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'poppinsmedium';
  src: url("../fonts/poppins-medium-webfont.woff2") format("woff2"), url("../fonts/poppins-medium-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'poppinssemibold';
  src: url("../fonts/poppins-semibold-webfont.woff2") format("woff2"), url("../fonts/poppins-semibold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@media screen and (min-width: 90em) {
  .mobile-menu,
  .site-title-bar {
    display: none !important; } }

@media screen and (max-width: 89.9375em) {
  .desktop-menu,
  .sidebar {
    display: none !important; } }

.site-desktop-title a {
  font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal; }

.menu {
  list-style-type: none; }
  .menu .current_page_item a,
  .menu .current-page-ancestor a {
    background-color: inherit; }

.mobile-menu {
  display: none; }

.title-bar {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.menu-icon-button {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #313941;
  font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal;
  font-size: 0.8125rem;
  text-transform: uppercase;
  padding: 0.5625rem 0;
  transition: color 0.2 ease;
  margin-left: 8px; }
  .menu-icon-button:hover, .menu-icon-button:focus, .menu-icon-button:active {
    cursor: pointer;
    color: #10516b; }
    .menu-icon-button:hover span, .menu-icon-button:focus span, .menu-icon-button:active span {
      color: #313941; }
  .menu-icon-button button:hover {
    cursor: pointer; }
  .menu-icon-button span {
    margin-right: 0.75rem; }

.off-canvas {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden; }
  .off-canvas > ul.menu {
    height: 100vh;
    padding: 1rem; }
    .off-canvas > ul.menu a {
      color: #FFFFFF;
      font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      font-size: 0.9375rem; }
  .off-canvas .menu .active > a {
    background-color: #ccc; }

.top-bar .childnav {
  display: none; }
  @media screen and (min-width: 90em) {
    .top-bar .childnav {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }
  .top-bar .childnav, .top-bar .childnav ul {
    list-style-type: none;
    margin: 0; }
  .top-bar .childnav a {
    color: rgba(49, 57, 65, 0.85);
    display: block;
    line-height: 1.2;
    padding: 0.625rem 0.625rem;
    font-size: 0.8125rem;
    font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal; }
  .top-bar .childnav > li {
    margin: 0 0.125rem; }
    .top-bar .childnav > li > a {
      width: 100%;
      font-weight: normal;
      border-bottom: 2px solid #313941; }
    .top-bar .childnav > li.is-active a,
    .top-bar .childnav > li > a:hover {
      color: #313941; }

.drilldown {
  background: white; }
  .drilldown .height-wrapper {
    overflow: hidden;
    transition: all 0.5s cubic-bezier(0.61, 0.005, 0.36, 1.01); }
  .drilldown .childnav {
    position: relative;
    -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
            transform: translateX(0%);
    list-style-type: none;
    margin: 0;
    opacity: 0; }
    .drilldown .childnav.ready {
      transition: opacity 0.2s ease, -webkit-transform 0.5s cubic-bezier(0.61, 0.005, 0.36, 1.01);
      transition: transform 0.5s cubic-bezier(0.61, 0.005, 0.36, 1.01), opacity 0.2s ease;
      transition: transform 0.5s cubic-bezier(0.61, 0.005, 0.36, 1.01), opacity 0.2s ease, -webkit-transform 0.5s cubic-bezier(0.61, 0.005, 0.36, 1.01);
      opacity: 1; }
    .drilldown .childnav[data-depth="1"] {
      -webkit-transform: translateX(-100%);
          -ms-transform: translateX(-100%);
              transform: translateX(-100%); }
    .drilldown .childnav[data-depth="2"] {
      -webkit-transform: translateX(-200%);
          -ms-transform: translateX(-200%);
              transform: translateX(-200%); }
    .drilldown .childnav[data-depth="3"] {
      -webkit-transform: translateX(-300%);
          -ms-transform: translateX(-300%);
              transform: translateX(-300%); }
    .drilldown .childnav[data-depth="4"] {
      -webkit-transform: translateX(-400%);
          -ms-transform: translateX(-400%);
              transform: translateX(-400%); }
    .drilldown .childnav[data-depth="5"] {
      -webkit-transform: translateX(-500%);
          -ms-transform: translateX(-500%);
              transform: translateX(-500%); }
    .drilldown .childnav .children {
      margin: 0;
      display: none;
      position: absolute;
      left: 100%;
      top: 0;
      width: 100%;
      list-style-type: none; }
    .drilldown .childnav li[class*="current"] .children {
      display: block; }
    .drilldown .childnav > li > a {
      border-left: 0.1875rem solid var(--main-color); }
  .drilldown li.page_item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #DFDFDF; }
    .drilldown li.page_item_has_children > a:not(.back) {
      width: calc(100% - 2.625rem); }
    .drilldown li.page_item a {
      position: relative;
      width: 100%;
      min-height: 2.625rem;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      font-size: 0.875rem;
      padding: 0.625rem 0.75rem;
      line-height: 1.3;
      transition: all 0.2s ease; }
      .drilldown li.page_item a:hover {
        color: rgba(255, 255, 255, 0.8); }
        @media screen and (min-width: 64em) {
          .drilldown li.page_item a:hover {
            color: var(--main-color); } }
      .drilldown li.page_item a.back {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        background-color: #FFFFFF;
        color: #313941; }
        .drilldown li.page_item a.back svg {
          color: inherit;
          width: 0.5625rem;
          height: 0.875rem;
          transition: -webkit-transform 0.3s ease;
          transition: transform 0.3s ease;
          transition: transform 0.3s ease, -webkit-transform 0.3s ease; }
        .drilldown li.page_item a.back:hover svg {
          -webkit-transform: translateX(-5px);
              -ms-transform: translateX(-5px);
                  transform: translateX(-5px); }
        .drilldown li.page_item a.back div {
          white-space: nowrap;
          -webkit-justify-content: left;
              -ms-flex-pack: left;
                  justify-content: left;
          width: calc(100% - 1.125rem);
          display: block;
          text-overflow: ellipsis;
          overflow: hidden; }
      .drilldown li.page_item a * {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; }
    .drilldown li.page_item span {
      cursor: pointer;
      background: rgba(223, 223, 223, 0.2);
      width: 2.625rem;
      height: 1fr;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      transition: all 0.3s ease;
      text-align: center; }
      .drilldown li.page_item span:hover {
        background: var(--main-color);
        color: #FFFFFF; }
      .drilldown li.page_item span svg {
        width: 0.875rem;
        height: 0.875rem; }
    .drilldown li.page_item:last-of-type a {
      border-bottom: none; }

.off-canvas {
  height: 100vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }
  .off-canvas .servicenav-langswitch {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 16px;
    height: 3.75rem;
    min-height: 3.75rem;
    border-bottom: 1px solid rgba(223, 223, 223, 0.1); }
    .off-canvas .servicenav-langswitch .menu-sprachauswahl-container {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    .off-canvas .servicenav-langswitch a {
      color: #FFFFFF;
      font-size: 0.875rem;
      font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      margin: 4px;
      border-radius: 31.25rem;
      width: 1.875rem;
      height: 1.875rem;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      line-height: 0;
      background: rgba(255, 255, 255, 0.2); }
      .off-canvas .servicenav-langswitch a:hover {
        background: #10516b; }
    .off-canvas .servicenav-langswitch button {
      margin: 16px 16px 16px auto;
      cursor: pointer;
      color: #FFFFFF;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex: 2;
          -ms-flex: 2;
              flex: 2;
      height: 100%;
      width: 100%;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      .off-canvas .servicenav-langswitch button span {
        text-transform: uppercase;
        font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
        font-weight: normal;
        font-size: 0.8125rem;
        margin-right: 1.25rem; }
      .off-canvas .servicenav-langswitch button:hover {
        color: #FFFFFF; }
        .off-canvas .servicenav-langswitch button:hover span {
          color: #FFFFFF; }
      .off-canvas .servicenav-langswitch button svg {
        width: 1.3125rem; }
  .off-canvas .drilldown .height-wrapper {
    border: none;
    border-bottom: 1px solid rgba(223, 223, 223, 0.1); }
  .off-canvas .drilldown, .off-canvas .drilldown a {
    background: transparent;
    color: #FFFFFF; }
  .off-canvas .drilldown li.page_item {
    border-bottom: 1px solid rgba(223, 223, 223, 0.1); }
    .off-canvas .drilldown li.page_item span {
      background: #2a3138; }
  .off-canvas .servicenav-menu ul {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 32px;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 8px; }
    .off-canvas .servicenav-menu ul li a {
      color: #FFFFFF;
      font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      font-size: 0.8125rem;
      margin-bottom: 8px; }
      .off-canvas .servicenav-menu ul li a:after {
        content: "•";
        margin: 0 8px; }
      .off-canvas .servicenav-menu ul li a:hover {
        color: rgba(255, 255, 255, 0.7); }
        .off-canvas .servicenav-menu ul li a:hover:after {
          color: #FFFFFF; }
    .off-canvas .servicenav-menu ul li:last-of-type a:after {
      display: none; }
  .off-canvas .servicenav-search {
    width: 70%;
    margin: 24px auto; }
    .off-canvas .servicenav-search .input-group {
      border: 0; }
    .off-canvas .servicenav-search input[type="text"] {
      width: 100%;
      border-bottom: 1px solid rgba(255, 255, 255, 0.2);
      text-align: left;
      color: #FFFFFF; }
      .off-canvas .servicenav-search input[type="text"]:focus {
        border-bottom: 1px solid #FFFFFF; }
    .off-canvas .servicenav-search .input-group-button {
      color: #FFFFFF; }
      .off-canvas .servicenav-search .input-group-button svg {
        color: #FFFFFF;
        -webkit-transform: scale(1.3) translate(5px, 5px);
            -ms-transform: scale(1.3) translate(5px, 5px);
                transform: scale(1.3) translate(5px, 5px); }

.off-canvas-footer {
  margin-top: auto;
  text-align: center; }
  .off-canvas-footer .fb {
    color: #FFFFFF;
    background: #3B5998;
    padding: 8px 16px;
    font-size: 0.875rem;
    font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal; }
  .off-canvas-footer .servicenav-logos {
    background: #FFFFFF;
    width: 100%;
    margin-top: 24px;
    padding-bottom: 64px; }
    .off-canvas-footer .servicenav-logos img {
      margin: 8px; }

.off-canvas-content.is-open-right {
  height: 100vh;
  overflow: hidden; }

.top-bar a {
  transition: color 0.1s ease; }

.top-bar .menu li {
  margin: 0 0.625rem; }
  .top-bar .menu li:not(:last-child) {
    border-right: 0; }
  .top-bar .menu li:not(.menu-text) a {
    padding: 0;
    color: #313941;
    font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal;
    font-size: 0.875rem;
    transition: all 0.1s ease; }

.top-bar #menu-sprachauswahl * {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 32px;
  height: 32px;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid rgba(49, 57, 65, 0.1);
  border-radius: 50%;
  line-height: 0; }

.top-bar #menu-sprachauswahl li {
  margin: 0 0.125rem; }

.top-bar #menu-sprachauswahl a {
  font-size: 0.8125rem;
  color: #313941;
  font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal;
  transition: background-color 0.1s ease-in; }
  .top-bar #menu-sprachauswahl a:hover {
    background: rgba(49, 57, 65, 0.1); }

.top-bar .dropdown.menu .submenu {
  border: 0; }

.top-bar .dropdown.menu .has-submenu.is-down-arrow a {
  padding-right: 1rem; }

.top-bar .dropdown.menu .has-submenu.is-down-arrow > a::after {
  border: 0; }

.top-bar .dropdown.menu:first-child > li.is-dropdown-submenu-parent > a::after {
  display: none; }

@media screen and (max-width: 39.9375em) {
  .site-navigation {
    padding: 0; } }

.post-navigation::before, .post-navigation::after {
  display: table;
  content: ' ';
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.post-navigation::after {
  clear: both; }

.nav-previous {
  float: left; }

.nav-next {
  float: right; }

body#tinymce {
  height: auto;
  max-width: 75rem;
  padding: 1.25rem !important; }
  body#tinymce a {
    color: #10516b !important; }

@use "sass:math";
.pagination {
  text-align: center;
  margin: 64px 0 16px 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media print, screen and (min-width: 40em) {
    .pagination {
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  .pagination * {
    font-family: 'open_sansbold';
    color: #313941;
    margin: 0 8px;
    text-transform: uppercase;
    font-size: 0.8125rem; }
  .pagination .page-numbers {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    transition: all 0.4s ease; }
    .pagination .page-numbers:not(.prev):not(.next) {
      width: 2.1875rem;
      height: 2.1875rem;
      line-height: 2;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
    .pagination .page-numbers.prev, .pagination .page-numbers.next {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      .pagination .page-numbers.prev svg, .pagination .page-numbers.next svg {
        margin: 0 8px; }
      .pagination .page-numbers.prev path, .pagination .page-numbers.next path {
        transition: all 0.2s ease; }
      .pagination .page-numbers.prev:hover path, .pagination .page-numbers.next:hover path {
        color: #313941; }
    .pagination .page-numbers.prev svg {
      margin-left: 0; }
    .pagination .page-numbers.next svg {
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2;
      margin-right: 0; }
    @media screen and (max-width: 39.9375em) {
      .pagination .page-numbers {
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between; }
        .pagination .page-numbers:not(.next):not(.prev) {
          display: none; } }
  .pagination a:not(.prev):not(.next):hover,
  .pagination .current {
    background: #10516b;
    color: #FFFFFF; }
  .pagination a:hover {
    color: #10516b; }

ul.pagination {
  text-align: center;
  padding: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 16px; }
  ul.pagination li {
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    border-radius: 0;
    color: #313941; }
    ul.pagination li > * {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      height: 1.875rem;
      width: 1.875rem;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      border-radius: 125rem;
      padding: 0.3125rem;
      font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      color: #313941;
      margin: 0.3125rem; }
      ul.pagination li > *:hover {
        background: #313941;
        color: #FFFFFF !important;
        cursor: pointer; }
    ul.pagination li a {
      color: #313941; }
    ul.pagination li .current {
      background: #313941; }
      ul.pagination li .current, ul.pagination li .current span {
        background: #313941;
        color: #FFFFFF; }

#contact-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #FFFFFF;
  z-index: 100;
  text-align: center;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  overflow: hidden; }
  #contact-overlay:before, #contact-overlay:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    content: '';
    background: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    height: 2.8125rem;
    z-index: 101; }
  #contact-overlay:after {
    top: auto;
    bottom: 0;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
  #contact-overlay .desc {
    color: rgba(49, 57, 65, 0.6);
    font-size: 0.875rem;
    line-height: 1.4;
    margin: 16px 0 0 0; }
  #contact-overlay .scroll {
    width: 100%;
    height: 100%;
    padding: 16px 0;
    -webkit-overflow-scrolling: touch;
    /*display: flex;
        justify-content: start;
        align-items: center;*/
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media print, screen and (min-width: 40em) {
      #contact-overlay .scroll {
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  #contact-overlay.open {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
    #contact-overlay.open .scroll {
      overflow: auto; }
  #contact-overlay .contact_title {
    margin-top: 16px; }
  #contact-overlay img {
    width: 4.0625rem;
    margin-top: 32px; }
    @media screen and (min-width: 50em) {
      #contact-overlay img {
        width: 5.5rem;
        margin-bottom: 32px; } }
    @media screen and (min-width: 64em) {
      #contact-overlay img {
        width: 7.5rem; } }
  #contact-overlay svg {
    position: absolute;
    width: 2.25rem;
    height: 2.25rem;
    top: 16px;
    right: 32px;
    z-index: 102;
    cursor: pointer; }
    @media print, screen and (min-width: 40em) {
      #contact-overlay svg {
        top: 32px;
        right: 32px;
        width: 3.375rem;
        height: 3.375rem; } }
    @media screen and (min-width: 64em) {
      #contact-overlay svg {
        top: 64px;
        right: 64px; } }
    #contact-overlay svg:hover rect {
      fill: #10516b; }
  #contact-overlay a {
    display: inline-block; }
  #contact-overlay p {
    color: rgba(49, 57, 65, 0.6);
    font-size: 0.875rem; }
    @media screen and (min-width: 64em) {
      #contact-overlay p {
        margin-bottom: 48px;
        font-size: 1.0625rem; } }
  #contact-overlay .grid {
    padding: 0 16px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
    width: 100%;
    margin: 0 auto;
    max-width: 64rem;
    font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal; }
    @media screen and (min-width: 64em) {
      #contact-overlay .grid {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media print, screen and (min-width: 40em) {
      #contact-overlay .grid {
        padding: 16px; } }
    @media screen and (min-width: 64em) {
      #contact-overlay .grid {
        text-align: left; } }
    #contact-overlay .grid > div {
      -webkit-flex: 1 1 100%;
          -ms-flex: 1 1 100%;
              flex: 1 1 100%; }
      @media screen and (min-width: 64em) {
        #contact-overlay .grid > div {
          -webkit-flex: 1 1 50%;
              -ms-flex: 1 1 50%;
                  flex: 1 1 50%; } }
    #contact-overlay .grid > div:last-of-type {
      font-size: 1.125rem;
      line-height: 1.375rem;
      margin-bottom: 32px; }
      @media print, screen and (min-width: 40em) {
        #contact-overlay .grid > div:last-of-type {
          font-size: 1.4375rem;
          line-height: 1.625rem; } }
      #contact-overlay .grid > div:last-of-type div {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        margin-top: 16px;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        text-align: center;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
        font-weight: normal; }
        @media print, screen and (min-width: 40em) {
          #contact-overlay .grid > div:last-of-type div {
            -webkit-flex-direction: row;
                -ms-flex-direction: row;
                    flex-direction: row;
            text-align: left;
            margin-top: 40px; } }
      #contact-overlay .grid > div:last-of-type .button,
      #contact-overlay .grid > div:last-of-type .gform_wrapper .gform_button, .gform_wrapper #contact-overlay .grid > div:last-of-type .gform_button {
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        margin-top: 16px;
        margin-bottom: 0;
        padding: 10.66667px 16px; }
        @media print, screen and (min-width: 40em) {
          #contact-overlay .grid > div:last-of-type .button,
          #contact-overlay .grid > div:last-of-type .gform_wrapper .gform_button, .gform_wrapper #contact-overlay .grid > div:last-of-type .gform_button {
            margin: 0 0 0 auto; } }
  #contact-overlay .home_subtitle {
    padding-left: 0; }
  @media print, screen and (min-width: 40em) {
    #contact-overlay .large_tel, #contact-overlay .large_email, #contact-overlay .large_address {
      margin-bottom: 40px; } }
  #contact-overlay .large_tel {
    font-size: 2.375rem; }
    @media print, screen and (min-width: 40em) {
      #contact-overlay .large_tel {
        font-size: 3.75rem; } }
  #contact-overlay .large_email {
    display: inline-block;
    font-size: 2rem; }
    @media print, screen and (min-width: 40em) {
      #contact-overlay .large_email {
        font-size: 3.0625rem; } }
  #contact-overlay .large_address {
    font-size: 1.125rem;
    line-height: 1.3; }
    @media print, screen and (min-width: 40em) {
      #contact-overlay .large_address {
        font-size: 1.625rem;
        line-height: 1.3; } }
    #contact-overlay .large_address div {
      display: block; }
    #contact-overlay .large_address a {
      color: rgba(49, 57, 65, 0.6);
      font-size: 0.875rem; }

html.contact-is-open[data-whatinput='touch'] {
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }
  html.contact-is-open[data-whatinput='touch'] #contact-overlay.open .scroll {
    overflow: scroll; }

.card-wrapper {
  margin: 40px 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  @media print, screen and (min-width: 40em) {
    .card-wrapper {
      margin: 48px 0;
      margin-left: -8px;
      margin-right: -8px; } }
  .card-wrapper > * {
    width: calc( 50% - 16px);
    margin: 8px; }
    @media screen and (min-width: 50em) {
      .card-wrapper > * {
        width: calc( 33% - 16px); } }
  @supports (display: grid) {
    .card-wrapper {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: (minmax(230px, 1fr))[auto-fill];
          grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
      grid-gap: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .card-wrapper {
          margin-left: 0;
          margin-right: 0; } }
      .card-wrapper .card {
        margin: 0;
        width: auto; } }
  @supports (display: -ms-grid) {
    .card-wrapper {
      display: -webkit-flex !important;
      display: -ms-flexbox !important;
      display: flex !important;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .card-wrapper > * {
        -webkit-flex: 0 1 48%;
            -ms-flex: 0 1 48%;
                flex: 0 1 48%;
        padding: 0.625rem; } }

.card {
  background: #FFFFFF; }
  .card:hover .kachel-meta, .card:hover .kachel-meta h5 svg {
    background: var(--main-color);
    color: #FFFFFF; }

.kachel-image {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .kachel-image:after {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    content: '';
    background: #313941;
    opacity: 0;
    z-index: 5;
    transition: opacity 0.3s ease; }
  .kachel-image:hover:after {
    opacity: 0.8; }
  .kachel-image:hover .meta {
    background: #10516b; }
    .kachel-image:hover .meta, .kachel-image:hover .meta svg {
      color: #FFFFFF; }
  .kachel-image img {
    width: 100%; }
  .kachel-image .kachel-meta {
    z-index: 10;
    position: absolute;
    bottom: 0;
    right: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background: #FFFFFF;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 2.5625rem;
    max-width: 85%; }
    .kachel-image .kachel-meta h5 {
      text-align: right;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 0.9375rem;
      margin: 0;
      font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      padding: 0.625rem 1.25rem; }
      .kachel-image .kachel-meta h5 svg {
        color: var(--main-color);
        margin-right: 0.3125rem;
        min-width: 0.75rem; }
    .kachel-image .kachel-meta img {
      margin: 0; }

.blog .wrapper--news {
  grid-gap: 16px; }

.wrapper--news {
  font-size: 0.875rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-left: -2.66667px;
  margin-right: -2.66667px; }
  @supports (display: grid) {
    .wrapper--news {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: (minmax(280px, 1fr))[auto-fill];
          grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      -ms-grid-rows: auto;
          grid-template-rows: auto; } }
  @supports (display: -ms-grid) {
    .wrapper--news {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  .wrapper--news .card {
    border-bottom: 0.1875rem solid var(--main-color);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
    transition: all 0.2s ease;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex: 1 1 100%;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%; }
    @media print, screen and (min-width: 40em) {
      .wrapper--news .card {
        -webkit-flex: 1 1 50%;
            -ms-flex: 1 1 50%;
                flex: 1 1 50%; } }
    @media screen and (min-width: 50em) {
      .wrapper--news .card {
        -webkit-flex: 1 1 25%;
            -ms-flex: 1 1 25%;
                flex: 1 1 25%; } }
    .wrapper--news .card:hover {
      border-bottom: 0.1875rem solid rgba(0, 0, 0, 0.25); }
      .wrapper--news .card:hover, .wrapper--news .card:hover .news-meta {
        background: #10516b; }
      .wrapper--news .card:hover .news-meta, .wrapper--news .card:hover .description, .wrapper--news .card:hover span, .wrapper--news .card:hover h5 {
        color: #FFFFFF; }
  .wrapper--news h5, .wrapper--news .description {
    padding: 0 16px; }
  .wrapper--news h5 {
    font-size: 1.125rem;
    color: #313941;
    line-height: 1.4;
    padding-bottom: 8px; }
  .wrapper--news .news-kachel-image {
    position: relative;
    margin-bottom: 16px; }
    .wrapper--news .news-kachel-image img {
      object-fit: cover;
      width: 100%; }
    .wrapper--news .news-kachel-image .news-meta {
      background: #FFFFFF;
      padding: 8px 16px 0 16px;
      display: inline-block;
      position: absolute;
      left: 0;
      bottom: -1px;
      font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      font-size: 0.75rem;
      color: rgba(49, 57, 65, 0.9);
      transition: all 0.2s ease; }
  .wrapper--news span {
    margin-top: auto;
    text-align: right;
    padding: 16px;
    font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal; }
    .wrapper--news span svg {
      margin-left: 8px; }

.accordion .accordion-item {
  border-top: 1px solid rgba(49, 57, 65, 0.3); }

.accordion .accordion-title {
  padding-right: 64px;
  line-height: 1.4;
  font-family: 'open_sansbold'; }
  .accordion .accordion-title:before {
    font-size: 1.4375rem;
    margin: 0;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  max-width: 100%;
  height: auto; }

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.top-bar .top-bar-innerwrapper {
  position: relative;
  z-index: 2;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  @media screen and (min-width: 64em) {
    .top-bar .top-bar-innerwrapper {
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }

.top-bar .top-bar-title {
  margin: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  left: 0; }
  @media screen and (max-width: 39.9375em) {
    .top-bar .top-bar-title {
      top: -3rem; } }
  @media screen and (min-width: 50em) {
    .top-bar .top-bar-title {
      z-index: 2;
      top: 0;
      left: 0; } }
  .top-bar .top-bar-title a {
    /*
            padding: rem-calc(11 15);
            @include breakpoint(small only) { padding: rem-calc(12 14); }
            @include breakpoint(xlarge) {padding: rem-calc(20 30 20 20);}
            */
    padding: 0.3125rem 1rem;
    display: block;
    position: relative; }
    @media screen and (min-width: 64em) and (max-width: 89.9375em) {
      .top-bar .top-bar-title a {
        -webkit-transform: scale(1.3);
            -ms-transform: scale(1.3);
                transform: scale(1.3);
        padding: 0.3125rem 2rem; } }
    @media screen and (min-width: 90em) {
      .top-bar .top-bar-title a {
        padding-top: 16px; } }
    .top-bar .top-bar-title a img {
      position: relative;
      height: 9.375rem;
      width: auto; }
      @media print, screen and (min-width: 40em) {
        .top-bar .top-bar-title a img {
          height: 7.5rem; } }
      @media screen and (min-width: 64em) and (max-width: 89.9375em) {
        .top-bar .top-bar-title a img {
          margin-top: -20px; } }
      @media screen and (min-width: 90em) {
        .top-bar .top-bar-title a img {
          height: 10.625rem;
          -webkit-transform: translateY(45px);
              -ms-transform: translateY(45px);
                  transform: translateY(45px); } }
    .top-bar .top-bar-title a:before {
      content: '';
      background: #FFFFFF;
      position: absolute;
      width: 175px;
      height: 175px;
      left: 50%;
      top: 50%;
      -webkit-transform: rotate(45deg) translate(-50%, -50%);
          -ms-transform: rotate(45deg) translate(-50%, -50%);
              transform: rotate(45deg) translate(-50%, -50%);
      -webkit-transform-origin: left top;
          -ms-transform-origin: left top;
              transform-origin: left top; }
      @media screen and (min-width: 50em) {
        .top-bar .top-bar-title a:before {
          z-index: -1;
          width: 175px;
          height: 175px;
          -webkit-transform: rotate(45deg) translate(-57%, -55%);
              -ms-transform: rotate(45deg) translate(-57%, -55%);
                  transform: rotate(45deg) translate(-57%, -55%); } }
      @media screen and (min-width: 64em) {
        .top-bar .top-bar-title a:before {
          width: 240px;
          height: 240px;
          -webkit-transform: rotate(45deg) translate(-73%, -73%);
              -ms-transform: rotate(45deg) translate(-73%, -73%);
                  transform: rotate(45deg) translate(-73%, -73%); } }
      @media screen and (min-width: 90em) {
        .top-bar .top-bar-title a:before {
          width: 250px;
          height: 250px;
          -webkit-transform: rotate(45deg) translate(-45%, -45%);
              -ms-transform: rotate(45deg) translate(-45%, -45%);
                  transform: rotate(45deg) translate(-45%, -45%); } }

.top-bar .top-bar-right {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-flex: inherit;
      -ms-flex: inherit;
          flex: inherit; }

.top-bar .mobile-patches {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media print, screen and (min-width: 40em) {
    .top-bar .mobile-patches {
      display: none; } }
  .top-bar .mobile-patches a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    color: var(--shop-color);
    font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal;
    font-size: .7125rem;
    text-transform: uppercase;
    background-color: transparent;
    border-bottom: 0;
    margin: 0;
    padding: 16px 8px; }
    @media print, screen and (min-width: 40em) {
      .top-bar .mobile-patches a {
        display: none; } }
    .top-bar .mobile-patches a svg {
      width: 16px;
      margin-right: 8px; }
  .top-bar .mobile-patches a.patch-eguichet {
    color: #ff6b6b;
    background-color: transparent !important; }

.servicenav, .servicenav * {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.servicenav {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: 1.25rem 0;
  display: none; }
  @media screen and (min-width: 90em) {
    .servicenav {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }

.servicenav .servicenav-search {
  margin: 0 1.875rem 0 0;
  max-width: 11.25rem;
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.servicenav .servicenav-logos > * {
  margin-left: 1.875rem; }

.servicenav .servicenav-langswitch li {
  margin: 0; }
  .servicenav .servicenav-langswitch li a {
    box-shadow: 0px 0px 0px 1px #DFDFDF;
    border-radius: 50%;
    opacity: 1; }
    .servicenav .servicenav-langswitch li a:hover {
      box-shadow: 0px 0px 0px 1px #313941; }

.servicenav .servicenav-langswitch a {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  opacity: 0.5;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 1.875rem;
  width: 1.875rem;
  margin: 0 0.25rem;
  transition: all 0.2s ease; }
  .servicenav .servicenav-langswitch a img {
    height: 100%;
    width: 100%;
    object-fit: contain; }
  .servicenav .servicenav-langswitch a:hover {
    opacity: 1; }

.page-template-anliegen .entry-title {
  text-align: center; }

.anliegen-list small {
  font-size: 0.75rem; }

.anliegen-list h3, .anliegen-list .char-wrapper:before {
  color: #313941; }

.anliegen-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .anliegen-header > * {
    margin: auto; }
  .anliegen-header .input-group {
    width: 15.625rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 32px auto 0 auto; }
    .anliegen-header .input-group input:not([type=submit]) {
      text-align: left; }
  .anliegen-header .input-group-button {
    color: var(--main-color);
    width: 1.375rem;
    height: 1.375rem;
    transition: color 0.2s ease; }
    .anliegen-header .input-group-button:hover {
      color: #313941; }
    .anliegen-header .input-group-button svg {
      -webkit-transform: scale(1.5);
          -ms-transform: scale(1.5);
              transform: scale(1.5);
      -webkit-transform-origin: top left;
          -ms-transform-origin: top left;
              transform-origin: top left; }

.charmenu {
  color: #313941;
  font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .charmenu > * {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 2.125rem;
    height: 2.125rem;
    line-height: 1;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    color: rgba(49, 57, 65, 0.4); }
  .charmenu a {
    color: var(--main-color); }
    .charmenu a:hover {
      background: var(--main-color);
      color: #FFFFFF; }

.char-wrapper {
  margin-top: 32px; }
  .char-wrapper:before {
    color: #313941;
    content: attr(data-char);
    margin-bottom: 16px;
    display: inline-block; }
    @media screen and (max-width: 39.9375em) {
      .char-wrapper:before {
        padding-left: 16px; } }
  .char-wrapper .button, .char-wrapper .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .char-wrapper input.button[type=submit],
  .char-wrapper .gform_wrapper .gform_button, .gform_wrapper .char-wrapper .gform_button {
    border-radius: 3.125rem;
    font-size: 0.75rem;
    text-transform: none;
    padding: 0.25rem 0.625rem;
    margin: 0; }

.anliegen:not(.results-item) {
  font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .anliegen:not(.results-item).even {
    background: rgba(181, 180, 168, 0.1); }
  .anliegen:not(.results-item) .anliegen-title-wrapper {
    padding: 10.66667px 0;
    margin-right: auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex: 1 1 75%;
        -ms-flex: 1 1 75%;
            flex: 1 1 75%;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    line-height: 1.3; }
    .anliegen:not(.results-item) .anliegen-title-wrapper > * {
      padding: 0 16px;
      width: 100%; }
    @media screen and (min-width: 50em) {
      .anliegen:not(.results-item) .anliegen-title-wrapper {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row; }
        .anliegen:not(.results-item) .anliegen-title-wrapper > * {
          -webkit-flex: 1 1 50%;
              -ms-flex: 1 1 50%;
                  flex: 1 1 50%; } }
    .anliegen:not(.results-item) .anliegen-title-wrapper a {
      display: block;
      color: var(--main-color);
      transition: color 0.2s ease; }
      .anliegen:not(.results-item) .anliegen-title-wrapper a:hover {
        color: #313941; }
      @media screen and (max-width: 49.9375em) {
        .anliegen:not(.results-item) .anliegen-title-wrapper a {
          padding-top: 8px; } }
  .anliegen:not(.results-item) .anliegen-link-wrapper {
    -webkit-flex: 1 1 25%;
        -ms-flex: 1 1 25%;
            flex: 1 1 25%;
    text-align: right;
    padding-right: 16px; }
    @media screen and (max-width: 39.9375em) {
      .anliegen:not(.results-item) .anliegen-link-wrapper .button, .anliegen:not(.results-item) .anliegen-link-wrapper .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .anliegen:not(.results-item) .anliegen-link-wrapper input.button[type=submit],
      .anliegen:not(.results-item) .anliegen-link-wrapper .gform_wrapper .gform_button, .gform_wrapper .anliegen:not(.results-item) .anliegen-link-wrapper .gform_button {
        white-space: nowrap; } }

.partner-innerwrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -ms-grid;
  display: grid;
  grid-gap: 15px;
  -ms-grid-columns: (minmax(260px, 1fr))[auto-fill];
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  text-align: center;
  margin-top: 16px; }
  @supports (display: -ms-grid) {
    .partner-innerwrapper {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .partner-innerwrapper > * {
        -webkit-flex: 1 1 33.33%;
            -ms-flex: 1 1 33.33%;
                flex: 1 1 33.33%; } }
  @media print, screen and (min-width: 40em) {
    .partner-innerwrapper {
      margin-top: 48px; } }
  .partner-innerwrapper > * {
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
    padding: 16px;
    border-bottom: 3px solid var(--main-color); }
  .partner-innerwrapper .partner-item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0.625rem; }
    @media screen and (max-width: 39.9375em) {
      .partner-innerwrapper .partner-item {
        min-height: 18.75rem; } }
    @supports (display: grid) {
      .partner-innerwrapper .partner-item {
        margin: 0 auto; } }
    .partner-innerwrapper .partner-item img {
      margin-bottom: 16px; }
    .partner-innerwrapper .partner-item p {
      font-size: 0.875rem;
      color: rgba(49, 57, 65, 0.6); }
    .partner-innerwrapper .partner-item h6, .partner-innerwrapper .partner-item .archiv-view .results-item .entry-title, .archiv-view .results-item .partner-innerwrapper .partner-item .entry-title {
      font-size: 1.0625rem; }
    .partner-innerwrapper .partner-item span {
      display: block;
      margin-top: auto;
      font-size: 0.875rem;
      transition: all 0.3s ease; }
      .partner-innerwrapper .partner-item span svg {
        margin-left: 0.625rem; }
      .partner-innerwrapper .partner-item span path {
        color: var(--main-color); }
    .partner-innerwrapper .partner-item:hover span {
      color: var(--main-color);
      margin-left: 0.625rem; }
    .partner-innerwrapper .partner-item .inner-meta {
      height: 100%;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }

.magazin-innerwrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  text-align: center;
  margin-top: 16px; }
  .magazin-innerwrapper > * {
    -webkit-flex: 1 1 33.33%;
        -ms-flex: 1 1 33.33%;
            flex: 1 1 33.33%; }
  @supports (display: grid) {
    .magazin-innerwrapper {
      display: -ms-grid;
      display: grid;
      grid-gap: 16px;
      -ms-grid-columns: (minmax(160px, 1fr))[auto-fill];
          grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); } }
  @supports (display: -ms-grid) {
    .magazin-innerwrapper {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media print, screen and (min-width: 40em) {
    .magazin-innerwrapper {
      margin-top: 48px; } }
  .magazin-innerwrapper .magazin-item {
    padding: 8px;
    width: 50%; }
    @media print, screen and (min-width: 40em) {
      .magazin-innerwrapper .magazin-item {
        width: 33%; } }
    @media screen and (min-width: 50em) {
      .magazin-innerwrapper .magazin-item {
        width: 25%; } }
    @supports (display: grid) {
      .magazin-innerwrapper .magazin-item {
        width: auto;
        padding: 0; } }
    .magazin-innerwrapper .magazin-item img {
      border: 1px solid #DFDFDF;
      box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.15);
      margin-bottom: 16px; }
    .magazin-innerwrapper .magazin-item h6, .magazin-innerwrapper .magazin-item .archiv-view .results-item .entry-title, .archiv-view .results-item .magazin-innerwrapper .magazin-item .entry-title {
      font-size: 1.0625rem; }
    .magazin-innerwrapper .magazin-item:hover span {
      background-color: #313941; }

.search-results-wrapper {
  font-size: 0.875rem; }
  .search-results-wrapper .description {
    color: rgba(49, 57, 65, 0.6); }
  .search-results-wrapper .crumb {
    font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal; }
    @media print, screen and (min-width: 40em) {
      .search-results-wrapper .crumb {
        text-align: right; } }
  .search-results-wrapper a {
    color: var(--main-color); }
    .search-results-wrapper a:hover {
      color: #313941; }
  .search-results-wrapper .flexible-downloads-wrapper li {
    border: 0;
    padding: 0; }
    .search-results-wrapper .flexible-downloads-wrapper li:last-child {
      border-bottom: 0; }
  .search-results-wrapper .ap-item {
    border: 0;
    margin-bottom: 0; }

.input-group {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0;
  border: 1px solid #DFDFDF;
  padding: 0.1875rem 0.625rem; }
  .input-group input:not([type=submit]) {
    border: 0;
    box-shadow: none;
    padding: 0;
    margin: 0;
    background: transparent; }
    .input-group input:not([type=submit]):focus {
      border: 0; }
  .input-group .input-group-field {
    -webkit-flex: unset;
        -ms-flex: unset;
            flex: unset; }
  .input-group .input-group-button {
    position: relative;
    width: 1.5625rem;
    height: 1.5625rem;
    color: #313941;
    margin-left: 0.1875rem;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .input-group .input-group-button:hover {
      color: #10516b; }
    .input-group .input-group-button > * {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      width: 100%;
      height: 100%; }
    .input-group .input-group-button input {
      z-index: 2;
      font-size: 0;
      background: transparent; }
      .input-group .input-group-button input[type="submit"] {
        background-color: transparent; }
    .input-group .input-group-button svg {
      -webkit-transform: scale(1.1) translate(12px, 7px);
          -ms-transform: scale(1.1) translate(12px, 7px);
              transform: scale(1.1) translate(12px, 7px); }
      .input-group .input-group-button svg:hover {
        cursor: pointer; }

.button, .gform_wrapper .gform_footer input.button[type=submit],
.gform_wrapper .gform_button {
  font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal;
  line-height: 1.3;
  display: inline-block;
  background-color: #313941; }
  @media screen and (max-width: 39.9375em) {
    .button, .gform_wrapper .gform_footer input.button[type=submit],
    .gform_wrapper .gform_button {
      font-size: 0.8125rem; } }
  .button:hover, .gform_wrapper .gform_footer input.button:hover[type=submit],
  .gform_wrapper .gform_button:hover {
    background-color: var(--main-color); }

.infobox-wrapper {
  position: relative;
  z-index: 2;
  background-color: #313941;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 10;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .infobox-wrapper {
      margin-bottom: 32px; } }
  .infobox-wrapper h4 {
    font-size: 1.0625rem;
    color: #FFFFFF;
    margin-bottom: 8px; }
    @media print, screen and (min-width: 40em) {
      .infobox-wrapper h4 {
        font-size: 1.25rem; } }
  .infobox-wrapper a {
    color: #FFFFFF;
    font-family: 'open_sansbold';
    font-weight: normal; }
    .infobox-wrapper a:hover {
      color: rgba(255, 255, 255, 0.7); }
  .infobox-wrapper p {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.3;
    color: #FFFFFF;
    font-family: 'open_sansregular'; }
    @media print, screen and (min-width: 40em) {
      .infobox-wrapper p {
        font-size: 0.9375rem; } }
  .infobox-wrapper .inner-wrapper {
    display: block;
    max-width: 75rem;
    margin: 0 auto;
    position: relative;
    padding: 16px 32px 16px 16px; }
  .infobox-wrapper .infobox-close {
    color: #FFFFFF;
    position: absolute;
    top: 0;
    right: 0;
    transition: color 0.2s ease;
    padding: 16px; }
    .infobox-wrapper .infobox-close:hover {
      cursor: pointer;
      color: rgba(255, 255, 255, 0.6); }

[data-fancybox] picture {
  position: relative;
  overflow: hidden; }
  [data-fancybox] picture:before, [data-fancybox] picture:after {
    position: absolute;
    content: "";
    opacity: 0;
    transition: all 0.4s ease; }
  [data-fancybox] picture:before {
    transition: all 0.6s ease;
    margin: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  [data-fancybox] picture:after {
    content: "+";
    font-family: Arial;
    width: 2.5rem;
    height: 2.5rem;
    background: rgba(0, 0, 0, 0.65) center center no-repeat;
    border-radius: 2.5rem;
    z-index: 2;
    color: #FFFFFF;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    font-size: 1.25rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 1.25rem; }
  [data-fancybox] picture:hover:after, [data-fancybox] picture:hover:before {
    opacity: 1; }

figure {
  position: relative;
  overflow: hidden;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  background-color: rgba(255, 255, 255, 0.15);
  display: block; }
  figure figcaption {
    background-color: rgba(16, 81, 107, 0.1);
    padding: 16px;
    line-height: 1.5;
    font-size: 0.9375rem;
    color: #313941; }

.patch {
  padding: 8px 16px 8px 16px;
  color: #FFFFFF;
  background: #10516b;
  font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal;
  font-size: 0.9375rem;
  border-radius: 0;
  border-bottom: 3px solid rgba(0, 0, 0, 0.3);
  transition: all 0.2s ease;
  top: 0;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 16px;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  @media screen and (min-width: 64em) {
    .patch {
      padding: 21px 16px 16px 16px; } }
  .patch:focus-visible {
    outline: 3px solid #fffb00; }
  .patch svg {
    margin-right: 8px;
    width: 1.125rem;
    height: 1.125rem; }
  .patch:hover {
    cursor: pointer;
    top: 0;
    color: #FFFFFF; }

.kopfbild-wrapper .patch-eshop {
  background: var(--shop-color);
  display: none; }
  @media print, screen and (min-width: 40em) {
    .kopfbild-wrapper .patch-eshop {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }

.kopfbild-wrapper .patch-contact {
  background: var(--shop-color); }

.kopfbild-wrapper .patch-eguichet {
  background: #ff6b6b;
  display: none; }
  .kopfbild-wrapper .patch-eguichet:focus {
    color: #FFFFFF; }
  @media print, screen and (min-width: 40em) {
    .kopfbild-wrapper .patch-eguichet {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }

.kopfbild-wrapper .patch-extra {
  bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .kopfbild-wrapper .patch-extra {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }

/************ EMBED PLUGIN ************/
.privacy-embed-container {
  cursor: pointer;
  width: 100%;
  height: 100%;
  padding: 8px 12px;
  margin-bottom: 16px;
  background-color: #10516b;
  background-size: cover;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  position: absolute;
  transition: all 0.4s ease; }
  @media print, screen and (min-width: 40em) {
    .privacy-embed-container {
      padding: 32px; } }
  .privacy-embed-container:hover {
    background-color: rgba(16, 81, 107, 0.7); }
    .privacy-embed-container:hover * {
      color: #FFFFFF; }
  .privacy-embed-container * {
    color: #FFFFFF;
    font-size: 0.75rem;
    -webkit-hyphens: auto;
        -ms-hyphens: auto;
            hyphens: auto; }
    @media print, screen and (min-width: 40em) {
      .privacy-embed-container * {
        margin-bottom: 16px;
        font-size: 1rem; } }
  .privacy-embed-container p {
    margin: 0;
    line-height: 1.2; }
    @media print, screen and (min-width: 40em) {
      .privacy-embed-container p {
        line-height: 1.4;
        margin-bottom: 16px; } }
  .privacy-embed-container h3, .privacy-embed-container .char-wrapper:before {
    font-size: 1.125rem; }
    @media screen and (min-width: 50em) {
      .privacy-embed-container h3, .privacy-embed-container .char-wrapper:before {
        font-size: 1.5rem; } }
  .privacy-embed-container a {
    color: #FFFFFF !important;
    -webkit-text-decoration-line: underline;
            text-decoration-line: underline;
    text-underline-offset: 0.3em;
    -webkit-text-decoration-style: dotted;
            text-decoration-style: dotted;
    text-decoration-thickness: 1px; }
    .privacy-embed-container a:hover {
      text-decoration: none; }
  .privacy-embed-container img {
    max-width: 20%;
    margin-bottom: 8px; }
    @media print, screen and (min-width: 40em) {
      .privacy-embed-container img {
        max-width: 30%;
        margin-bottom: 32px; } }
  .privacy-embed-container[data-type="embed-twitter"] img {
    max-width: 10%; }
  .privacy-embed-container input {
    -webkit-transform: scale(1.75);
        -ms-transform: scale(1.75);
            transform: scale(1.75);
    border: 0; }
  .privacy-embed-container label {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    margin-top: 16px; }
    @media print, screen and (min-width: 40em) {
      .privacy-embed-container label {
        margin-top: 32px; } }
    .privacy-embed-container label p {
      margin-top: 0;
      text-align: left;
      font-size: 0.6875rem; }
      @media print, screen and (min-width: 40em) {
        .privacy-embed-container label p {
          font-size: 0.8125rem; } }
  .privacy-embed-container .embed-privacy-inner {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .privacy-embed-container .embed-privacy-logo {
    width: 100%; }

.responsive-imagemap {
  position: relative;
  display: inline-block;
  max-width: 100%; }

.responsive-imagemap .imap-img {
  display: block;
  max-width: 100%;
  height: auto; }

.responsive-imagemap .imap-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  /* nur sichtbar, nicht klicken-blocken */ }

.responsive-imagemap .imap-shape {
  position: absolute;
  background: rgba(0, 160, 255, 0.25);
  outline: 2px solid rgba(0, 160, 255, 0.75);
  border-radius: 6px; }

.responsive-imagemap .imap-shape--circle {
  border-radius: 9999px; }

.top-bar-right .page-item-11356, .top-bar-right .page-item-11593 {
  display: none; }

.home .kopfbild-wrapper .childnav li.page-item-11593,
.home .kopfbild-wrapper .childnav li.page-item-11356 {
  display: none; }

body.woocommerce .main-container a, body.woocommerce .main-container .back svg {
  color: var(--shop-color); }

body.woocommerce .main-container .childnav a:not(.back) {
  color: #FFFFFF; }
  @media screen and (min-width: 50em) {
    body.woocommerce .main-container .childnav a:not(.back) {
      color: #313941; } }

body.woocommerce .main-container .back:hover, body.woocommerce .main-container .back:hover svg {
  color: #FFFFFF; }

body.woocommerce a.button,
body.woocommerce .gform_wrapper a.gform_button, .gform_wrapper body.woocommerce a.gform_button,
body.woocommerce a.button.alt,
body.woocommerce .gform_wrapper a.alt.gform_button,
.gform_wrapper body.woocommerce a.alt.gform_button,
body.woocommerce button.button,
body.woocommerce .gform_wrapper button.gform_button,
.gform_wrapper body.woocommerce button.gform_button,
body.woocommerce button.button.alt,
body.woocommerce .gform_wrapper button.alt.gform_button,
.gform_wrapper body.woocommerce button.alt.gform_button {
  background-color: var(--shop-color);
  color: #FFFFFF; }
  body.woocommerce a.button:disabled,
  body.woocommerce .gform_wrapper a.gform_button:disabled, .gform_wrapper body.woocommerce a.gform_button:disabled, body.woocommerce a.button:disabled[disabled],
  body.woocommerce .gform_wrapper a.gform_button:disabled[disabled], .gform_wrapper body.woocommerce a.gform_button:disabled[disabled], body.woocommerce a.button.disabled,
  body.woocommerce .gform_wrapper a.disabled.gform_button, .gform_wrapper body.woocommerce a.disabled.gform_button,
  body.woocommerce a.button.alt:disabled,
  body.woocommerce .gform_wrapper a.alt.gform_button:disabled,
  .gform_wrapper body.woocommerce a.alt.gform_button:disabled,
  body.woocommerce a.button.alt:disabled[disabled],
  body.woocommerce .gform_wrapper a.alt.gform_button:disabled[disabled],
  .gform_wrapper body.woocommerce a.alt.gform_button:disabled[disabled],
  body.woocommerce a.button.alt.disabled,
  body.woocommerce .gform_wrapper a.alt.disabled.gform_button,
  .gform_wrapper body.woocommerce a.alt.disabled.gform_button,
  body.woocommerce button.button:disabled,
  body.woocommerce .gform_wrapper button.gform_button:disabled,
  .gform_wrapper body.woocommerce button.gform_button:disabled,
  body.woocommerce button.button:disabled[disabled],
  body.woocommerce .gform_wrapper button.gform_button:disabled[disabled],
  .gform_wrapper body.woocommerce button.gform_button:disabled[disabled],
  body.woocommerce button.button.disabled,
  body.woocommerce .gform_wrapper button.disabled.gform_button,
  .gform_wrapper body.woocommerce button.disabled.gform_button,
  body.woocommerce button.button.alt:disabled,
  body.woocommerce .gform_wrapper button.alt.gform_button:disabled,
  .gform_wrapper body.woocommerce button.alt.gform_button:disabled,
  body.woocommerce button.button.alt:disabled[disabled],
  body.woocommerce .gform_wrapper button.alt.gform_button:disabled[disabled],
  .gform_wrapper body.woocommerce button.alt.gform_button:disabled[disabled],
  body.woocommerce button.button.alt.disabled,
  body.woocommerce .gform_wrapper button.alt.disabled.gform_button,
  .gform_wrapper body.woocommerce button.alt.disabled.gform_button {
    opacity: 0.6; }
    body.woocommerce a.button:disabled,
    body.woocommerce .gform_wrapper a.gform_button:disabled, .gform_wrapper body.woocommerce a.gform_button:disabled, body.woocommerce a.button:disabled:hover,
    body.woocommerce .gform_wrapper a.gform_button:disabled:hover, .gform_wrapper body.woocommerce a.gform_button:disabled:hover, body.woocommerce a.button:disabled[disabled],
    body.woocommerce .gform_wrapper a.gform_button:disabled[disabled], .gform_wrapper body.woocommerce a.gform_button:disabled[disabled], body.woocommerce a.button:disabled[disabled]:hover,
    body.woocommerce .gform_wrapper a.gform_button:disabled[disabled]:hover, .gform_wrapper body.woocommerce a.gform_button:disabled[disabled]:hover, body.woocommerce a.button.disabled,
    body.woocommerce .gform_wrapper a.disabled.gform_button, .gform_wrapper body.woocommerce a.disabled.gform_button, body.woocommerce a.button.disabled:hover,
    body.woocommerce .gform_wrapper a.disabled.gform_button:hover, .gform_wrapper body.woocommerce a.disabled.gform_button:hover,
    body.woocommerce a.button.alt:disabled,
    body.woocommerce .gform_wrapper a.alt.gform_button:disabled,
    .gform_wrapper body.woocommerce a.alt.gform_button:disabled,
    body.woocommerce a.button.alt:disabled:hover,
    body.woocommerce .gform_wrapper a.alt.gform_button:disabled:hover,
    .gform_wrapper body.woocommerce a.alt.gform_button:disabled:hover,
    body.woocommerce a.button.alt:disabled[disabled],
    body.woocommerce .gform_wrapper a.alt.gform_button:disabled[disabled],
    .gform_wrapper body.woocommerce a.alt.gform_button:disabled[disabled],
    body.woocommerce a.button.alt:disabled[disabled]:hover,
    body.woocommerce .gform_wrapper a.alt.gform_button:disabled[disabled]:hover,
    .gform_wrapper body.woocommerce a.alt.gform_button:disabled[disabled]:hover,
    body.woocommerce a.button.alt.disabled,
    body.woocommerce .gform_wrapper a.alt.disabled.gform_button,
    .gform_wrapper body.woocommerce a.alt.disabled.gform_button,
    body.woocommerce a.button.alt.disabled:hover,
    body.woocommerce .gform_wrapper a.alt.disabled.gform_button:hover,
    .gform_wrapper body.woocommerce a.alt.disabled.gform_button:hover,
    body.woocommerce button.button:disabled,
    body.woocommerce .gform_wrapper button.gform_button:disabled,
    .gform_wrapper body.woocommerce button.gform_button:disabled,
    body.woocommerce button.button:disabled:hover,
    body.woocommerce .gform_wrapper button.gform_button:disabled:hover,
    .gform_wrapper body.woocommerce button.gform_button:disabled:hover,
    body.woocommerce button.button:disabled[disabled],
    body.woocommerce .gform_wrapper button.gform_button:disabled[disabled],
    .gform_wrapper body.woocommerce button.gform_button:disabled[disabled],
    body.woocommerce button.button:disabled[disabled]:hover,
    body.woocommerce .gform_wrapper button.gform_button:disabled[disabled]:hover,
    .gform_wrapper body.woocommerce button.gform_button:disabled[disabled]:hover,
    body.woocommerce button.button.disabled,
    body.woocommerce .gform_wrapper button.disabled.gform_button,
    .gform_wrapper body.woocommerce button.disabled.gform_button,
    body.woocommerce button.button.disabled:hover,
    body.woocommerce .gform_wrapper button.disabled.gform_button:hover,
    .gform_wrapper body.woocommerce button.disabled.gform_button:hover,
    body.woocommerce button.button.alt:disabled,
    body.woocommerce .gform_wrapper button.alt.gform_button:disabled,
    .gform_wrapper body.woocommerce button.alt.gform_button:disabled,
    body.woocommerce button.button.alt:disabled:hover,
    body.woocommerce .gform_wrapper button.alt.gform_button:disabled:hover,
    .gform_wrapper body.woocommerce button.alt.gform_button:disabled:hover,
    body.woocommerce button.button.alt:disabled[disabled],
    body.woocommerce .gform_wrapper button.alt.gform_button:disabled[disabled],
    .gform_wrapper body.woocommerce button.alt.gform_button:disabled[disabled],
    body.woocommerce button.button.alt:disabled[disabled]:hover,
    body.woocommerce .gform_wrapper button.alt.gform_button:disabled[disabled]:hover,
    .gform_wrapper body.woocommerce button.alt.gform_button:disabled[disabled]:hover,
    body.woocommerce button.button.alt.disabled,
    body.woocommerce .gform_wrapper button.alt.disabled.gform_button,
    .gform_wrapper body.woocommerce button.alt.disabled.gform_button,
    body.woocommerce button.button.alt.disabled:hover,
    body.woocommerce .gform_wrapper button.alt.disabled.gform_button:hover,
    .gform_wrapper body.woocommerce button.alt.disabled.gform_button:hover {
      background-color: var(--shop-color);
      color: #FFFFFF; }
  body.woocommerce a.button:hover,
  body.woocommerce .gform_wrapper a.gform_button:hover, .gform_wrapper body.woocommerce a.gform_button:hover,
  body.woocommerce a.button.alt:hover,
  body.woocommerce .gform_wrapper a.alt.gform_button:hover,
  .gform_wrapper body.woocommerce a.alt.gform_button:hover,
  body.woocommerce button.button:hover,
  body.woocommerce .gform_wrapper button.gform_button:hover,
  .gform_wrapper body.woocommerce button.gform_button:hover,
  body.woocommerce button.button.alt:hover,
  body.woocommerce .gform_wrapper button.alt.gform_button:hover,
  .gform_wrapper body.woocommerce button.alt.gform_button:hover {
    background-color: #313941;
    color: #FFFFFF; }

body.woocommerce .widget_shopping_cart {
  margin: 32px 0;
  border-bottom: 1px solid #DFDFDF; }

body.woocommerce .sku_wrapper, body.woocommerce .posted_in, body.woocommerce .woocommerce-ordering {
  display: none; }

.woocommerce form .form-row label {
  font-size: 1rem;
  font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal; }

.woocommerce-error li:before {
  display: none; }

.woocommerce ul.products {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-left: -16px;
  margin-right: -16px; }
  .woocommerce ul.products li.product {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-radius: 0.1875rem;
    width: calc( 100% - 16px) !important;
    margin: 8px !important;
    background: rgba(223, 223, 223, 0.35);
    padding: 8px; }
    @media print, screen and (min-width: 40em) {
      .woocommerce ul.products li.product {
        width: calc( 33.33% - 16px) !important; } }
    @media screen and (min-width: 90em) {
      .woocommerce ul.products li.product {
        width: calc( 25% - 16px) !important; } }
    .woocommerce ul.products li.product:before {
      display: none; }
    .woocommerce ul.products li.product p:empty {
      display: none; }
    .woocommerce ul.products li.product a.button,
    .woocommerce ul.products li.product .gform_wrapper a.gform_button, .gform_wrapper .woocommerce ul.products li.product a.gform_button {
      width: calc( 100% + 16px);
      font-size: 0.875rem;
      margin-left: -8px;
      margin-bottom: -8px;
      border-top-right-radius: 0px;
      border-top-left-radius: 0px; }
    .woocommerce ul.products li.product h2.woocommerce-loop-product__title {
      color: #313941; }
    .woocommerce ul.products li.product:hover a.button,
    .woocommerce ul.products li.product:hover .gform_wrapper a.gform_button, .gform_wrapper .woocommerce ul.products li.product:hover a.gform_button {
      background-color: #313941; }

.single-product .label {
  background: none; }

.single-product .related.products {
  display: none; }

body.woocommerce-page.single-product .product {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  body.woocommerce-page.single-product .product p.price {
    background-color: var(--main-color);
    display: inline-block;
    padding: 0 0.375rem;
    color: #FFFFFF;
    font-family: 'open_sansbold'; }
  body.woocommerce-page.single-product .product div.woocommerce-product-gallery {
    width: 100%;
    max-width: 16.25rem;
    margin-right: 32px;
    margin-top: 16px; }
    body.woocommerce-page.single-product .product div.woocommerce-product-gallery figure {
      border: 1px solid #DFDFDF; }
  body.woocommerce-page.single-product .product div.summary {
    width: auto; }

li.wc_payment_method.payment_method_ogone label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  li.wc_payment_method.payment_method_ogone label img {
    width: 80px; }

#customer_details {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  padding: 16px 32px; }
  #customer_details .col-1 {
    width: 100%; }
  #customer_details .col-2 {
    display: none; }
  #customer_details .woocommerce-billing-fields__field-wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end; }
  #customer_details .address-field {
    width: 100%; }
  #customer_details #billing_company_field {
    display: none; }
  @media screen and (min-width: 50em) {
    #customer_details #billing_postcode_field,
    #customer_details #billing_city_field,
    #customer_details #billing_country_field {
      width: 30%; }
    #customer_details #billing_email_field,
    #customer_details #billing_phone_field {
      width: 100%; } }
  #customer_details .select2-container {
    height: 39px; }
    #customer_details .select2-container .select2-selection--single {
      height: 39px; }
      #customer_details .select2-container .select2-selection--single .select2-selection__rendered {
        line-height: 35px; }
      #customer_details .select2-container .select2-selection--single .select2-selection__arrow {
        height: 35px; }

#order_review_heading,
#order_payment_heading {
  margin-top: 32px; }

.woocommerce-order-overview li:before {
  display: none; }

.woocommerce-order-details-title {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 16px; }

@media print {
  .woocommerce-order-details-title button {
    display: none !important; } }

body.woocommerce-checkout .shop_table {
  background-color: transparent; }

.cart_totals {
  text-align: center; }
  .cart_totals h2 {
    text-align: left; }

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  margin-bottom: 0; }

.checkout-other {
  font-family: 'open_sansbold'; }

.woocommerce .widget_shopping_cart .cart_list li a.remove, .woocommerce.widget_shopping_cart .cart_list li a.remove {
  line-height: 0.73; }

.woocommerce ul.cart_list li img, .woocommerce ul.product_list_widget li img {
  display: none; }

#add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 0px; }

.woocommerce #order_review .legal {
  margin: 16px 0; }
  .woocommerce #order_review .legal label {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    line-height: 1.3; }

.woocommerce form .form-row .woocommerce-form__input-checkbox {
  margin-right: 20px; }

.archiv-view h2, .archiv-view h2 a {
  color: var(--main-color); }

.archiv-view .grid-wrapper {
  max-width: 44.5rem; }

.archiv-view .results-item {
  border-top: 1px solid #DFDFDF;
  padding: 16px 0; }
  @media print, screen and (min-width: 40em) {
    .archiv-view .results-item {
      padding: 16px 0; } }
  .archiv-view .results-item .entry-title {
    margin: 0 0 0.3125rem 0; }

.parent-newsarchiv .wrapper--news {
  grid-gap: 16px; }

.single .post-thumb-wrapper {
  position: relative; }

@media screen and (max-width: 39.9375em) {
  .single .back {
    display: block;
    margin: 16px 0 16px 0;
    text-align: center; } }

@media print, screen and (min-width: 40em) {
  .single header .back {
    display: none; } }

.single .innermeta-wrapper {
  position: relative;
  top: -4.375rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: -3.75rem; }
  @media screen and (max-width: 39.9375em) {
    .single .innermeta-wrapper {
      width: 100%;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .single .innermeta-wrapper p {
    padding: 0.1875rem 0.9375rem;
    font-family: 'poppinsregular', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal;
    font-size: 0.875rem; }
    @media screen and (max-width: 39.9375em) {
      .single .innermeta-wrapper p {
        margin: auto; } }
  .single .innermeta-wrapper a {
    color: #313941; }
    .single .innermeta-wrapper a:hover {
      color: var(--main-color); }
  @media print, screen and (min-width: 40em) {
    .single .innermeta-wrapper .date {
      margin-left: auto; } }
  .single .innermeta-wrapper .print svg {
    margin: 0 0.25rem 0 0; }
  .single .innermeta-wrapper .share {
    margin-left: 1.25rem; }
    .single .innermeta-wrapper .share a {
      display: inline-block; }
      .single .innermeta-wrapper .share a.facebook {
        margin: 0 0.1875rem; }

/****** PRINT STYLESHEET *********/
@media print {
  .top-bar-right,
  .title-bar,
  .kopfbild-wrapper,
  .site-header:after,
  .sidebar,
  .innermeta-wrapper,
  .footer,
  .card-wrapper img,
  .flexible-form-wrapper,
  .flexible-oembed-wrapper,
  .flexible-galerie-wrapper,
  .flexible-childpages-wrapper,
  .flexible-txtimg-wrapper,
  .ap-thumb a:after,
  .filter-wrapper,
  .anliegen-header,
  #contact-overlay {
    display: none !important; }
  img {
    -webkit-filter: greyscale(100%) !important;
            filter: greyscale(100%) !important; }
  .top-bar .top-bar-title {
    position: static; }
    .top-bar .top-bar-title a {
      text-align: center; }
      .top-bar .top-bar-title a img {
        display: inline-block;
        width: 7.1875rem; }
      .top-bar .top-bar-title a:before, .top-bar .top-bar-title a:after {
        display: none; }
  .top-bar .top-bar-innerwrapper {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  h1.entry-title, #contact-overlay .entry-title.contact_title, #contact-overlay .entry-title.large_tel, #contact-overlay .entry-title.large_email, #contact-overlay .entry-title.large_address {
    font-size: 26pt; }
  a {
    text-decoration: none; }
  .flexible-links-wrapper .button-group, .flexible-links-wrapper .button-group li, .flexible-links-wrapper .button-group a {
    display: block;
    text-align: left;
    padding: 0; } }

/* Placeholder */
.top-bar .childnav > li > a, .drilldown li.page_item a, .off-canvas .servicenav-langswitch a, .wrapper--news .news-kachel-image .news-meta, .top-bar .childnav, .anliegen-list h3, .charmenu, .char-wrapper:before, .home .home_subtitle {
  text-transform: uppercase; }

.results-item ul, .flexible-editor-wrapper ul, .flexible-infobox-wrapper div ul {
  margin: 16px 0;
  list-style-type: none; }
  .results-item ul li, .flexible-editor-wrapper ul li, .flexible-infobox-wrapper div ul li {
    position: relative;
    font-family: 'open_sansregular';
    padding-left: 1.875rem; }
    @media print, screen and (min-width: 40em) {
      .results-item ul li, .flexible-editor-wrapper ul li, .flexible-infobox-wrapper div ul li {
        margin-left: 16px; } }
    .results-item ul li:not(:last-child), .flexible-editor-wrapper ul li:not(:last-child), .flexible-infobox-wrapper div ul li:not(:last-child) {
      margin-bottom: 0.625rem; }
    .results-item ul li:before, .flexible-editor-wrapper ul li:before, .flexible-infobox-wrapper div ul li:before {
      position: absolute;
      left: 0;
      height: 100%;
      width: 1.875rem;
      content: '';
      background: url("data:image/svg+xml,%3Csvg width='12' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' fill-opacity='0.25' d='M7.587 3.95L5.05 1.415 6.466 0l4.95 4.95L6.465 9.9 5.05 8.487 7.587 5.95 0 5.951v-2z' fill-rule='evenodd'/%3E%3C/svg%3E") left 8px no-repeat; }
    .results-item ul li ul, .flexible-editor-wrapper ul li ul, .flexible-infobox-wrapper div ul li ul {
      margin-left: 16px; }

@media screen and (max-width: 39.9375em) {
  .anliegen-list, .home .wrapper--nuetzliches, .home .wrapper--galerien, .ap-wrapper > *, .flexible-form-wrapper, .flexible-tax-downloads-wrapper {
    margin-left: -16px;
    margin-right: -16px; } }

/* IDS for the color scheme */
html {
  overflow-x: hidden; }

h5,
h6,
.archiv-view .results-item .entry-title {
  font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal; }

a {
  transition: all 0.2s ease; }
  a:focus-visible {
    outline: 3px solid #cc4b37;
    transition: none !important; }

.site-header {
  position: relative; }
  .site-header:after {
    display: block;
    height: 3.125rem;
    content: '';
    background: linear-gradient(90deg, #FFFFFF 4px, transparent 1%) center, linear-gradient(#FFFFFF 4px, transparent 1%) center, rgba(49, 57, 65, 0.6);
    background-size: 5px 5px; }

strong,
b {
  font-family: 'open_sansbold';
  font-weight: normal; }

u, *[style*="underline"] {
  text-decoration: none; }

.caption {
  position: absolute;
  bottom: 0;
  left: 0;
  background: var(--main-color);
  color: #FFFFFF;
  font-size: 0.8125rem;
  padding: 0.1875rem 0.625rem; }

.kopfbild-wrapper {
  background: #313941 center center no-repeat;
  height: 7.5rem;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .kopfbild-wrapper {
      height: 10.625rem; } }
  .kopfbild-wrapper img {
    object-fit: cover;
    height: 100%;
    width: 100%; }
  .kopfbild-wrapper .outer-grid {
    width: 100%;
    max-width: 75rem;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 50%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .kopfbild-wrapper .grid-wrapper {
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px; }
    @media screen and (min-width: 64em) {
      .kopfbild-wrapper .grid-wrapper {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-align-items: stretch;
            -ms-flex-align: stretch;
                align-items: stretch; } }
    @media screen and (min-width: 64em) and (max-width: 89.9375em) {
      .kopfbild-wrapper .grid-wrapper {
        max-width: none; } }
    .kopfbild-wrapper .grid-wrapper > *:not(.top-bar-right) {
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }

.back {
  font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal;
  transition: color 0.2s ease; }
  .back svg {
    color: var(--main-color);
    margin-right: 0.375rem; }
  .back:hover {
    color: var(--main-color); }

.grid-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 75rem;
  margin: auto; }
  .grid-wrapper > *:not(.top-bar-right) {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .grid-wrapper .sidebar {
    -webkit-flex: 1 0 18.75rem;
        -ms-flex: 1 0 18.75rem;
            flex: 1 0 18.75rem;
    margin-right: 3.75rem; }
    @media screen and (min-width: 64em) {
      .grid-wrapper .sidebar {
        padding-left: 16px; } }

.main-content {
  width: 100%;
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px; }
  @media screen and (max-width: 39.9375em) {
    .main-content {
      max-width: 100%; } }
  @media screen and (min-width: 40em) and (max-width: 49.9375em) {
    .main-content {
      padding-left: 48px;
      padding-right: 48px; } }
  @media screen and (min-width: 50em) and (max-width: 63.9375em) {
    .main-content {
      -webkit-flex: 0 0 43.625rem;
          -ms-flex: 0 0 43.625rem;
              flex: 0 0 43.625rem; } }
  @media screen and (min-width: 64em) {
    .main-content {
      padding-left: 16px;
      padding-right: 16px; } }
  @media screen and (min-width: 90em) {
    .main-content {
      padding-right: 0; } }
  @media screen and (min-width: 64em) {
    .main-content.full-width .entry-content > header {
      max-width: 50%;
      text-align: center; }
      .main-content.full-width .entry-content > header, .main-content.full-width .entry-content > header .intro:after {
        margin-left: auto;
        margin-right: auto; } }
  @media screen and (min-width: 90em) {
    .main-content.full-width {
      padding: 0; } }

.main-container {
  padding: 3.125rem 0;
  position: relative; }

.innermeta-wrapper {
  top: -1.875rem;
  position: absolute;
  z-index: 1; }
  .innermeta-wrapper p {
    background: #FFFFFF;
    display: inline-block;
    padding: 0.625rem 1.25rem;
    font-size: 0.8125rem;
    font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal; }
  .innermeta-wrapper a {
    color: var(--main-color); }

.main-content:not(.steuersaetze-wrapper) .entry-content a:not(.button) {
  color: var(--main-color);
  transition: color 0.1s ease; }
  .main-content:not(.steuersaetze-wrapper) .entry-content a:not(.button):focus {
    outline: 0; }
  .main-content:not(.steuersaetze-wrapper) .entry-content a:not(.button):hover {
    color: #313941; }

h1.entry-title, #contact-overlay .entry-title.contact_title, #contact-overlay .entry-title.large_tel, #contact-overlay .entry-title.large_email, #contact-overlay .entry-title.large_address {
  margin-bottom: 32px;
  line-height: 1; }

.intro {
  font-size: 1.125rem;
  color: rgba(49, 57, 65, 0.6); }
  @media print, screen and (min-width: 40em) {
    .intro {
      margin-top: 48px;
      margin-bottom: 32px; } }
  .intro:after {
    content: '';
    width: 4rem;
    height: 0.125rem;
    background: var(--main-color);
    display: block;
    margin-top: 32px; }

/********* FLEXIBLE CONTENT ***********/
body:not(.search-results) .flexible-content {
  margin-bottom: 24px; }
  @media print, screen and (min-width: 40em) {
    body:not(.search-results) .flexible-content {
      margin-bottom: 48px; } }
  body:not(.search-results) .flexible-content.half {
    margin-bottom: 24px; }
    @media print, screen and (min-width: 40em) {
      body:not(.search-results) .flexible-content.half {
        margin-bottom: 24px; } }
  body:not(.search-results) .flexible-content.alt {
    margin-bottom: 24px; }
    @media print, screen and (min-width: 40em) {
      body:not(.search-results) .flexible-content.alt {
        margin-bottom: 48px; } }

/****** FOOTER ********/
.footer {
  margin-top: 32px; }
  @media print, screen and (min-width: 40em) {
    .footer {
      margin-top: 96px; } }
  .footer .childnav {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    list-style-type: none;
    text-align: center; }
    .footer .childnav a {
      margin: 0 0.9375rem;
      font-size: 0.875rem;
      font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      text-transform: uppercase;
      transition: color 0.2s ease; }
      .footer .childnav a:hover {
        color: #313941 !important; }
    @media print, screen and (min-width: 40em) {
      .footer .childnav {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
  .footer .footer-container {
    background: #313941; }
    .footer .footer-container article {
      max-width: 75rem;
      padding: 32px 16px;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      text-align: center;
      margin: 32px auto 0 auto; }
      @media screen and (min-width: 50em) {
        .footer .footer-container article {
          -webkit-flex-direction: row;
              -ms-flex-direction: row;
                  flex-direction: row;
          -webkit-justify-content: flex-start;
              -ms-flex-pack: start;
                  justify-content: flex-start; } }
      .footer .footer-container article > * {
        -webkit-flex: 1;
            -ms-flex: 1;
                flex: 1; }
        @media screen and (max-width: 49.9375em) {
          .footer .footer-container article > * {
            -webkit-justify-content: center;
                -ms-flex-pack: center;
                    justify-content: center; }
            .footer .footer-container article > *:not(:first-of-type) {
              margin-top: 16px; } }
      .footer .footer-container article, .footer .footer-container article a {
        color: #FFFFFF;
        font-size: 0.75rem;
        font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
        font-weight: normal; }
    .footer .footer-container a {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0 0.3125rem;
      transition: color 0.2s ease; }
      .footer .footer-container a:hover {
        color: rgba(255, 255, 255, 0.7); }
    @media screen and (max-width: 49.9375em) {
      .footer .footer-container ul {
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    @media screen and (min-width: 50em) {
      .footer .footer-container .totop {
        -webkit-order: 3;
            -ms-flex-order: 3;
                order: 3; }
        .footer .footer-container .totop a {
          -webkit-justify-content: flex-end;
              -ms-flex-pack: end;
                  justify-content: flex-end; } }
    .footer .footer-container .social {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      @media screen and (min-width: 50em) {
        .footer .footer-container .social {
          -webkit-flex-wrap: nowrap;
              -ms-flex-wrap: nowrap;
                  flex-wrap: nowrap;
          -webkit-order: 2;
              -ms-flex-order: 2;
                  order: 2; } }
      .footer .footer-container .social a {
        font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
        font-weight: normal;
        font-size: 0.875rem;
        text-transform: uppercase;
        white-space: nowrap; }
        .footer .footer-container .social a:hover {
          color: rgba(255, 255, 255, 0.7); }
        .footer .footer-container .social a svg {
          margin-right: 0.625rem; }
    .footer .footer-container .copyright {
      padding-right: 16px; }
      @media screen and (min-width: 50em) {
        .footer .footer-container .copyright {
          -webkit-justify-content: flex-start;
              -ms-flex-pack: start;
                  justify-content: flex-start; } }
      .footer .footer-container .copyright li {
        margin: 5.33333px 0; }

.home {
  overflow-x: hidden; }
  .home .footer-container article {
    max-width: 90rem; }
  .home .kopfbild-wrapper {
    min-height: 25rem;
    position: relative;
    z-index: 1; }
    @media print, screen and (min-width: 40em) {
      .home .kopfbild-wrapper {
        min-height: 18.75rem;
        /*
            &:after {
                content: '';
                width: 100%;
                height: rem-calc(30); 
                background-color: $primary-color;
                position: absolute;
                bottom: 0;
                left: 0;
            }*/ } }
    @media screen and (min-width: 50em) {
      .home .kopfbild-wrapper {
        min-height: 25rem; } }
    @media screen and (min-width: 64em) {
      .home .kopfbild-wrapper {
        min-height: 31.25rem; } }
    @media screen and (min-width: 128em) {
      .home .kopfbild-wrapper {
        min-height: 37.5rem; } }
    .home .kopfbild-wrapper .childnav {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0;
      list-style: none;
      z-index: 2;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      @media screen and (min-width: 64em) {
        .home .kopfbild-wrapper .childnav {
          gap: 8px;
          -webkit-flex-wrap: nowrap;
              -ms-flex-wrap: nowrap;
                  flex-wrap: nowrap;
          max-width: 75rem;
          width: 100%;
          left: 50%;
          -webkit-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
                  transform: translateX(-50%); } }
      .home .kopfbild-wrapper .childnav li {
        -webkit-flex: 1 1 0px;
            -ms-flex: 1 1 0px;
                flex: 1 1 0px; }
        @media screen and (max-width: 49.9375em) {
          .home .kopfbild-wrapper .childnav li {
            width: 25%; } }
        .home .kopfbild-wrapper .childnav li > a {
          background-color: white;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center;
          text-align: center;
          height: 4.375rem;
          line-height: 1.1;
          position: relative;
          font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
          font-weight: normal; }
          @media screen and (min-width: 50em) {
            .home .kopfbild-wrapper .childnav li > a {
              padding: 0 32px;
              height: 5rem; } }
          @media screen and (min-width: 64em) {
            .home .kopfbild-wrapper .childnav li > a {
              padding: 0 1.875rem;
              font-size: 1.125rem; } }
          .home .kopfbild-wrapper .childnav li > a:hover {
            color: rgba(49, 57, 65, 0.8); }
            .home .kopfbild-wrapper .childnav li > a:hover:after {
              height: 0.5rem; }
          .home .kopfbild-wrapper .childnav li > a:before, .home .kopfbild-wrapper .childnav li > a:after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0; }
          .home .kopfbild-wrapper .childnav li > a:before {
            /*
                        left: rem-calc(20);
                        top: rem-calc(-20);
                        height: rem-calc(40);
                        width: rem-calc(40);
                        z-index: 2;
                        transition: all 0.2s ease;
                        transform: rotate(-45deg);
                        background-color: $white !important;
                        */ }
          .home .kopfbild-wrapper .childnav li > a:after {
            transition: all 0.4s ease;
            bottom: 0;
            height: 0.25rem;
            background-color: var(--color); }
        @media screen and (max-width: 39.9375em) {
          .home .kopfbild-wrapper .childnav li {
            width: 50%; }
            .home .kopfbild-wrapper .childnav li > a {
              font-size: 0.875rem;
              -webkit-flex-wrap: wrap;
                  -ms-flex-wrap: wrap;
                      flex-wrap: wrap;
              line-height: 1.2;
              padding: 0 8px;
              text-transform: uppercase; } }
        @media screen and (min-width: 50em) {
          .home .kopfbild-wrapper .childnav li > a:after {
            display: block; } }
      .home .kopfbild-wrapper .childnav .is-active {
        display: none; }
  @media screen and (min-width: 49.9375em) {
    .home .site-header:after {
      height: 5rem; } }
  .home .home_subtitle {
    color: #10516b;
    font-family: 'open_sansbold';
    display: inline-block;
    line-height: 1.3;
    font-size: 0.875rem;
    padding-bottom: 16px; }
    @media screen and (min-width: 64em) {
      .home .home_subtitle {
        padding-left: 2.25rem; }
        .home .home_subtitle:after {
          border-bottom: 2px solid #10516b;
          content: '';
          width: 1.875rem;
          display: block;
          -webkit-transform: translate(-100%, -0.65em);
              -ms-transform: translate(-100%, -0.65em);
                  transform: translate(-100%, -0.65em);
          margin-left: -6px; } }
  .home .home_title {
    font-size: 2.3125rem;
    line-height: 1.1;
    margin-bottom: 32px; }
    @media screen and (min-width: 50em) {
      .home .home_title {
        font-size: 3.5rem; } }
  .home .home_description {
    font-size: 1.125rem;
    line-height: 1.6875rem;
    color: #313941; }
  .home .wrapper {
    padding: 32px 0;
    /*.meta {
        position: absolute;
        bottom: 0;
        right: 0;
        background: $white;
        padding: $grid-medium/2 $grid-medium;
        @include bold;
        font-size: rem-calc(15);
        color: $primary-color;
        z-index: 6;
        transition: all 0.3s ease;
        svg {
            color: $secondary-color;
            transition: all 0.3s ease;
        }
    }*/ }
    @media screen and (min-width: 50em) {
      .home .wrapper {
        padding: 96px 0; } }
    .home .wrapper .main-container {
      max-width: 75rem;
      padding: 0 16px;
      margin: auto;
      background: transparent;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 25% 1fr;
          grid-template-columns: 25% 1fr; }
      @media screen and (max-width: 63.9375em) {
        .home .wrapper .main-container > div {
          -ms-grid-column: span 2;
              grid-column: span 2; } }
    .home .wrapper.gray {
      background: rgba(181, 180, 168, 0.1); }
    .home .wrapper .afterbutton {
      margin: 0 auto;
      padding-top: 16px;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      grid-column-end: 3; }
      @media screen and (min-width: 50em) {
        .home .wrapper .afterbutton {
          margin: 0 16px 0 auto; } }
    .home .wrapper .button, .home .wrapper .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .home .wrapper input.button[type=submit],
    .home .wrapper .gform_wrapper .gform_button, .gform_wrapper .home .wrapper .gform_button {
      padding: 10.66667px 16px;
      border: 2px solid #10516b;
      background-color: #FFFFFF;
      color: #10516b; }
      .home .wrapper .button:hover, .home .wrapper .gform_wrapper .gform_footer input.button:hover[type=submit], .gform_wrapper .gform_footer .home .wrapper input.button:hover[type=submit],
      .home .wrapper .gform_wrapper .gform_button:hover, .gform_wrapper .home .wrapper .gform_button:hover {
        border: 2px solid #313941;
        color: #313941; }
    @media screen and (min-width: 50em) and (max-width: 63.9375em) {
      .home .wrapper--neuigkeiten {
        padding-bottom: 32px; } }
    .home .wrapper--neuigkeiten .main-container {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      @media screen and (max-width: 39.9375em) {
        .home .wrapper--neuigkeiten .main-container {
          -webkit-flex-direction: column;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      .home .wrapper--neuigkeiten .main-container > div:first-of-type {
        text-align: center;
        width: 100%; }
        @media screen and (min-width: 64em) {
          .home .wrapper--neuigkeiten .main-container > div:first-of-type {
            width: 25%;
            text-align: right;
            padding-right: 8px; } }
      .home .wrapper--neuigkeiten .main-container .afterbutton {
        -webkit-flex-basis: 100%;
            -ms-flex-preferred-size: 100%;
                flex-basis: 100%;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin-top: 24px; }
        @media screen and (min-width: 64em) {
          .home .wrapper--neuigkeiten .main-container .afterbutton {
            padding-right: 16px;
            -webkit-justify-content: flex-end;
                -ms-flex-pack: end;
                    justify-content: flex-end; } }
      .home .wrapper--neuigkeiten .main-container .button, .home .wrapper--neuigkeiten .main-container .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .home .wrapper--neuigkeiten .main-container input.button[type=submit],
      .home .wrapper--neuigkeiten .main-container .gform_wrapper .gform_button, .gform_wrapper .home .wrapper--neuigkeiten .main-container .gform_button {
        background-color: transparent; }
    .home .wrapper--banner {
      padding-top: 0; }
      .home .wrapper--banner .main-container {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
      .home .wrapper--banner .banner-wrapper {
        background-color: #313941;
        display: -ms-grid;
        display: grid;
        width: 100%;
        box-shadow: 10px 10px 30px 0 rgba(0, 0, 0, 0.25); }
        @media screen and (min-width: 64em) {
          .home .wrapper--banner .banner-wrapper {
            height: 130px; } }
        .home .wrapper--banner .banner-wrapper > * {
          grid-area: 1 / 1; }
      .home .wrapper--banner .inner-content {
        position: relative;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 32px;
        gap: 32px;
        text-align: center;
        position: relative;
        z-index: 1; }
        @media screen and (min-width: 50em) {
          .home .wrapper--banner .inner-content {
            -webkit-flex-direction: row;
                -ms-flex-direction: row;
                    flex-direction: row;
            text-align: left; } }
        .home .wrapper--banner .inner-content:after {
          content: '';
          transition: all 0.6s ease;
          background-color: rgba(49, 57, 65, 0.8);
          position: absolute;
          inset: 0;
          z-index: -1; }
      .home .wrapper--banner .home_subtitle {
        color: #FFFFFF;
        text-wrap: balance; }
        .home .wrapper--banner .home_subtitle:after {
          border-color: #FFFFFF; }
      .home .wrapper--banner .block-header {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 5.6px; }
      .home .wrapper--banner .banner-title {
        text-wrap: balance;
        color: #FFFFFF;
        -webkit-hyphens: auto;
            -ms-hyphens: auto;
                hyphens: auto;
        font-size: 1.75rem;
        margin: 0; }
        @media screen and (min-width: 50em) {
          .home .wrapper--banner .banner-title {
            font-size: 2.1875rem; } }
      .home .wrapper--banner span.button,
      .home .wrapper--banner .gform_wrapper span.gform_button, .gform_wrapper .home .wrapper--banner span.gform_button {
        white-space: nowrap;
        border: 0;
        padding: 12.8px 16px 9.6px 16px;
        margin: 0; }
        .home .wrapper--banner span.button:hover,
        .home .wrapper--banner .gform_wrapper span.gform_button:hover, .gform_wrapper .home .wrapper--banner span.gform_button:hover {
          border: 0; }
      .home .wrapper--banner a:hover .inner-content:after {
        background-color: rgba(49, 57, 65, 0.95); }
      .home .wrapper--banner img {
        object-fit: cover;
        height: 100%;
        width: 100%; }
    .home .wrapper--projekte {
      padding-top: 0; }
      .home .wrapper--projekte .claim-wrapper .afterbutton {
        display: none; }
      @media screen and (min-width: 64em) {
        .home .wrapper--projekte:not(.count-3) .main-container.row-2 .afterbutton {
          display: none; }
        .home .wrapper--projekte:not(.count-3) .claim-wrapper .afterbutton {
          display: block; } }
      @media screen and (min-width: 64em) {
        .home .wrapper--projekte.count-3 .afterbutton {
          margin-left: 24px; }
        .home .wrapper--projekte.count-3 .main-container.row-2 {
          -webkit-justify-content: flex-start;
              -ms-flex-pack: start;
                  justify-content: flex-start; } }
      @media screen and (min-width: 50em) {
        .home .wrapper--projekte .main-container {
          -ms-grid-columns: 1fr 25%;
              grid-template-columns: 1fr 25%; } }
      .home .wrapper--projekte .afterbutton {
        margin: 0; }
      .home .wrapper--projekte .main-container.row-2 {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; }
      .home .wrapper--projekte .main-container .button, .home .wrapper--projekte .main-container .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .home .wrapper--projekte .main-container input.button[type=submit],
      .home .wrapper--projekte .main-container .gform_wrapper .gform_button, .gform_wrapper .home .wrapper--projekte .main-container .gform_button {
        background-color: transparent; }
      .home .wrapper--projekte .claim-wrapper {
        text-align: center;
        width: 100%; }
        @media screen and (min-width: 64em) {
          .home .wrapper--projekte .claim-wrapper {
            text-align: left;
            padding-left: 8px; } }
      .home .wrapper--projekte .wrapper--innerprojekte {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        width: 100%;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        flex-direction: column; }
        @media print, screen and (min-width: 40em) {
          .home .wrapper--projekte .wrapper--innerprojekte {
            -webkit-flex-direction: row;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-justify-content: center;
                -ms-flex-pack: center;
                    justify-content: center; } }
        @media screen and (min-width: 64em) {
          .home .wrapper--projekte .wrapper--innerprojekte {
            -webkit-order: -1;
                -ms-flex-order: -1;
                    order: -1;
            -webkit-justify-content: flex-end;
                -ms-flex-pack: end;
                    justify-content: flex-end; } }
        .home .wrapper--projekte .wrapper--innerprojekte .card {
          margin: 8px;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-flex: 0 1 auto;
              -ms-flex: 0 1 auto;
                  flex: 0 1 auto;
          background-color: transparent; }
          @media screen and (max-width: 39.9375em) {
            .home .wrapper--projekte .wrapper--innerprojekte .card {
              margin-left: -16px;
              margin-right: -16px;
              margin-bottom: 24px; } }
          @media print, screen and (min-width: 40em) {
            .home .wrapper--projekte .wrapper--innerprojekte .card {
              width: calc( 50% - 16px); } }
          @media screen and (min-width: 50em) {
            .home .wrapper--projekte .wrapper--innerprojekte .card {
              width: calc( 33% - 16px); } }
        .home .wrapper--projekte .wrapper--innerprojekte figure {
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-flex-direction: column;
              -ms-flex-direction: column;
                  flex-direction: column; }
        .home .wrapper--projekte .wrapper--innerprojekte picture {
          text-align: center; }
          @media print, screen and (min-width: 40em) {
            .home .wrapper--projekte .wrapper--innerprojekte picture {
              max-width: none;
              margin: 0 15px 8px 15px; } }
          @media screen and (min-width: 50em) {
            .home .wrapper--projekte .wrapper--innerprojekte picture {
              margin: 0 30px 8px 30px; } }
        .home .wrapper--projekte .wrapper--innerprojekte img {
          margin: auto;
          max-width: 10.9375rem;
          width: 100%; }
          @media print, screen and (min-width: 40em) {
            .home .wrapper--projekte .wrapper--innerprojekte img {
              max-width: none; } }
        .home .wrapper--projekte .wrapper--innerprojekte figcaption {
          background-color: transparent;
          text-align: center;
          padding: 8px; }
    .home .wrapper--news {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      max-width: 100%;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
      @media screen and (max-width: 39.9375em) {
        .home .wrapper--news {
          -webkit-flex-wrap: wrap;
              -ms-flex-wrap: wrap;
                  flex-wrap: wrap; } }
      @media screen and (min-width: 64em) {
        .home .wrapper--news {
          margin-right: -8px;
          max-width: 75%; } }
      .home .wrapper--news .card {
        -webkit-flex-grow: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        margin: 8px;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-flex: 1 1 auto;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto; }
        @media screen and (max-width: 39.9375em) {
          .home .wrapper--news .card {
            position: relative;
            border-bottom: 1px solid #DFDFDF;
            margin: 0;
            margin-left: -16px;
            margin-right: -16px;
            box-shadow: none;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            width: calc( 100% + 32px);
            -webkit-flex-direction: row;
                -ms-flex-direction: row;
                    flex-direction: row;
            padding: 16px; }
            .home .wrapper--news .card h5, .home .wrapper--news .card span {
              transition: all 0.2s ease; }
            .home .wrapper--news .card .description {
              display: none; }
            .home .wrapper--news .card .news-kachel-image {
              position: static;
              width: 100%;
              max-width: 8.125rem; }
            .home .wrapper--news .card span:not(.news-meta) {
              display: none; }
            .home .wrapper--news .card .news-meta {
              left: auto;
              right: 0;
              bottom: 16px; }
            .home .wrapper--news .card:hover {
              background: #FFFFFF; }
              .home .wrapper--news .card:hover h5 {
                color: var(--main-color); }
              .home .wrapper--news .card:hover span {
                background: #FFFFFF;
                color: inherit; } }
        @media print, screen and (min-width: 40em) {
          .home .wrapper--news .card {
            width: calc( 50% - 16px); } }
        @media screen and (min-width: 50em) {
          .home .wrapper--news .card {
            width: calc( 33% - 16px); } }
    .home .wrapper--quicklinks .main-container {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .home .wrapper--quicklinks .main-container > div:first-of-type {
        width: 100%;
        text-align: center; }
      .home .wrapper--quicklinks .main-container > div {
        width: calc(100% - 16px);
        margin: 0 8px;
        text-align: center; }
        @media screen and (min-width: 50em) {
          .home .wrapper--quicklinks .main-container > div {
            text-align: left; } }
      @media screen and (min-width: 64em) {
        .home .wrapper--quicklinks .main-container > div {
          width: calc(75% - 16px); }
        .home .wrapper--quicklinks .main-container > div:first-of-type {
          width: calc(25% - 16px); }
        .home .wrapper--quicklinks .main-container > div:first-of-type {
          text-align: left; } }
    @media screen and (max-width: 39.9375em) {
      .home .wrapper--quicklinks .afterbutton {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; }
        .home .wrapper--quicklinks .afterbutton a {
          margin: 16px 0 0 0; } }
    @media screen and (max-width: 63.9375em) {
      .home .wrapper--quicklinks .afterbutton {
        margin: auto; } }
    .home .wrapper--quicklinks ul {
      list-style-type: none;
      -webkit-column-gap: 32px;
              column-gap: 32px;
      margin-left: 0;
      display: none; }
      @media screen and (min-width: 50em) {
        .home .wrapper--quicklinks ul {
          -webkit-column-count: 3;
                  column-count: 3;
          display: block; } }
      @media screen and (min-width: 64em) {
        .home .wrapper--quicklinks ul {
          -webkit-column-count: 4;
                  column-count: 4;
          margin-top: 32px; } }
      .home .wrapper--quicklinks ul li {
        line-height: 1.2;
        margin-bottom: 8px;
        text-align: left; }
      .home .wrapper--quicklinks ul a {
        font-size: 1.0625rem;
        color: #10516b;
        font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
        font-weight: normal;
        background: url("data:image/svg+xml,%3Csvg width='12' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.587 3.95L5.05 1.415 6.466 0l4.95 4.95L6.465 9.9 5.05 8.487 7.587 5.95 0 5.951v-2z' fill='#FFFFFF' fill-rule='evenodd'/>%3C/svg%3E") center left no-repeat;
        padding-left: 16px;
        transition: all 0.3s ease; }
        .home .wrapper--quicklinks ul a:hover {
          background: url("data:image/svg+xml,%3Csvg width='12' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.587 3.95L5.05 1.415 6.466 0l4.95 4.95L6.465 9.9 5.05 8.487 7.587 5.95 0 5.951v-2z' fill='#000000' fill-rule='evenodd'/>%3C/svg%3E") center left no-repeat;
          color: #313941; }
          .home .wrapper--quicklinks ul a:hover:before {
            opacity: 1; }
    .home .wrapper--quicklinks .button, .home .wrapper--quicklinks .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .home .wrapper--quicklinks input.button[type=submit],
    .home .wrapper--quicklinks .gform_wrapper .gform_button, .gform_wrapper .home .wrapper--quicklinks .gform_button {
      margin: 0 0 0 16px; }
    .home .wrapper--quicklinks .filter-buttons {
      display: inline-block;
      padding: 10.66667px 64px 10.66667px 32px;
      height: auto;
      width: auto;
      border-radius: 31.25rem;
      font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      border: none;
      font-size: 0.875rem;
      border: 2px solid #10516b;
      /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1e5799+0,1e5799+50,2989d8+50,207cca+100 */
      background: url("data:image/svg+xml,%3Csvg width='11' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.547 0L5.5 4.115 1.453 0 0 1.478l5.5 5.593L11 1.478 9.547 0' fill='%2310516b' fill-rule='evenodd'/>%3C/svg%3E") center right 16px no-repeat; }
      @media screen and (min-width: 50em) {
        .home .wrapper--quicklinks .filter-buttons {
          display: none; } }
    .home .wrapper--nuetzliches {
      text-align: center; }
      @media screen and (max-width: 39.9375em) {
        .home .wrapper--nuetzliches {
          padding-bottom: 0; } }
      .home .wrapper--nuetzliches .home_subtitle, .home .wrapper--nuetzliches .home_title {
        text-align: center;
        padding-left: 0; }
        .home .wrapper--nuetzliches .home_subtitle:after, .home .wrapper--nuetzliches .home_title:after {
          display: none; }
      @media print, screen and (min-width: 40em) {
        .home .wrapper--nuetzliches .kachel-meta h5 {
          font-size: 0.875rem; } }
      .home .wrapper--nuetzliches .main-container {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-flow: wrap row;
            -ms-flex-flow: wrap row;
                flex-flow: wrap row;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; }
        @media screen and (min-width: 64em) {
          .home .wrapper--nuetzliches .main-container {
            padding: 0; } }
        .home .wrapper--nuetzliches .main-container > a {
          width: calc( 100% - 16px);
          overflow: hidden; }
          @media print, screen and (min-width: 40em) {
            .home .wrapper--nuetzliches .main-container > a {
              margin: 8px; } }
          @media screen and (min-width: 50em) {
            .home .wrapper--nuetzliches .main-container > a {
              width: calc( 33% - 16px); } }
          @media screen and (min-width: 64em) {
            .home .wrapper--nuetzliches .main-container > a {
              width: calc( 25% - 16px); } }
    .home .wrapper--zweiteiler {
      padding-top: 0;
      overflow: hidden; }
      .home .wrapper--zweiteiler .main-container {
        padding: 0;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; }
        @media print, screen and (min-width: 40em) {
          .home .wrapper--zweiteiler .main-container {
            -webkit-flex-direction: row;
                -ms-flex-direction: row;
                    flex-direction: row; } }
        .home .wrapper--zweiteiler .main-container .button, .home .wrapper--zweiteiler .main-container .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .home .wrapper--zweiteiler .main-container input.button[type=submit],
        .home .wrapper--zweiteiler .main-container .gform_wrapper .gform_button, .gform_wrapper .home .wrapper--zweiteiler .main-container .gform_button {
          margin-top: auto;
          margin-bottom: 0; }
        .home .wrapper--zweiteiler .main-container > div {
          color: #FFFFFF;
          position: relative;
          padding: 32px;
          /*&:last-of-type {
                    background: $secondary-color;
                    background-position: center left;
                    background-repeat: no-repeat;
                    padding-left: $grid-medium*15;
                    display: flex;
                    flex-direction: column;
                    &:before {
                        left: 100%;
                        background: $secondary-color;
                    }
                    strong {color: $white;}
                    .button {
                        margin-top: auto;
                        background: $primary-color;
                        align-self: baseline;
                        &:hover {
                            background: $white;
                            color: $secondary-color;
                        }
                    }
                }*/ }
          @media print, screen and (min-width: 40em) {
            .home .wrapper--zweiteiler .main-container > div {
              width: 50%; } }
          @media screen and (min-width: 50em) {
            .home .wrapper--zweiteiler .main-container > div {
              padding: 48px 64px 48px 16px; } }
          @media screen and (max-width: 49.9375em) {
            .home .wrapper--zweiteiler .main-container > div {
              -webkit-flex-direction: column;
                  -ms-flex-direction: column;
                      flex-direction: column; }
              .home .wrapper--zweiteiler .main-container > div > * {
                margin: auto;
                -webkit-justify-content: center;
                    -ms-flex-pack: center;
                        justify-content: center;
                text-align: center; } }
          .home .wrapper--zweiteiler .main-container > div:before {
            position: absolute;
            top: 0;
            bottom: 0;
            width: 100%;
            content: ''; }
          .home .wrapper--zweiteiler .main-container > div .image {
            width: 50%;
            max-width: 9.375rem; }
            @media screen and (max-width: 49.9375em) {
              .home .wrapper--zweiteiler .main-container > div .image {
                margin-bottom: 16px; } }
            @media screen and (min-width: 50em) {
              .home .wrapper--zweiteiler .main-container > div .image {
                margin-right: 48px;
                width: 35%; } }
            .home .wrapper--zweiteiler .main-container > div .image img {
              box-shadow: 0.1875rem 0.1875rem 0.25rem 0 rgba(0, 0, 0, 0.25); }
          .home .wrapper--zweiteiler .main-container > div strong {
            display: block;
            margin: 16px 0; }
          .home .wrapper--zweiteiler .main-container > div p {
            font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
            font-weight: normal; }
          .home .wrapper--zweiteiler .main-container > div .more {
            -webkit-align-self: flex-end;
                -ms-flex-item-align: end;
                    align-self: flex-end;
            color: #FFFFFF;
            font-size: 0.875rem;
            font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
            font-weight: normal; }
            @media screen and (max-width: 49.9375em) {
              .home .wrapper--zweiteiler .main-container > div .more {
                display: block;
                margin-top: 16px; } }
            @media print, screen and (min-width: 40em) {
              .home .wrapper--zweiteiler .main-container > div .more {
                margin-left: 32px; } }
            .home .wrapper--zweiteiler .main-container > div .more:hover {
              color: #FFFFFF; }
          .home .wrapper--zweiteiler .main-container > div:first-of-type {
            background: #313941;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            width: 100%;
            -webkit-justify-content: center;
                -ms-flex-pack: center;
                    justify-content: center; }
            .home .wrapper--zweiteiler .main-container > div:first-of-type:before {
              right: 100%;
              background: #313941; }
            .home .wrapper--zweiteiler .main-container > div:first-of-type:after {
              position: absolute;
              top: 0;
              bottom: 0;
              width: 100%;
              left: 100%;
              content: '';
              background: #313941; }
    @media print, screen and (min-width: 40em) {
      .home .wrapper--zugezogene {
        padding-top: 0; } }
    .home .wrapper--zugezogene .main-container {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
      @media screen and (min-width: 64em) {
        .home .wrapper--zugezogene .main-container {
          -webkit-flex-direction: row;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      .home .wrapper--zugezogene .main-container > div:first-of-type {
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        width: 100%; }
        @media screen and (min-width: 64em) {
          .home .wrapper--zugezogene .main-container > div:first-of-type {
            -webkit-order: 1;
                -ms-flex-order: 1;
                    order: 1;
            width: 70%;
            margin-right: 5%; } }
        @media screen and (max-width: 63.9375em) {
          .home .wrapper--zugezogene .main-container > div:first-of-type {
            margin-top: 32px; } }
      .home .wrapper--zugezogene .main-container > div:last-of-type {
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1;
        width: 100%; }
        @media screen and (min-width: 64em) {
          .home .wrapper--zugezogene .main-container > div:last-of-type {
            -webkit-order: 2;
                -ms-flex-order: 2;
                    order: 2;
            width: 25%; } }
      @media screen and (max-width: 63.9375em) {
        .home .wrapper--zugezogene .main-container .innercontent {
          text-align: center; } }
      .home .wrapper--zugezogene .main-container .button, .home .wrapper--zugezogene .main-container .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .home .wrapper--zugezogene .main-container input.button[type=submit],
      .home .wrapper--zugezogene .main-container .gform_wrapper .gform_button, .gform_wrapper .home .wrapper--zugezogene .main-container .gform_button {
        margin: 0; }
      .home .wrapper--zugezogene .main-container .home_description {
        margin-bottom: 32px; }
      .home .wrapper--zugezogene .main-container iframe {
        border: none;
        width: 100%; }
      .home .wrapper--zugezogene .main-container #play {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 10;
        cursor: pointer;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        opacity: 1;
        transition: opacity 0.3s ease;
        background-size: cover;
        background-attachment: scroll; }
        .home .wrapper--zugezogene .main-container #play img {
          object-fit: cover;
          height: 100%;
          width: 100%; }
        .home .wrapper--zugezogene .main-container #play svg {
          position: absolute;
          left: 50%;
          top: 50%;
          -webkit-transform: translate(-50%, -50%);
              -ms-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%);
          width: 6.375rem;
          z-index: 2; }
          .home .wrapper--zugezogene .main-container #play svg ellipse {
            transition: all 0.4s ease;
            fill: #10516b; }
          .home .wrapper--zugezogene .main-container #play svg path {
            transition: all 0.4s ease;
            fill: #FFFFFF; }
        .home .wrapper--zugezogene .main-container #play:hover svg ellipse {
          fill: #FFFFFF; }
        .home .wrapper--zugezogene .main-container #play:hover svg path {
          fill: #10516b; }
        .home .wrapper--zugezogene .main-container #play.is-playing {
          opacity: 0;
          display: none; }
      .home .wrapper--zugezogene .main-container .embed-container:before {
        position: absolute;
        top: 1.25rem;
        left: 1.25rem;
        bottom: 1.25rem;
        right: 1.25rem;
        content: '';
        box-shadow: 25px 25px 30px 0 rgba(0, 0, 0, 0.25); }
      .home .wrapper--zugezogene .main-container #video-language {
        margin-top: 16px;
        text-align: center; }
        .home .wrapper--zugezogene .main-container #video-language a {
          padding: 16px;
          display: inline-block;
          font-size: 0.875rem;
          margin: 4px;
          line-height: 0; }
    .home .wrapper--partner {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover;
      position: relative;
      text-align: center;
      padding-left: 8px;
      padding-right: 8px;
      /*
        &:after {
            position: absolute;
            top: 0;
            bottom: 0;
            right: 0;
            left: 0;
            content: '';
            background: rgba($primary-color,0.9);
            z-index: 1;
        }*/ }
      @media screen and (max-width: 39.9375em) {
        .home .wrapper--partner {
          padding-top: 48px;
          padding-bottom: 48px; } }
      .home .wrapper--partner * {
        position: relative;
        z-index: 2; }
      .home .wrapper--partner h2 {
        font-size: 1.6875rem;
        line-height: 1.2; }
        .home .wrapper--partner h2 br {
          display: none; }
        @media print, screen and (min-width: 40em) {
          .home .wrapper--partner h2 {
            font-size: 2.1875rem; } }
        @media screen and (min-width: 50em) {
          .home .wrapper--partner h2 {
            font-size: 2.9375rem; }
            .home .wrapper--partner h2 br {
              display: inline; } }
      @media print, screen and (min-width: 40em) {
        .home .wrapper--partner p {
          max-width: 21.875rem;
          margin: auto; } }
      .home .wrapper--partner .button, .home .wrapper--partner .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .home .wrapper--partner input.button[type=submit],
      .home .wrapper--partner .gform_wrapper .gform_button, .gform_wrapper .home .wrapper--partner .gform_button {
        margin: 12px auto 0 auto;
        background-color: transparent; }
        @media print, screen and (min-width: 40em) {
          .home .wrapper--partner .button, .home .wrapper--partner .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .home .wrapper--partner input.button[type=submit],
          .home .wrapper--partner .gform_wrapper .gform_button, .gform_wrapper .home .wrapper--partner .gform_button {
            margin-top: 24px; } }
      .home .wrapper--partner .home_title {
        margin-bottom: 16px; }
      .home .wrapper--partner .home_subtitle {
        padding-left: 0;
        margin-bottom: 16px; }
        .home .wrapper--partner .home_subtitle:after {
          display: none; }
    @media screen and (min-width: 64em) {
      .home .wrapper--galerien {
        padding: 0; } }
    .home .wrapper--galerien .main-container {
      max-width: 90rem;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      .home .wrapper--galerien .main-container .kachel-image {
        position: relative; }
      .home .wrapper--galerien .main-container > div:first-of-type {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-top: auto;
        text-align: right;
        padding: 0 32px 32px 32px; }
        .home .wrapper--galerien .main-container > div:first-of-type h2 {
          line-height: 1.1;
          margin-bottom: 16px;
          font-size: 3rem; }
        .home .wrapper--galerien .main-container > div:first-of-type .button,
        .home .wrapper--galerien .main-container > div:first-of-type .gform_wrapper .gform_button, .gform_wrapper .home .wrapper--galerien .main-container > div:first-of-type .gform_button {
          margin-bottom: 0; }
        @media screen and (max-width: 63.9375em) {
          .home .wrapper--galerien .main-container > div:first-of-type {
            width: 100%;
            text-align: center; } }
      .home .wrapper--galerien .main-container > .card {
        width: 50%; }
        @media screen and (min-width: 64em) {
          .home .wrapper--galerien .main-container > .card {
            width: 33%; } }
        @media screen and (min-width: 90em) {
          .home .wrapper--galerien .main-container > .card {
            width: 25%; } }

.flexible-iframe-wrapper iframe {
  border: none; }

.flexible-links-wrapper ul:not(.button-group) {
  list-style-type: none;
  margin-left: 0; }
  .flexible-links-wrapper ul:not(.button-group) li {
    padding: 0.3125rem 0; }
  .flexible-links-wrapper ul:not(.button-group) a {
    font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal;
    color: var(--main-color);
    margin-left: 0.625rem; }
    .flexible-links-wrapper ul:not(.button-group) a:hover {
      color: #313941; }

.flexible-links-wrapper .button-group {
  list-style-type: none;
  margin: 0;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  @media screen and (max-width: 39.9375em) {
    .flexible-links-wrapper .button-group {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .flexible-links-wrapper .button-group > * {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
  .flexible-links-wrapper .button-group li {
    padding: 0.3125rem; }
  .flexible-links-wrapper .button-group a {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    height: 100%;
    padding: 0.625rem 0.9375rem;
    line-height: 1.2; }

.results-item p,
.flexible-editor-wrapper p {
  font-family: 'open_sansregular'; }

.results-item a,
.flexible-editor-wrapper a {
  position: relative;
  display: inline-block;
  font-family: 'open_sansbold';
  color: var(--main-color);
  transition: color 0.2s ease; }
  .results-item a:hover,
  .flexible-editor-wrapper a:hover {
    color: #313941; }

.results-item h4, .results-item h5, .results-item h6, .archiv-view .results-item .entry-title,
.flexible-editor-wrapper h4,
.flexible-editor-wrapper h5,
.flexible-editor-wrapper h6,
.flexible-editor-wrapper .archiv-view .results-item .entry-title,
.archiv-view .results-item .flexible-editor-wrapper .entry-title {
  margin-bottom: 16px; }

.results-item h4,
.flexible-editor-wrapper h4 {
  font-family: 'poppinsblack', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal; }

.results-item h1, .results-item #contact-overlay .contact_title, #contact-overlay .results-item .contact_title, .results-item #contact-overlay .large_tel, #contact-overlay .results-item .large_tel, .results-item #contact-overlay .large_email, #contact-overlay .results-item .large_email, .results-item #contact-overlay .large_address, #contact-overlay .results-item .large_address,
.flexible-editor-wrapper h1,
.flexible-editor-wrapper #contact-overlay .contact_title,
#contact-overlay .flexible-editor-wrapper .contact_title,
.flexible-editor-wrapper #contact-overlay .large_tel,
#contact-overlay .flexible-editor-wrapper .large_tel,
.flexible-editor-wrapper #contact-overlay .large_email,
#contact-overlay .flexible-editor-wrapper .large_email,
.flexible-editor-wrapper #contact-overlay .large_address,
#contact-overlay .flexible-editor-wrapper .large_address {
  line-height: 1.2; }

.results-item h2, .results-item h3, .results-item .char-wrapper:before, .results-item h5,
.flexible-editor-wrapper h2,
.flexible-editor-wrapper h3,
.flexible-editor-wrapper .char-wrapper:before,
.flexible-editor-wrapper h5 {
  line-height: 1.3; }

.results-item h4, .results-item h6, .archiv-view .results-item .entry-title,
.flexible-editor-wrapper h4,
.flexible-editor-wrapper h6,
.flexible-editor-wrapper .archiv-view .results-item .entry-title,
.archiv-view .results-item .flexible-editor-wrapper .entry-title {
  line-height: 1.4; }

@media print, screen and (min-width: 40em) {
  .results-item h4,
  .flexible-editor-wrapper h4 {
    line-height: 1.3; } }

.flexible-fullwidth-wrapper .caption {
  font-size: 0.875rem;
  text-align: left;
  display: block;
  padding: 0.625rem 1.25rem;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .flexible-fullwidth-wrapper .caption {
      margin-left: 5.625rem;
      margin-top: -16px; } }

.flexible-fullwidth-wrapper img {
  max-width: 100%;
  width: auto; }

.flexible-downloads-wrapper ul {
  list-style-type: none;
  margin: 0; }
  .flexible-downloads-wrapper ul li {
    border-top: 1px solid #DFDFDF;
    padding: 0.6875rem 0; }
    .flexible-downloads-wrapper ul li:last-child {
      border-bottom: 1px solid #DFDFDF; }

.flexible-downloads-wrapper a {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-weight: 600;
  line-height: 1.4; }
  .flexible-downloads-wrapper a:hover {
    color: var(--main-color); }

.flexible-downloads-wrapper .innermeta {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flexible-downloads-wrapper .description {
  color: rgba(49, 57, 65, 0.6);
  font-size: 0.875rem;
  font-weight: 400;
  margin-top: 0.4375rem; }

.flexible-downloads-wrapper .file-icon {
  -webkit-flex: 0 0 2.1875rem;
      -ms-flex: 0 0 2.1875rem;
          flex: 0 0 2.1875rem;
  color: var(--main-color);
  padding-top: 0.1875rem; }

.flexible-downloads-wrapper .download-cats {
  margin: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-weight: 400;
  font-size: 0.75rem;
  color: #313941; }
  @media screen and (max-width: 39.9375em) {
    .flexible-downloads-wrapper .download-cats {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .flexible-downloads-wrapper .download-cats strong {
    font-weight: 600;
    margin-right: 0.625rem; }
  .flexible-downloads-wrapper .download-cats span {
    margin: 0 0.3125rem; }

.flexible-halfwidth-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .flexible-halfwidth-wrapper > * {
    width: 49%;
    text-align: center;
    position: relative; }

.flexible-thirdwidth-wrapper {
  text-align: center; }
  .flexible-thirdwidth-wrapper .flexible-thirdwidth-img {
    max-width: 34.375rem; }
  .flexible-thirdwidth-wrapper .caption {
    font-size: 0.875rem;
    text-align: left;
    display: block;
    padding: 0.625rem 1.25rem;
    position: relative; }
    @media print, screen and (min-width: 40em) {
      .flexible-thirdwidth-wrapper .caption {
        margin-left: 5.625rem;
        margin-top: -16px; } }

.flexible-ansprechpartner-wrapper .flexible-ansprechpartner-item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  .flexible-ansprechpartner-wrapper .flexible-ansprechpartner-item:not(:last-of-type) {
    margin-bottom: 16px; }

.flexible-ansprechpartner-wrapper img {
  margin: 0; }
  @media print, screen and (min-width: 40em) {
    .flexible-ansprechpartner-wrapper img {
      margin-right: 1.25rem; } }

.ap-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  .ap-wrapper > * {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 0.875rem;
    border-top: 1px solid #DFDFDF;
    border: 1px solid #DFDFDF;
    padding-top: 0;
    margin-bottom: 16px;
    border-bottom: 1px solid #DFDFDF; }
    @media print, screen and (min-width: 40em) {
      .ap-wrapper > * {
        font-size: 0.9375rem; } }
    @media screen and (max-width: 39.9375em) {
      .ap-wrapper > * {
        border-left: 0;
        border-right: 0; } }
  .ap-wrapper h6, .ap-wrapper .archiv-view .results-item .entry-title, .archiv-view .results-item .ap-wrapper .entry-title {
    margin: 0; }
    @media screen and (max-width: 39.9375em) {
      .ap-wrapper h6, .ap-wrapper .archiv-view .results-item .entry-title, .archiv-view .results-item .ap-wrapper .entry-title {
        font-size: 1rem; } }
  .ap-wrapper a {
    color: var(--main-color);
    font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal; }
    .ap-wrapper a:hover {
      color: #313941; }
  .ap-wrapper .ap-meta {
    padding: 1.4375rem; }
  .ap-wrapper .ap-funktion {
    font-weight: 600;
    color: rgba(49, 57, 65, 0.6); }
  .ap-wrapper .ap-contact {
    margin-top: 0.9375rem; }
  .ap-wrapper .is-ansprechpartner {
    margin-bottom: 16px; }
    @media print, screen and (min-width: 40em) {
      .ap-wrapper .is-ansprechpartner {
        margin-bottom: 16px; } }
    .ap-wrapper .is-ansprechpartner .ap-thumb {
      -webkit-flex: 0 0 7.5rem;
          -ms-flex: 0 0 7.5rem;
              flex: 0 0 7.5rem; }
  @media screen and (max-width: 39.9375em) {
    .ap-wrapper .is-institutionen {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      text-align: center; }
      .ap-wrapper .is-institutionen h6, .ap-wrapper .is-institutionen .archiv-view .results-item .entry-title, .archiv-view .results-item .ap-wrapper .is-institutionen .entry-title {
        margin-bottom: 8px; } }
  .ap-wrapper .is-institutionen:not(:first-of-type) {
    border-top: 0; }
  .ap-wrapper .is-institutionen .ap-thumb {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-width: 11.25rem;
    width: 100%;
    margin-left: auto;
    padding-top: 1.4375rem; }
    @media print, screen and (min-width: 40em) {
      .ap-wrapper .is-institutionen .ap-thumb {
        width: auto;
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        padding-right: 1.4375rem;
        padding-top: 0; } }
  .ap-wrapper .is-institutionen .ap-webmail {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 39.9375em) {
      .ap-wrapper .is-institutionen .ap-webmail {
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin-top: 8px; }
        .ap-wrapper .is-institutionen .ap-webmail a {
          padding: 0 0.625rem; } }
    @media print, screen and (min-width: 40em) {
      .ap-wrapper .is-institutionen .ap-webmail > * {
        margin-right: 1.25rem; } }

.flexible-childpages-wrapper .card-wrapper {
  grid-auto-rows: 1fr;
  -ms-grid-columns: (1fr)[1];
      grid-template-columns: repeat(1, 1fr);
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (max-width: 39.9375em) {
    .flexible-childpages-wrapper .card-wrapper {
      grid-gap: 0.0625rem; } }
  @media print, screen and (min-width: 40em) {
    .flexible-childpages-wrapper .card-wrapper {
      -ms-grid-columns: (1fr)[2];
          grid-template-columns: repeat(2, 1fr); } }

.flexible-childpages-wrapper a {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 3.625rem;
  height: 100%;
  background: rgba(181, 180, 168, 0.1);
  color: #313941; }
  .flexible-childpages-wrapper a > * {
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%; }
  .flexible-childpages-wrapper a:hover h6, .flexible-childpages-wrapper a:hover .archiv-view .results-item .entry-title, .archiv-view .results-item .flexible-childpages-wrapper a:hover .entry-title {
    margin-left: 10px; }
  .flexible-childpages-wrapper a:hover span {
    background: var(--main-color);
    color: #FFFFFF; }

.flexible-childpages-wrapper .kachel-no-image > * {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.flexible-childpages-wrapper .kachel-no-image h6, .flexible-childpages-wrapper .kachel-no-image .archiv-view .results-item .entry-title, .archiv-view .results-item .flexible-childpages-wrapper .kachel-no-image .entry-title {
  padding: 0.3125rem 1.25rem;
  margin-bottom: 0;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  transition: all 0.4s ease;
  font-size: 1.0625rem;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
      hyphens: auto; }
  @media screen and (max-width: 39.9375em) {
    .flexible-childpages-wrapper .kachel-no-image h6, .flexible-childpages-wrapper .kachel-no-image .archiv-view .results-item .entry-title, .archiv-view .results-item .flexible-childpages-wrapper .kachel-no-image .entry-title {
      font-size: 1rem; } }
  @media print, screen and (min-width: 40em) {
    .flexible-childpages-wrapper .kachel-no-image h6, .flexible-childpages-wrapper .kachel-no-image .archiv-view .results-item .entry-title, .archiv-view .results-item .flexible-childpages-wrapper .kachel-no-image .entry-title {
      padding: 0.3125rem 1.875rem; } }

.flexible-childpages-wrapper .kachel-no-image span {
  color: var(--main-color);
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: rgba(181, 180, 168, 0.1);
  width: 3.625rem;
  height: 3.625rem;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  transition: background-color 0.2s ease; }

.flexible-infobox-wrapper {
  border: 1px solid #DFDFDF; }
  .flexible-infobox-wrapper header, .flexible-infobox-wrapper header > * {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .flexible-infobox-wrapper i {
    width: 2rem;
    background: var(--main-color);
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    font-style: normal;
    color: #FFFFFF;
    font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal; }
  .flexible-infobox-wrapper h5 {
    width: 100%;
    background: #313941;
    color: #FFFFFF;
    font-size: 1rem;
    padding: 0.375rem 0.9375rem;
    margin: 0; }
    @media print, screen and (min-width: 40em) {
      .flexible-infobox-wrapper h5 {
        font-size: 1.0625rem; } }
  .flexible-infobox-wrapper div {
    font-family: 'open_sansregular';
    padding: 16px;
    font-size: 0.875rem; }
    @media print, screen and (min-width: 40em) {
      .flexible-infobox-wrapper div {
        padding: 32px; } }
  .flexible-infobox-wrapper a {
    font-family: 'open_sansbold';
    color: var(--main-color);
    transition: color 0.2s ease; }
    .flexible-infobox-wrapper a:hover {
      color: #313941; }

.flexible-txtimg-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  .flexible-txtimg-wrapper > * {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-bottom: 16px; }
    @media print, screen and (min-width: 40em) {
      .flexible-txtimg-wrapper > * {
        margin-bottom: 16px;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row; } }
  .flexible-txtimg-wrapper a h4 {
    transition: color 0.2s ease; }
  .flexible-txtimg-wrapper a article {
    color: #313941; }
  .flexible-txtimg-wrapper a:hover h4 {
    color: #313941; }
  .flexible-txtimg-wrapper a:hover span {
    background-color: #313941; }
  .flexible-txtimg-wrapper .img-outer-wrapper {
    text-align: center; }
  .flexible-txtimg-wrapper .img-inner-wrapper {
    min-width: 14.375rem;
    position: relative;
    padding-top: 0.5rem; }
    .flexible-txtimg-wrapper .img-inner-wrapper.smaller {
      min-width: 7.8125rem; }
  .flexible-txtimg-wrapper .inner-wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 16px;
    font-size: 0.875rem;
    font-family: 'open_sansregular'; }
    .flexible-txtimg-wrapper .inner-wrapper.center {
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
    @media print, screen and (min-width: 40em) {
      .flexible-txtimg-wrapper .inner-wrapper {
        padding-left: 48px;
        margin-top: 0; } }
    .flexible-txtimg-wrapper .inner-wrapper h4 {
      color: var(--main-color); }
    .flexible-txtimg-wrapper .inner-wrapper .button, .flexible-txtimg-wrapper .inner-wrapper .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .flexible-txtimg-wrapper .inner-wrapper input.button[type=submit],
    .flexible-txtimg-wrapper .inner-wrapper .gform_wrapper .gform_button, .gform_wrapper .flexible-txtimg-wrapper .inner-wrapper .gform_button {
      font-family: "poppinsmedium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
      margin-top: 16px;
      margin-left: auto;
      margin-bottom: 0;
      text-transform: uppercase; }

.gform_wrapper {
  background: rgba(49, 57, 65, 0.05);
  padding: 16px; }
  @media print, screen and (min-width: 40em) {
    .gform_wrapper {
      padding: 32px; } }
  .gform_wrapper h3.gform_title, .gform_wrapper .gform_title.char-wrapper:before {
    color: var(--main-color); }
  .gform_wrapper input, .gform_wrapper textarea {
    background: #FFFFFF;
    border: 1px solid #313941;
    border-radius: 0;
    transition: all 0.5s ease; }
    .gform_wrapper input:focus, .gform_wrapper textarea:focus {
      background: rgba(255, 255, 255, 0.7);
      border: 1px solid var(--main-color); }
  .gform_wrapper ul.left_label input.medium {
    width: 100%; }
  .gform_wrapper .gform_body ul li.gfield {
    margin-top: 0; }
  .gform_wrapper .gform_footer input.button[type=submit],
  .gform_wrapper .gform_footer input.gform_button[type=submit],
  .gform_wrapper .gform_button {
    width: auto;
    margin: auto; }
    .gform_wrapper .gform_footer input.button[type=submit]:hover,
    .gform_wrapper .gform_footer input.gform_button[type=submit]:hover,
    .gform_wrapper .gform_button:hover {
      background-color: #FFFFFF;
      color: var(--main-color); }
  .gform_wrapper .gform_footer {
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .gform_wrapper .gform_footer {
        text-align: right; } }

.flexible-form-wrapper .gform_wrapper div.validation_error {
  color: #cc4b37;
  border-top: 2px solid #cc4b37;
  border-bottom: 2px solid #cc4b37; }

.flexible-form-wrapper .gform_wrapper li.gfield.gfield_error {
  border-top: 1px solid #cc4b37;
  border-bottom: 1px solid #cc4b37;
  background: transparent; }
  .flexible-form-wrapper .gform_wrapper li.gfield.gfield_error .gfield_label, .flexible-form-wrapper .gform_wrapper li.gfield.gfield_error .gfield_description {
    color: #cc4b37; }
  .flexible-form-wrapper .gform_wrapper li.gfield.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']),
  .flexible-form-wrapper .gform_wrapper li.gfield.gfield_error textarea {
    border: 1px solid #cc4b37; }

.flexible-form-wrapper .gform_confirmation_message {
  padding: 16px;
  background: #6EB533;
  color: #FFFFFF;
  font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal; }

.flexible-tax-downloads-wrapper .cell.result-wrapper {
  width: calc(93.75% - 2rem);
  margin-right: 1rem;
  margin-left: 1rem; }
  @media print, screen and (min-width: 40em) {
    .flexible-tax-downloads-wrapper .cell.result-wrapper {
      margin-left: 0; } }

.flexible-tax-downloads-wrapper .filter-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 1.25rem 0; }
  @media screen and (max-width: 39.9375em) {
    .flexible-tax-downloads-wrapper .filter-wrapper {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .flexible-tax-downloads-wrapper .filter-wrapper > * {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (max-width: 39.9375em) {
      .flexible-tax-downloads-wrapper .filter-wrapper > * {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }

@media print, screen and (min-width: 40em) {
  .flexible-tax-downloads-wrapper .filter-typ-wrapper {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; } }

@media screen and (max-width: 39.9375em) {
  .flexible-tax-downloads-wrapper .filter-typ-wrapper label {
    margin-bottom: 8px; } }

.flexible-tax-downloads-wrapper .filter-search-wrapper {
  max-width: 10.9375rem; }
  @media screen and (max-width: 39.9375em) {
    .flexible-tax-downloads-wrapper .filter-search-wrapper {
      margin-top: 16px; } }

.flexible-tax-downloads-wrapper input[type='text'] {
  display: inline-block;
  border-radius: 125rem;
  box-shadow: none;
  background: #FFFFFF;
  height: 1.875rem;
  border: 1px solid #DFDFDF;
  padding: 0.1875rem 0.625rem 0.1875rem 1.875rem;
  font-size: 0.875rem;
  background: url("data:image/svg+xml,%3Csvg width='12' height='12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.733 10.428L9.26 7.955c.596-.861.894-1.82.894-2.878 0-.687-.133-1.345-.4-1.972a5.074 5.074 0 0 0-1.082-1.623A5.075 5.075 0 0 0 7.049.4 4.99 4.99 0 0 0 5.077 0C4.39 0 3.732.133 3.105.4a5.075 5.075 0 0 0-1.623 1.082A5.076 5.076 0 0 0 .4 3.105 4.989 4.989 0 0 0 0 5.077c0 .688.133 1.345.4 1.972a5.074 5.074 0 0 0 1.082 1.623c.454.454.995.815 1.623 1.082a4.99 4.99 0 0 0 1.972.4 4.94 4.94 0 0 0 2.877-.894l2.474 2.466c.173.183.39.274.649.274.25 0 .466-.091.649-.274a.887.887 0 0 0 .274-.649.883.883 0 0 0-.267-.649zM7.12 7.119A2.889 2.889 0 0 1 5 8a2.89 2.89 0 0 1-2.118-.88A2.889 2.889 0 0 1 2 5c0-.826.294-1.532.88-2.12A2.889 2.889 0 0 1 5 2a2.89 2.89 0 0 1 2.12.88C7.705 3.469 8 4.175 8 5a2.89 2.89 0 0 1-.88 2.12z' fill='%23999999' fill-rule='nonzero'/%3E%3C/svg%3E") left 10px center no-repeat; }
  .flexible-tax-downloads-wrapper input[type='text']:focus {
    border: 1px solid var(--main-color); }
  @media print, screen and (min-width: 40em) {
    .flexible-tax-downloads-wrapper input[type='text'] {
      padding: 0 0.625rem 0 1.875rem; } }

.flexible-tax-downloads-wrapper select {
  line-height: 1;
  height: 2.1875rem;
  -webkit-appearance: none;
          appearance: none;
  border: none;
  border-radius: 6.25rem;
  color: #FFFFFF;
  background: var(--main-color) url("data:image/svg+xml,%3Csvg width='11' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.547 0L5.5 4.115 1.453 0 0 1.478l5.5 5.593L11 1.478 9.547 0' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E") right 10px center no-repeat;
  margin-bottom: 0;
  width: auto;
  font-size: 0.75rem;
  font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal; }

.flexible-tax-downloads-wrapper label {
  color: rgba(49, 57, 65, 0.6);
  font-size: 0.875rem;
  font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal;
  margin-right: 0.625rem; }

.downloads-table {
  border-top: 1px solid #DFDFDF;
  border-bottom: 1px solid #DFDFDF; }
  @media print, screen and (min-width: 40em) {
    .downloads-table {
      border: 1px solid #DFDFDF; } }
  .downloads-table h3, .downloads-table .char-wrapper:before {
    margin: 0; }
    @media screen and (max-width: 39.9375em) {
      .downloads-table h3, .downloads-table .char-wrapper:before {
        padding: 4px; } }
  .downloads-table a {
    font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal;
    font-size: 0.875rem;
    padding: 0.5625rem 0;
    line-height: 1.3;
    transition: all 0.2s ease;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .downloads-table a:nth-child(odd) {
      background: rgba(223, 223, 223, 0.2); }
    .downloads-table a:hover {
      background: var(--main-color); }
      .downloads-table a:hover, .downloads-table a:hover .col-title, .downloads-table a:hover .desc {
        color: #FFFFFF; }
    .downloads-table a > * {
      padding: 0 1.25rem; }
    .downloads-table a .col-title {
      color: var(--main-color); }
    .downloads-table a .col-cat {
      font-size: 0.8125rem;
      font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      color: #313941; }
      @media screen and (max-width: 39.9375em) {
        .downloads-table a .col-cat {
          margin-top: 0.3125rem;
          text-align: right; } }
    .downloads-table a .desc {
      margin-top: 0.625rem;
      color: rgba(49, 57, 65, 0.7);
      font-size: 0.875rem;
      font-family: 'poppinsregular', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal; }

.downloads-header {
  margin-bottom: 8px; }

.flexible-content.downloads-wrapper a:hover {
  border-radius: 0.1875rem; }
  .flexible-content.downloads-wrapper a:hover .grid-x {
    background: #10516b; }

body .flexible-content.flexible-galerie-wrapper {
  margin-bottom: 0; }
  body .flexible-content.flexible-galerie-wrapper ul {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0;
    list-style-type: none; }
    @media print, screen and (min-width: 40em) {
      body .flexible-content.flexible-galerie-wrapper ul {
        margin-left: -8px;
        margin-right: -8px; } }
  body .flexible-content.flexible-galerie-wrapper li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%; }
    body .flexible-content.flexible-galerie-wrapper li:not(:last-child) {
      margin-bottom: 16px; }
    @media print, screen and (min-width: 40em) {
      body .flexible-content.flexible-galerie-wrapper li {
        width: 50%;
        padding: 8px; }
        body .flexible-content.flexible-galerie-wrapper li:not(:last-child) {
          margin-bottom: 0; } }
    @media screen and (min-width: 50em) {
      body .flexible-content.flexible-galerie-wrapper li {
        width: 33.33%; } }
    body .flexible-content.flexible-galerie-wrapper li.grow {
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      width: 100%; }
  body .flexible-content.flexible-galerie-wrapper img {
    display: block; }
  body .flexible-content.flexible-galerie-wrapper a:hover figcaption {
    opacity: 1; }

.flexible-zwischentitel-wrapper h4, .flexible-zwischentitel-wrapper h5, .flexible-zwischentitel-wrapper h6, .flexible-zwischentitel-wrapper .archiv-view .results-item .entry-title, .archiv-view .results-item .flexible-zwischentitel-wrapper .entry-title {
  margin-bottom: 16px; }

.flexible-zwischentitel-wrapper h4 {
  font-family: 'poppinsblack', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal; }

.flexible-zwischentitel-wrapper h1, .flexible-zwischentitel-wrapper #contact-overlay .contact_title, #contact-overlay .flexible-zwischentitel-wrapper .contact_title, .flexible-zwischentitel-wrapper #contact-overlay .large_tel, #contact-overlay .flexible-zwischentitel-wrapper .large_tel, .flexible-zwischentitel-wrapper #contact-overlay .large_email, #contact-overlay .flexible-zwischentitel-wrapper .large_email, .flexible-zwischentitel-wrapper #contact-overlay .large_address, #contact-overlay .flexible-zwischentitel-wrapper .large_address {
  line-height: 1.2; }

.flexible-zwischentitel-wrapper h2, .flexible-zwischentitel-wrapper h3, .flexible-zwischentitel-wrapper .char-wrapper:before, .flexible-zwischentitel-wrapper h5 {
  line-height: 1.3; }

.flexible-zwischentitel-wrapper h4, .flexible-zwischentitel-wrapper h6, .flexible-zwischentitel-wrapper .archiv-view .results-item .entry-title, .archiv-view .results-item .flexible-zwischentitel-wrapper .entry-title {
  line-height: 1.4; }

@media print, screen and (min-width: 40em) {
  .flexible-zwischentitel-wrapper h4 {
    line-height: 1.3; } }

.spacer {
  height: 1px; }
  .spacer.small-none {
    margin-bottom: 0; }
  .spacer.small-half {
    margin-bottom: 16px; }
  .spacer.small-normal {
    margin-bottom: 32px; }
  .spacer.small-double {
    margin-bottom: 64px; }
  .spacer.small-triple {
    margin-bottom: 96px; }
  .spacer.small-quad {
    margin-bottom: 128px; }
  @media print, screen and (min-width: 40em) {
    .spacer.medium-none {
      margin-bottom: 0; }
    .spacer.medium-half {
      margin-bottom: 8px; }
    .spacer.medium-normal {
      margin-bottom: 16px; }
    .spacer.medium-double {
      margin-bottom: 32px; }
    .spacer.medium-triple {
      margin-bottom: 48px; }
    .spacer.medium-quad {
      margin-bottom: 64px; } }
  @media screen and (min-width: 64em) {
    .spacer.large-none {
      margin-bottom: 0; }
    .spacer.large-half {
      margin-bottom: 16px; }
    .spacer.large-normal {
      margin-bottom: 32px; }
    .spacer.large-double {
      margin-bottom: 64px; }
    .spacer.large-triple {
      margin-bottom: 96px; }
    .spacer.large-quad {
      margin-bottom: 128px; } }

.show-for-small {
  display: block; }
  @media screen and (min-width: 50em) {
    .show-for-small {
      display: none; } }

.show-for-large {
  display: none; }
  @media screen and (min-width: 50em) {
    .show-for-large {
      display: block; } }

/* Lazyloading via Lazysizes */
/* fade image in after load */
/* Spinner check http://samherbert.net/svg-loaders/ */
.lazyload,
.lazyloading {
  opacity: 0; }

.lazyloaded {
  opacity: 1;
  transition: opacity 600ms; }

img.lazyload:not([src]) {
  visibility: hidden; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCJhcHAuc2NzcyIsImdsb2JhbC9fYWNjZXNzaWJpbGl0eS5zY3NzIiwiZ2xvYmFsL193cC1hZG1pbi5zY3NzIiwiZ2xvYmFsL193cC1vdmVycmlkZXMuc2NzcyIsImdsb2JhbC9fZm9udHMuc2NzcyIsIm1vZHVsZXMvX25hdmlnYXRpb24uc2NzcyIsIm1vZHVsZXMvX2VkaXRvci1zdHlsZS5zY3NzIiwibW9kdWxlcy9fcGFnaW5hdGlvbi5zY3NzIiwibW9kdWxlcy9fY29udGFjdC1vdmVybGF5LnNjc3MiLCJtb2R1bGVzL19jYXJkcy5zY3NzIiwibW9kdWxlcy9fYWNjb3JkaW9uLnNjc3MiLCJtb2R1bGVzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCJtb2R1bGVzL190b3BiYXIuc2NzcyIsIm1vZHVsZXMvX3NlcnZpY2VuYXYuc2NzcyIsIm1vZHVsZXMvX2FubGllZ2VuLnNjc3MiLCJtb2R1bGVzL19wYXJ0bmVyLnNjc3MiLCJtb2R1bGVzL19tYWdhemluLnNjc3MiLCJtb2R1bGVzL19zZWFyY2guc2NzcyIsIm1vZHVsZXMvX2lucHV0LWdyb3VwLnNjc3MiLCJtb2R1bGVzL19idXR0b25zLnNjc3MiLCJtb2R1bGVzL19pbmZvYm94LnNjc3MiLCJtb2R1bGVzL19mYW5jeWJveC5zY3NzIiwibW9kdWxlcy9fcGF0Y2guc2NzcyIsIm1vZHVsZXMvXzItY2xpY2stZW1iZWQuc2NzcyIsIm1vZHVsZXMvX29yZ2FuaWdyYW1tLnNjc3MiLCJ0ZW1wbGF0ZXMvX3Nob3Auc2NzcyIsInRlbXBsYXRlcy9fYXJjaGl2ZS5zY3NzIiwidGVtcGxhdGVzL19zaW5nbGUuc2NzcyIsImxpYnJhcnkvX3ByaW50LnNjc3MiLCJsaWJyYXJ5L19wbGFjZWhvbGRlci5zY3NzIiwiX2dsb2JhbC5zY3NzIiwiZ2xvYmFsL19mcm9udHBhZ2Uuc2NzcyIsImJsb2Nrcy9faWZyYW1lLnNjc3MiLCJibG9ja3MvX2xpbmtzLnNjc3MiLCJibG9ja3MvX2VkaXRvci5zY3NzIiwiYmxvY2tzL19mdWxsd2lkdGguc2NzcyIsImJsb2Nrcy9fZG93bmxvYWRzLnNjc3MiLCJibG9ja3MvX2hhbGZ3aWR0aC5zY3NzIiwiYmxvY2tzL190aGlyZHdpZHRoLnNjc3MiLCJibG9ja3MvX2Fuc3ByZWNocGFydG5lci5zY3NzIiwiYmxvY2tzL19jaGlsZHBhZ2VzLnNjc3MiLCJibG9ja3MvX2luZm9ib3guc2NzcyIsImJsb2Nrcy9fdHh0aW1nLnNjc3MiLCJibG9ja3MvX2Zvcm1zLnNjc3MiLCJibG9ja3MvX3RheC1kb3dubG9hZHMuc2NzcyIsImJsb2Nrcy9fZ2FsZXJpZS5zY3NzIiwiYmxvY2tzL196d2lzY2hlbnRpdGVsLnNjc3MiLCJibG9ja3MvX3NwYWNlci5zY3NzIiwiYmxvY2tzL19vcmdhbmlncmFtbS5zY3NzIiwibW9kdWxlcy9fbGF6eWxvYWQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7Ozs7O0dBS0c7QUN3Q0QsaUVBQWlFO0FBRy9EO29GQUNnRjtBQUVoRjs7Ozs7T0FLRztBQUVIO0VBQ0Usd0JDMUN1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RzhDQztJSDVESjtNSXpCRSxZQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxZQUFtQixFSjJCcEI7SUFNQztNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRyxFQUFBO0VHbURDO0lIakVKO01JekJFLFlBQW1CLEVKMkJwQjtJQUVEO01JekJFLFlBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0csRUFBQTtFR21EQztJSGpFSjtNSXpCRSxZQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxZQUFtQixFSjJCcEI7SUFNQztNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQWRIO01JekJFLFlBQW1CLEVKMkJwQjtJQUVEO01JekJFLFlBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0csRUFBQTtFR21EQztJSGpFSjtNSXpCRSxZQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxZQUFtQixFSjJCcEI7SUFNQztNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HLEVBQUE7O0FBOENIO0VDbklNLHVCQUE0QjtFQUE1QixzQkFBNEIsRUR3SS9CO0VHTEM7SUhBSjtNQ25JTSxzQkFBNEI7TUFBNUIscUJBQTRCLEVEd0kvQixFQUFBO0VHQUM7SUhMSjtNQ25JTSxvQkFBNEI7TUFBNUIsbUJBQTRCLEVEd0kvQixFQUFBOztBQUlEO0VDNUlJLHVCQUE0QjtFQUE1QixzQkFBNEIsRUQ4SS9CO0VHWEM7SUhTRjtNQzVJSSxzQkFBNEI7TUFBNUIscUJBQTRCLEVEOEkvQixFQUFBO0VHTkM7SUhJRjtNQzVJSSxvQkFBNEI7TUFBNUIsbUJBQTRCLEVEOEkvQixFQUFBOztBQVhIO0VDbklNLHVCQUE0QjtFQUE1QixzQkFBNEIsRURtSi9CO0VHaEJDO0lIQUo7TUNuSU0sc0JBQTRCO01BQTVCLHFCQUE0QixFRG1KL0IsRUFBQTtFR1hDO0lITEo7TUNuSU0sb0JBQTRCO01BQTVCLG1CQUE0QixFRG1KL0IsRUFBQTs7QUt0Skg7RUR5REUsWUFEb0QsRUN0RHJEOztBQUZEO0VEeURFLFdBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxpQkFEb0QsRUN0RHJEOztBQUZEO0VEeURFLFdBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxXQURvRCxFQ3REckQ7O0FBRkQ7RUR5REUsaUJBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxpQkFEb0QsRUN0RHJEOztBQUZEO0VEeURFLGFBRG9ELEVDdERyRDs7QUZvSUc7RUV0SUo7SUR5REUsWUFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsYUFEb0QsRUN0RHJELEVBQUE7O0FGeUlHO0VFM0lKO0lEeURFLFlBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGFBRG9ELEVDdERyRCxFQUFBOztBRnlJRztFRTNJSjtJRHlERSxZQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxhQURvRCxFQ3REckQsRUFBQTs7QUZ5SUc7RUUzSUo7SUR5REUsWUFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsYUFEb0QsRUN0RHJELEVBQUE7O0FBRkQ7RUR5REUsMkJBRGdILEVDdERqSDs7QUFGRDtFRHlERSwwQkFEZ0gsRUN0RGpIOztBQUZEO0VEeURFLGdDQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsMEJBRGdILEVDdERqSDs7QUFGRDtFRHlERSwwQkFEZ0gsRUN0RGpIOztBQUZEO0VEeURFLGdDQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsZ0NBRGdILEVDdERqSDs7QUFGRDtFRHlERSw0QkFEZ0gsRUN0RGpIOztBRm9JRztFRXRJSjtJRHlERSwyQkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGdDQURnSCxFQ3REakg7RUFGRDtJRHlERSwwQkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGdDQURnSCxFQ3REakg7RUFGRDtJRHlERSxnQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLHlCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLHdCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSwwQkFEZ0gsRUN0RGpILEVBQUE7O0FGeUlHO0VFM0lKO0lEeURFLHlCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLHdCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSwwQkFEZ0gsRUN0RGpILEVBQUE7O0FGeUlHO0VFM0lKO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSx5QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSDtFQUZEO0lEeURFLHdCQURnSCxFQ3REakg7RUFGRDtJRHlERSxnQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDBCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSDtFQUZEO0lEeURFLHdCQURnSCxFQ3REakg7RUFGRDtJRHlERSxnQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGdDQURnSCxFQ3REakg7RUFGRDtJRHlERSw4QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDBCQURnSCxFQ3REakg7RUFGRDtJRHlERSx5QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsd0JBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsd0JBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSw4QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSCxFQUFBOztBRnlJRztFRTNJSjtJRHlERSx5QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsd0JBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsd0JBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSw4QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSCxFQUFBOztBTGdNRztFTXZNRSxnQkFBMEI7RUFBMUIsZUFBMEIsRU55TTNCO0VNdE1EO0lBRUksZ0JBQTBCO0lBQTFCLGVBQTBCLEVBRTdCO0VBb0JLO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQztFSDhHUDtJR2hITTtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTtFSG1IUDtJR3JITTtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTtFSG1IUDtJR3JITTtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTtFSG1IUDtJR3JITTtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QU5nTFA7RU10S0UsZ0JBQTBCO0VBQTFCLGVBQTBCLEVOd0szQjtFTXJLRDtJQUVJLGlCQUE0QjtJQUE1QixnQkFBNEIsRUFFL0I7O0FINkZEO0VINERBO0lNdk1FLGdCQUEwQjtJQUExQixlQUEwQixFTnlNM0I7SU10TUQ7TUFFSSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0IsRUFBQTs7QUhvSUQ7RUd6SE07SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FIdUhQO0VHaEhNO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBSG1IUDtFR3JITTtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QUhtSFA7RUdySE07SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FIbUhQO0VHckhNO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBSDhHUDtFSGtFQTtJTXRLRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU53SzNCO0lNcktEO01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBSGtHRDtFSHVEQTtJTXZNRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU55TTNCO0lNdE1EO01BRUksZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCLEVBQUE7O0FIeUlEO0VHOUhNO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBSDRIUDtFRzlITTtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QUg0SFA7RUdySE07SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FIbUhQO0VHckhNO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBSG1IUDtFR3JITTtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QUhtSFA7RUg2REE7SU10S0UsZ0JBQTBCO0lBQTFCLGVBQTBCLEVOd0szQjtJTXJLRDtNQUVJLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QUhrR0Q7RUh1REE7SU12TUUsZ0JBQTBCO0lBQTFCLGVBQTBCLEVOeU0zQjtJTXRNRDtNQUVJLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QixFQUFBOztBSHlJRDtFRzlITTtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QUg0SFA7RUc5SE07SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FINEhQO0VHOUhNO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBSDRIUDtFR3JITTtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QUhtSFA7RUdySE07SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FIbUhQO0VINkRBO0lNdEtFLGdCQUEwQjtJQUExQixlQUEwQixFTndLM0I7SU1yS0Q7TUFFSSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0FIa0dEO0VIdURBO0lNdk1FLGdCQUEwQjtJQUExQixlQUEwQixFTnlNM0I7SU10TUQ7TUFFSSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0IsRUFBQTs7QUh5SUQ7RUc5SE07SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FINEhQO0VHOUhNO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBSDRIUDtFRzlITTtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QUg0SFA7RUc5SE07SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FINEhQO0VHckhNO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBSG1IUDtFSDZEQTtJTXRLRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU53SzNCO0lNcktEO01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBTjZLRDtFTzFORixnQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGdDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsbUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixtQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLG1CQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsbUNBQTZCLEVQZ08xQjs7QUFORDtFTzFORixvQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLG9DQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsaUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixpQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLG9CQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsb0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixtQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLG1DQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsb0JBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixvQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLGlCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsaUNBQTZCLEVQZ08xQjs7QUFORDtFTzFORixvQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLG9DQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsbUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixtQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLG9CQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsb0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixpQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGlDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsb0JBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixvQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLG1CQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsbUNBQTZCLEVQZ08xQjs7QUFORDtFTzFORixvQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLG9DQUE2QixFUGdPMUI7O0FHdEZEO0VIZ0ZBO0lPMU5GLGdCQUE2QixFUDROMUI7RUFFRDtJTzlORiwrQkFBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsbUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG1CQUE2QixFUDROMUI7RUFFRDtJTzlORixrQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORixpQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsZ0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsbUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORixnQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCLEVBQUE7O0FHakZEO0VIMkVBO0lPMU5GLGdCQUE2QixFUDROMUI7RUFFRDtJTzlORiwrQkFBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsbUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG1CQUE2QixFUDROMUI7RUFFRDtJTzlORixrQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORixpQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsZ0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsbUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORixnQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCLEVBQUE7O0FHakZEO0VIMkVBO0lPMU5GLGdCQUE2QixFUDROMUI7RUFFRDtJTzlORiw2QkFBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsZ0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixpQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLDhCQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsaUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG1CQUE2QixFUDROMUI7RUFFRDtJTzlORixnQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGlDQUE2QixFUGdPMUI7RUFORDtJTzFORixpQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsOEJBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixpQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsaUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORiw4QkFBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGlDQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsZ0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixpQ0FBNkIsRVBnTzFCLEVBQUE7O0FHakZEO0VIMkVBO0lPMU5GLGdCQUE2QixFUDROMUI7RUFFRDtJTzlORiw2QkFBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsZ0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixpQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLDhCQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsaUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG1CQUE2QixFUDROMUI7RUFFRDtJTzlORixnQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lP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QixFRDhIakMsRUFBQTtFR1VHO0lIekNKO01DL0ZNLGtCQUE0QjtNQUE1QixxQkFBNEIsRUQ4SGpDLEVBQUE7RUEvQkQ7SUlwREUsNEJBRDRFO0lIakMxRSxvQkFBNEI7SUFBNUIsdUJBQTRCLEVENEY3QjtFRzhCQztJSHBDSjtNSXBERSwwQkFENEU7TUhqQzFFLG1CQUE0QjtNQUE1QixzQkFBNEIsRURtR3pCLEVBQUE7RUc0Qkg7SUh6Q0o7TUlwREUsMEJBRDRFO01IakMxRSxpQkFBNEI7TUFBNUIsb0JBQTRCLEVEbUd6QixFQUFBO0VBckNQO0lJekJFLGFBQW1CLEVKMkJwQjtFQUVEO0lJekJFLGFBQW1CLEVKMkJwQjtFQU1DO0lJN0JBLDZCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw2QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsOEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDJCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw4QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsNkJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDhCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSwyQkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsOEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDZCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw4QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsMkJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDhCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw2QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsOEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDRCQURnSCxFSmdDL0c7RUc4Q0M7SUg1REo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQWRIO01JekJFLGFBQW1CLEVKMkJwQjtJQUVEO01JekJFLGFBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0csRUFBQTtFR21EQztJSGpFSjtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HLEVBQUE7RUdtREM7SUhqRUo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQWRIO01JekJFLGFBQW1CLEVKMkJwQjtJQUVEO01JekJFLGFBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HLEVBQUE7RUdtREM7SUhqRUo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFG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NEY3QjtFRzhCQztJSHBDSjtNSXBERSwwQkFENEU7TUhqQzFFLG1CQUE0QjtNQUE1QixzQkFBNEIsRURtR3pCLEVBQUE7RUc0Qkg7SUh6Q0o7TUlwREUsMEJBRDRFO01IakMxRSxpQkFBNEI7TUFBNUIsb0JBQTRCLEVEbUd6QixFQUFBO0VBckNQO0lJekJFLGFBQW1CLEVKMkJwQjtFQUVEO0lJekJFLGFBQW1CLEVKMkJwQjtFQU1DO0lJN0JBLDZCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw2QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsOEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDJCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw4QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsNkJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDhCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSwyQkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsOEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDZCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw4QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsMkJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDhCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw2QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsOEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDRCQURnSCxFSmdDL0c7RUc4Q0M7SUg1REo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQWRIO01JekJFLGFBQW1CLEVKMkJwQjtJQUVEO01JekJFLGFBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0csRUFBQTtFR21EQztJSGpFSjtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HLEVBQUE7RUdtREM7SUhqRUo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQWRIO01JekJFLGFBQW1CLEVKMkJwQjtJQUVEO01JekJFLGFBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HLEVBQUE7RUdtREM7SUhqRUo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRyxFQUFBOztBQXlTRDtFUTNYSSw2QkFBbUMsRVI2WHRDO0VHN1BDO0lIMlBGO01RM1hJLDJCQUFtQyxFUjZYdEMsRUFBQTtFR3hQQztJSHNQRjtNUTNYSSwyQkFBbUMsRVI2WHRDLEVBQUE7RUd4UEM7SUhzUEY7TVEzWEksMkJBQW1DLEVSNlh0QyxFQUFBO0VHeFBDO0lIc1BGO01RM1hJLDJCQUFtQyxFUjZYdEMsRUFBQTs7QUc3UEM7RUgrUEE7SVEvWEUsMkJBQW1DLEVSaVlwQyxFQUFBOztBRzVQRDtFSDBQQTtJUS9YRSwyQkFBbUMsRVJpWXBDLEVBQUE7O0FHNVBEO0VIMFBBO0lRL1hFLDJCQUFtQyxFUmlZcEMsRUFBQTs7QUc1UEQ7RUgwUEE7SVEvWEUsMkJBQW1DLEVSaVlwQyxFQUFBOztBU3JLTDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsVUFBUztFQUNULFdBQVUsRUFDWDs7QUFHRDtFQUNFLG9CWi9FMEI7RVlpRjFCLG1CQUFrQjtFQUNsQixpQlpuRnNCO0VZb0Z0QixtQ1psRnlDLEVZbUYxQzs7QUFHRDs7RUFFRSxtQkFBa0I7RUFDbEIscUJBQW9CLEVBQ3JCOztBQUdEOztFQUVFLGtCWnZLcUI7RVl3S3JCLHFCQUFvQixFQUNyQjs7QWhCZ0RDO0VnQjVDQSxlWnpHaUI7RVkwR2pCLHFCQUFvQixFQUNyQjs7QWhCek1DOzs7Ozs7OztFZ0JrTkEsMkJaOUk4QjtFWStJOUIsbUJaN0lzQjtFWThJdEIsb0JaL0l1QjtFWWdKdkIsZVo3SWtCO0VZOElsQixtQ1p6SHNDLEVZK0h2QztFQWhCRDs7Ozs7Ozs7SUFhSSxlQUFjO0lBQ2QsZVp2TlEsRVl3TlQ7O0FoQjNORDtFZ0J1T1EsbUJYdlA2QztFV21RN0MsaUJaMUtXO0VZa0xYLGNBQWE7RUFPYixzQlp4TGlCLEVZMExwQjs7QUFqQ0Q7RUFJSSxxQlh2UDZDO0VXbVE3QyxpQloxS1c7RVlrTFgsY0FBYTtFQU9iLHNCWnhMaUIsRVkwTHBCOzs7QUFwR1A7O0VBdUVVLG1CWHZQNkM7RVdtUTdDLGlCWjFLVztFWWtMWCxjQUFhO0VBT2Isc0JaeExpQixFWTBMcEI7O0FBakNEO0VBSUkscUJYdlA2QztFV21RN0MsaUJaMUtXO0VZa0xYLGNBQWE7RUFPYixzQlp4TGlCLEVZMExwQjs7QUFqQ0Q7RUFJSSxxQlh2UDZDO0VXbVE3QyxpQloxS1c7RVlrTFgsY0FBYTtFQU9iLHNCWnhMaUIsRVkwTHBCOzs7QUFqR1A7O0VBb0VVLGdCWHZQNkM7RVdtUTdDLGlCWjFLVztFWWtMWCxjQUFhO0VBT2Isc0JaeExpQixFWTBMcEI7O0FOcE1IO0VWaEVGO0lnQnVPUSxnQlh2UDZDLEVXb1JoRDtFQWpDRDtJQUlJLG9CWHZQNkMsRVdvUmhEOztFQXBHUDs7SUF1RVUscUJYdlA2QyxFV29SaEQ7RUFqQ0Q7SUFJSSxxQlh2UDZDLEVXb1JoRDtFQWpDRDtJQUlJLG9CWHZQNkMsRVdvUmhEOztFQWpHUDs7SUFvRVUscUJYdlA2QyxFV29SaEQsRUFBQTs7QWhCbkdMO0VnQjBHQSxxQkFBb0I7RUFDcEIsZVp2UmM7RVl3UmQsc0JabEt5QjtFWW9LekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlWnpLMkQsRVk2SzVEO0VBYkg7SUFnQkksVUFBUyxFQUNWOztBaEJ2S0Q7RWdCNEtBLFlBQVc7RUFFWCxpQlhsVHFEO0VXbVRyRCxVQUFTO0VBQ1QscUJackx5QjtFWXVMekIsY0FBYTtFQUNiLGdCQUFlO0VBQ2YsaUNaclNVO0VZc1NWLGVBQWMsRUFDZjs7QUFHRDs7O0VBR0Usb0JaL00wQjtFWWdOMUIsNkJaOUx5QjtFWStMekIsaUJabE5zQixFWW1OdkI7O0FBR0Q7RUFDRSxtQkFBa0IsRUFDbkI7O0FBR0Q7RUFDRSxxQlp4TXNCO0VZeU10QixzQlozTWtCLEVZNE1uQjs7QUFHRDtFQUNFLHFCWjlNc0IsRVkrTXZCOztBQUdEO0VBRUkscUJabk4yQjtFWW9OM0IsaUJBQWdCLEVBQ2pCOztBQUlIO0VBQ0Usb0Jaek55QixFWStOMUI7RUFQRDtJQUlJLHNCWjFOOEI7SVkyTjlCLGtCWnpUbUIsRVkwVHBCOztBQUlIO0VBQ0UsaUJaeFAwQjtFWXlQMUIsdUNYMVdxRDtFVzJXckQsK0JaeFZVLEVZOFZYO0VBVEQ7SUFNSSxpQlo5UG9CO0lZK1BwQixlWjFXWSxFWTJXYjs7QUFJSDtFQUNFLGVBQWM7RUFDZCxxQlh0WHFEO0VXdVhyRCxlWmxYYyxFWXVYZjtFQVJEO0lBTUksY1o1TzZCLEVBQUE7O0FZaVBqQztFQUNFLGtDWnpXVztFWTBXWCxhQUFZO0VBQ1osc0JBQXFCLEVBQ3RCOztBaEI3UUM7RWdCaVJBLFVBQVMsRUFDVjs7QUFHRDtFQUNFLHNDWDVZcUQ7RVc4WXJELDBCWjNYVTtFWTRYViwwQlo1WFU7RVk4WFYsNkRaMVRtRTtFWTJUbkUsb0Jaeld5QjtFWTBXekIsZVo1WFcsRVk2WFo7O0FBR0Q7RUFDRSxVQUFTO0VBQ1QsNEJYcFpTO0VXc1pULDBCWnhZVTtFWTBZViw2RFp0VW1FO0VZdVVuRSxlWnZZVztFWTBZVCx5QlhqYW1ELEVXbWF0RDs7QUM1Y0Q7RUFDRSxtQmJzTXlCO0Vhck16QixzQmJzTTRCO0VhcE01QixvQmI4RXlCO0VhN0V6QixpQmIrTHNCO0VhOUx0QixlYndDYyxFYXZDZjs7QUFHRDtFQUNFLGdCYnVMcUM7RWF0THJDLGlCYnVMaUIsRWF0TGxCOztBQUdEO0VBQ0Usa0Jid0xtQjtFYXZMbkIsZUFBYyxFQUtmO0VBSEM7SUFDRSxrQkFBaUIsRUFDbEI7O0FBR0g7RUFHSSxlQUFnQztFQUNoQyxpQkFBZ0IsRUFDakI7O0FDL0RLO0VBQ0UsaUJBUmUsRUFTaEI7O0FBRkQ7RUFDRSxrQkFSc0IsRUFTdkI7O0FBRkQ7RUFDRSxtQkFSOEIsRUFTL0I7O0FBRkQ7RUFDRSxvQkFSdUMsRUFTeEM7O0FSbUpMO0VRMUpJO0lBQ0UsaUJBSGUsRUFJaEI7RUFGRDtJQUNFLGtCQUhz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aEIzUUUsRWdCNFFIO0VBeEdYOztJQWdISSxZQUFXO0lBQ1gsWUFBVztJQUNYLGVBQWdDLEVBQ2pDOztBQUVIOzs7RUFHSSxzQkFBcUIsRUFDdEI7O0F0QjZuSUw7O0V1QnA2SUUsZUFBYztFQUNkLHVCQUFzQjtFQUN0QixZQUFXO0VBQ1gsa0JBTHNKO0VBTXRKLGlCaEJIdUQ7RWdCSXZELGdCakJvWStCO0VpQmxZL0IsMEJqQmFZO0VpQlpaLHlCaEJQdUQ7RWdCUXZELDBCakJnQmE7RWlCZmIsNkNqQmNhO0VpQlpiLHFCakJvWHlCO0VpQm5YekIsZ0JoQlp1RDtFZ0JhdkQsb0JqQjRCMkI7RWlCM0IzQixpQmpCWHFCO0VpQllyQixlakJRYTtFaUJMWCw0RGpCMFg4RDtFaUJyVzlELHlCQUFnQjtVQUFoQixpQkFBZ0IsRUFDakI7RXZCODRJRDs7SXVCLzVJRSxjQUFhO0lBQ2IsMEJqQm5CYztJaUJvQmQsMEJqQkRXO0lpQkVYLDRCakJQVTtJaUJVUiw0RGpCK1c0RCxFaUI3Vy9EOztBckJxZEM7RXFCeGNBLGdCQUFlLEVBS2hCO0VBTkQ7SUFJSSxhQUFZLEVBQ2I7O0FBR0g7O0VBSUksZWpCcENRLEVpQnFDVDs7QUFMSDs7RUFJSSxlakJwQ1EsRWlCcUNUOztBQUxIOztFQUlJLGVqQnBDUSxFaUJxQ1Q7O0FBTEg7OztFQVVJLDBCakIxQ1E7RWlCMkNSLG9CakI2VTZCLEVpQjVVOUI7O0F2Qjg0SUw7O0V1Qng0SUkseUJBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQix5QmhCdEVxRCxFZ0J1RXREOztBQUdEO0VBQ0UsdUJBQXNCLEVBQ3ZCOztBdkJ5NElIOzs7RXdCamlKSSxpQmpCNEVxRCxFaUIzRXREOztBeEJxaUpIOztFd0JoaUpJLHNCQUFxQjtFQUNyQix5QkFBd0I7RUFFeEIsb0JBQWtEO0VBQ2xELG1CakJrRXFEO0VpQmpFckQsaUJBQWdCLEVBS2pCO0V4QjZoSkQ7O0l3Qi9oSkksZ0JBQWUsRUFDaEI7O0FBSUg7O0VBRUUscUJBQW1ELEVBQ3BEOztBeEIraEpIO0V3QjNoSkksWUFBVyxFQUNaOztB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LHFCQXpEa0IsRURzRmY7O0FBTkQ7RUN2Q0YsNEJBeENnQjtNQXdDaEIsdUJBeENnQjtVQXdDaEIsb0JBeENnQixFRGlGYjs7QUFFRDtFQzNCRiwyQkF4RGdCO01Bd0RoQiw0QkF4RGdCO2NBd0RoQiwyQkF4RGdCO1VBd0RoQixtQkF4RGdCLEVEcUZiOztBQU5EO0VDdkNGLDZCQXZDa0I7TUF1Q2xCLHdCQXZDa0I7VUF1Q2xCLHFCQXZDa0IsRURnRmY7O0FBRUQ7RUMzQkYsNEJBdkRrQjtNQXVEbEIsNkJBdkRrQjtjQXVEbEIsNEJBdkRrQjtVQXVEbEIsb0JBdkRrQixFRG9GZjs7QUFJSDtFQ2xEQSxnQ0EvQ2dCO01BK0NoQixzQkEvQ2dCO1VBK0NoQix3QkEvQ2dCO0VBZ0RoQiw0QkF4Q2dCO01Bd0NoQix1QkF4Q2dCO1VBd0NoQixvQkF4Q2dCO0VEMkZkLDhCQUFxQjtNQUFyQiwyQkFBcUI7VUFBckIsc0JBQXFCLEVBQ3RCOztBQUtHO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBaENxREQ7RWdDdkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBaEMwREQ7RWdDNURBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBaEMwREQ7RWdDNURBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBaEMwREQ7RWdDNURBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7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RztJQXRCdkM7TUF1Qm9CLG9CdkYrMkJOLEV1Ri8yQm9DO0lBdkJsRDtNQXdCc0Isb0JBQTZCLEVBQUc7SUF4QnREO01BeUJzQixvQkFBNkIsRUFBRztJQXpCdEQ7TUEwQnNCLG9CQUE2QixFQUFHO0lBMUJ0RDtNQTJCb0IscUJBQTZCLEVBQUcsRUFBQTs7QUMxQmhEO0VBQ0ksZUFBYyxFQUlqQjtFbEZrS0M7SWtGdktGO01BR1EsY0FBYSxFQUVwQixFQUFBOztBbkRzRUM7RW1EbkVFLGNBQWEsRUFJaEI7RWxGMkpDO0krQjVGQTtNbURqRU0sZUFBYyxFQUVyQixFQUFBOztBaERpSEwsK0JBQStCO0FpRDlIL0IsOEJBQThCO0FBRTlCLHNEQUFzRDtBQUV0RDs7RUFFSSxXQUFVLEVBQ2I7O0FBQ0Q7RUFDSSxXQUFVO0VBQ1YsMEJBQXlCLEVBQzVCOztBQUNEO0VBQ0ksbUJBQWtCLEVBQ3JCIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxLCAjY29udGFjdC1vdmVybGF5IC5jb250YWN0X3RpdGxlLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV90ZWwsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2VtYWlsLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9hZGRyZXNzIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NTBlbSZ4bGFyZ2U9NjRlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6IFwicG9wcGluc21lZGl1bVwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMzMTM5NDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZ3JpZC14IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uY2VsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuY2VsbC5hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5jZWxsLnNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLXNocmluaywgLmdyaWQteCA+IC5zbWFsbC1mdWxsLCAuZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyLCAuZ3JpZC14ID4gLnNtYWxsLTEzLCAuZ3JpZC14ID4gLnNtYWxsLTE0LCAuZ3JpZC14ID4gLnNtYWxsLTE1LCAuZ3JpZC14ID4gLnNtYWxsLTE2IHtcbiAgZmxleC1iYXNpczogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIsIC5ncmlkLXggPiAubWVkaXVtLTEzLCAuZ3JpZC14ID4gLm1lZGl1bS0xNCwgLmdyaWQteCA+IC5tZWRpdW0tMTUsIC5ncmlkLXggPiAubWVkaXVtLTE2IHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyLCAuZ3JpZC14ID4gLmxhcmdlLTEzLCAuZ3JpZC14ID4gLmxhcmdlLTE0LCAuZ3JpZC14ID4gLmxhcmdlLTE1LCAuZ3JpZC14ID4gLmxhcmdlLTE2IHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTEwLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTIsIC5ncmlkLXggPiAueGxhcmdlLTEzLCAuZ3JpZC14ID4gLnhsYXJnZS0xNCwgLmdyaWQteCA+IC54bGFyZ2UtMTUsIC5ncmlkLXggPiAueGxhcmdlLTE2IHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC14ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnh4bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54eGxhcmdlLTEsIC5ncmlkLXggPiAueHhsYXJnZS0yLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMywgLmdyaWQteCA+IC54eGxhcmdlLTQsIC5ncmlkLXggPiAueHhsYXJnZS01LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNiwgLmdyaWQteCA+IC54eGxhcmdlLTcsIC5ncmlkLXggPiAueHhsYXJnZS04LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOSwgLmdyaWQteCA+IC54eGxhcmdlLTEwLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXggPiAueHhsYXJnZS0xMiwgLmdyaWQteCA+IC54eGxhcmdlLTEzLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTQsIC5ncmlkLXggPiAueHhsYXJnZS0xNSwgLmdyaWQteCA+IC54eGxhcmdlLTE2IHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IDYuMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMTguNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDMxLjI1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogMzcuNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDQzLjc1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA1Ni4yNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA2Mi41JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDY4Ljc1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEzIHtcbiAgd2lkdGg6IDgxLjI1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTE0IHtcbiAgd2lkdGg6IDg3LjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTUge1xuICB3aWR0aDogOTMuNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTYge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC14ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXgge1xuICBtYXJnaW4tbGVmdDogLTAuMjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoNi4yNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygxOC43NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoMzEuMjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYygzNy41JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNDMuNzUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDU2LjI1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDYyLjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoNjguNzUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMyB7XG4gICAgd2lkdGg6IGNhbGMoODEuMjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xNCB7XG4gICAgd2lkdGg6IGNhbGMoODcuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTE1IHtcbiAgICB3aWR0aDogY2FsYyg5My43NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTE2IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMC41cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDYuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE4Ljc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IGNhbGMoMzEuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDM3LjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQzLjc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNTYuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg2Mi41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoNjguNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEzIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgxLjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTQge1xuICAgICAgd2lkdGg6IGNhbGMoODcuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTE1IHtcbiAgICAgIHdpZHRoOiBjYWxjKDkzLjc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTYge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoNi4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogY2FsYygxOC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IGNhbGMoMzEuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogY2FsYygzNy41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNDMuNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDYyLjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoNjguNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTMge1xuICAgICAgd2lkdGg6IGNhbGMoODEuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTQge1xuICAgICAgd2lkdGg6IGNhbGMoODcuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xNSB7XG4gICAgICB3aWR0aDogY2FsYyg5My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xNiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoNi4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMTguNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYygzMS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoMzcuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNDMuNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg1Ni4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDYyLjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg2OC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTMge1xuICAgICAgd2lkdGg6IGNhbGMoODEuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xNCB7XG4gICAgICB3aWR0aDogY2FsYyg4Ny41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTUge1xuICAgICAgd2lkdGg6IGNhbGMoOTMuNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xNiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoNi4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMTguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYygzMS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoMzcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNDMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogY2FsYyg1Ni4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDYyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg2OC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTMge1xuICAgICAgd2lkdGg6IGNhbGMoODEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xNCB7XG4gICAgICB3aWR0aDogY2FsYyg4Ny41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTUge1xuICAgICAgd2lkdGg6IGNhbGMoOTMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xNiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogY2FsYyg2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYygzMS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDM3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg0My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNTYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoNjIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg2OC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMyB7XG4gICAgICB3aWR0aDogY2FsYyg4MS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xNCB7XG4gICAgICB3aWR0aDogY2FsYyg4Ny41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTE1IHtcbiAgICAgIHdpZHRoOiBjYWxjKDkzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTE2IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxMi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMTguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoMzcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg1Ni4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg2Mi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDY4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEzIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTE0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDg3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTUge1xuICAgICAgd2lkdGg6IGNhbGMoOTMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTYge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygxOC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYygzMS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYygzNy41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg2Mi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg2OC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEzIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xNCB7XG4gICAgICB3aWR0aDogY2FsYyg4Ny41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xNSB7XG4gICAgICB3aWR0aDogY2FsYyg5My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTYge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pOyB9IH1cblxuLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9IH1cblxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlOyB9XG5cbi5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogMTIuNSU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC54eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnh4bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMC41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAwLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMC41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAwLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDAuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMC41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDAuNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxcmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDFyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDJyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDJyZW0pOyB9IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogNi4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDMxLjI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IDM3LjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNDMuNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNTYuMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDYyLjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMyB7XG4gICAgICB3aWR0aDogODEuMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTQge1xuICAgICAgd2lkdGg6IDg3LjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTUge1xuICAgICAgd2lkdGg6IDkzLjc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE2IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogNi4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogMzEuMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiAzNy41JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNDMuNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDU2LjI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDYyLjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogNjguNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMyB7XG4gICAgICB3aWR0aDogODEuMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNCB7XG4gICAgICB3aWR0aDogODcuNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTE1IHtcbiAgICAgIHdpZHRoOiA5My43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTE2IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgICAgd2lkdGg6IDYuMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTIuNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiAzNy41JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDQzLjc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDU2LjI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA2Mi41JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTMge1xuICAgICAgd2lkdGg6IDgxLjI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTE0IHtcbiAgICAgIHdpZHRoOiA4Ny41JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTE1IHtcbiAgICAgIHdpZHRoOiA5My43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogNi4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTIuNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMTguNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogMzcuNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNDMuNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDYyLjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMyB7XG4gICAgICB3aWR0aDogODEuMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTE0IHtcbiAgICAgIHdpZHRoOiA4Ny41JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNSB7XG4gICAgICB3aWR0aDogOTMuNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTE2IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogNi4yNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2LjI1JSArIDAuMjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxMi41JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDEyLjUlICsgMC4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDE4Ljc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE4Ljc1JSArIDAuMjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogMzEuMjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzEuMjUlICsgMC4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzcuNSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNDMuNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDMuNzUlICsgMC4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuMjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA1Ni4yNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1Ni4yNSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDYyLjUlICsgMC4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA2OC43NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjguNzUlICsgMC4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMiB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEyIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMyB7XG4gIG1hcmdpbi1sZWZ0OiA4MS4yNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEzIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODEuMjUlICsgMC4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xNCB7XG4gIG1hcmdpbi1sZWZ0OiA4Ny41JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTQge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4Ny41JSArIDAuMjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTUge1xuICBtYXJnaW4tbGVmdDogOTMuNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkzLjc1JSArIDAuMjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogNi4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2LjI1JSArIDAuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEyLjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTIuNSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxOC43NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxOC43NSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzMS4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMS4yNSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiAzNy41JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDM3LjUlICsgMC41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNDMuNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDMuNzUlICsgMC41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNTYuMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTYuMjUlICsgMC41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDYyLjUlICsgMC41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDY4Ljc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2OC43NSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTMge1xuICAgIG1hcmdpbi1sZWZ0OiA4MS4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODEuMjUlICsgMC41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDg3LjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDg3LjUlICsgMC41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkzLjc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5My43NSUgKyAwLjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDYuMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2LjI1JSArIDAuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTIuNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEyLjUlICsgMC41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxOC43NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE4Ljc1JSArIDAuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMxLjI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzEuMjUlICsgMC41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiAzNy41JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzcuNSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDQzLjc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDMuNzUlICsgMC41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNTYuMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1Ni4yNSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA2Mi41JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDYyLjUlICsgMC41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogNjguNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjguNzUlICsgMC41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEzIHtcbiAgICBtYXJnaW4tbGVmdDogODEuMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODEuMjUlICsgMC41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTE0IHtcbiAgICBtYXJnaW4tbGVmdDogODcuNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTE0IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4Ny41JSArIDAuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkzLjc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkzLjc1JSArIDAuNXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDYuMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNi4yNSUgKyAxcmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTIuNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxMi41JSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxOC43NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxOC43NSUgKyAxcmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMxLjI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMxLjI1JSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiAzNy41JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDM3LjUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDQzLjc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQzLjc1JSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxcmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNTYuMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTYuMjUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA2Mi41JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Mi41JSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogNjguNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY4Ljc1JSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEzIHtcbiAgICBtYXJnaW4tbGVmdDogODEuMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgxLjI1JSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTE0IHtcbiAgICBtYXJnaW4tbGVmdDogODcuNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODcuNSUgKyAxcmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0xNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkzLjc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5My43NSUgKyAxcmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDFyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogNi4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNi4yNSUgKyAxcmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEyLjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEyLjUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxOC43NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTguNzUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzMS4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzEuMjUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiAzNy41JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzNy41JSArIDFyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNDMuNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQzLjc1JSArIDFyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDFyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNTYuMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU2LjI1JSArIDFyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Mi41JSArIDFyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDY4Ljc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjguNzUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxcmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTMge1xuICAgIG1hcmdpbi1sZWZ0OiA4MS4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgxLjI1JSArIDFyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDg3LjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTE0IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4Ny41JSArIDFyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkzLjc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTMuNzUlICsgMXJlbSk7IH0gfVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC5ncmlkLXkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyLCAuZ3JpZC15ID4gLnNtYWxsLTEzLCAuZ3JpZC15ID4gLnNtYWxsLTE0LCAuZ3JpZC15ID4gLnNtYWxsLTE1LCAuZ3JpZC15ID4gLnNtYWxsLTE2IHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyLCAuZ3JpZC15ID4gLm1lZGl1bS0xMywgLmdyaWQteSA+IC5tZWRpdW0tMTQsIC5ncmlkLXkgPiAubWVkaXVtLTE1LCAuZ3JpZC15ID4gLm1lZGl1bS0xNiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIsIC5ncmlkLXkgPiAubGFyZ2UtMTMsIC5ncmlkLXkgPiAubGFyZ2UtMTQsIC5ncmlkLXkgPiAubGFyZ2UtMTUsIC5ncmlkLXkgPiAubGFyZ2UtMTYge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueGxhcmdlLTEsIC5ncmlkLXkgPiAueGxhcmdlLTIsIC5ncmlkLXkgPiAueGxhcmdlLTMsIC5ncmlkLXkgPiAueGxhcmdlLTQsIC5ncmlkLXkgPiAueGxhcmdlLTUsIC5ncmlkLXkgPiAueGxhcmdlLTYsIC5ncmlkLXkgPiAueGxhcmdlLTcsIC5ncmlkLXkgPiAueGxhcmdlLTgsIC5ncmlkLXkgPiAueGxhcmdlLTksIC5ncmlkLXkgPiAueGxhcmdlLTEwLCAuZ3JpZC15ID4gLnhsYXJnZS0xMSwgLmdyaWQteSA+IC54bGFyZ2UtMTIsIC5ncmlkLXkgPiAueGxhcmdlLTEzLCAuZ3JpZC15ID4gLnhsYXJnZS0xNCwgLmdyaWQteSA+IC54bGFyZ2UtMTUsIC5ncmlkLXkgPiAueGxhcmdlLTE2IHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54eGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueHhsYXJnZS0xLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMiwgLmdyaWQteSA+IC54eGxhcmdlLTMsIC5ncmlkLXkgPiAueHhsYXJnZS00LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNSwgLmdyaWQteSA+IC54eGxhcmdlLTYsIC5ncmlkLXkgPiAueHhsYXJnZS03LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOCwgLmdyaWQteSA+IC54eGxhcmdlLTksIC5ncmlkLXkgPiAueHhsYXJnZS0xMCwgLmdyaWQteSA+IC54eGxhcmdlLTExLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIsIC5ncmlkLXkgPiAueHhsYXJnZS0xMywgLmdyaWQteSA+IC54eGxhcmdlLTE0LCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTUsIC5ncmlkLXkgPiAueHhsYXJnZS0xNiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IDYuMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiAxMi41JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogMTguNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IDMxLjI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogMzcuNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IDQzLjc1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogNTAlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiA1Ni4yNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiA2Mi41JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IDY4Ljc1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEzIHtcbiAgICBoZWlnaHQ6IDgxLjI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTE0IHtcbiAgICBoZWlnaHQ6IDg3LjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTUge1xuICAgIGhlaWdodDogOTMuNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTYge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogNi4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogMTIuNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogMTguNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiAzMS4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogMzcuNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNDMuNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiA1Ni4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDYyLjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiA2OC43NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEzIHtcbiAgICAgIGhlaWdodDogODEuMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTQge1xuICAgICAgaGVpZ2h0OiA4Ny41JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTE1IHtcbiAgICAgIGhlaWdodDogOTMuNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTYge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogNi4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxMi41JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDE4Ljc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDMxLjI1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDM3LjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNDMuNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNTYuMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDYyLjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDY4Ljc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEzIHtcbiAgICAgIGhlaWdodDogODEuMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xNCB7XG4gICAgICBoZWlnaHQ6IDg3LjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xNSB7XG4gICAgICBoZWlnaHQ6IDkzLjc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTYge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogNi4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTIuNSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMTguNzUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiAzMS4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogMzcuNSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogNDMuNzUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA1Ni4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDYyLjUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA2OC43NSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEzIHtcbiAgICAgIGhlaWdodDogODEuMjUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTQge1xuICAgICAgaGVpZ2h0OiA4Ny41JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTE1IHtcbiAgICAgIGhlaWdodDogOTMuNzUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTYge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogNi4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDEyLjUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAxOC43NSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogMzEuMjUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiAzNy41JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogNDMuNzUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDU2LjI1JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDYyLjUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogNjguNzUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEzIHtcbiAgICAgIGhlaWdodDogODEuMjUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTE0IHtcbiAgICAgIGhlaWdodDogODcuNSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTUge1xuICAgICAgaGVpZ2h0OiA5My43NSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTYge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xcmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xcmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoNi4yNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxMi41JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDE4Ljc1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDMxLjI1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDM3LjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDMuNzUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTYuMjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDYyLjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDY4Ljc1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEzIHtcbiAgICBoZWlnaHQ6IGNhbGMoODEuMjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDg3LjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkzLjc1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTYge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMC41cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxMi41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTguNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMxLjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzcuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQzLjc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg1Ni4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg2Mi41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY4Ljc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgxLjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDg3LjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTMuNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNi4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxMi41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE4Ljc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMxLjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDM3LjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDMuNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTYuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYyLjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY4Ljc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODEuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDg3LjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkzLjc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTE2IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNi4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEyLjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygxOC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzEuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYygzNy41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDMuNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYyLjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjguNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODEuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODcuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTE1IHtcbiAgICAgIGhlaWdodDogY2FsYyg5My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTE2IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNi4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygxOC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYygzNy41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTE1IHtcbiAgICAgIGhlaWdodDogY2FsYyg5My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTE2IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg0My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg1Ni4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEzIHtcbiAgICAgIGhlaWdodDogY2FsYyg4MS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygxOC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYygzMS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYygzNy41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg2Mi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg2OC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTE0IHtcbiAgICAgIGhlaWdodDogY2FsYyg4Ny41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTE1IHtcbiAgICAgIGhlaWdodDogY2FsYyg5My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDM3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg2Mi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTFyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg2LjI1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEyLjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTguNzUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzEuMjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzcuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg0My43NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg1Ni4yNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoNjIuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoNjguNzUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTMge1xuICAgIGhlaWdodDogY2FsYyg4MS4yNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTE0IHtcbiAgICBoZWlnaHQ6IGNhbGMoODcuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTE1IHtcbiAgICBoZWlnaHQ6IGNhbGMoOTMuNzUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNi4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEyLjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygxOC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzEuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYygzNy41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDMuNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYyLjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjguNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODEuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODcuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTE1IHtcbiAgICAgIGhlaWdodDogY2FsYyg5My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTE2IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEyLjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTguNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzEuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzcuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg0My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg1Ni4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjguNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEzIHtcbiAgICAgIGhlaWdodDogY2FsYyg4MS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODcuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTMuNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE4Ljc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYygzMS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDM3LjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg0My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTYuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg2OC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEzIHtcbiAgICAgIGhlaWdodDogY2FsYyg4MS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTE0IHtcbiAgICAgIGhlaWdodDogY2FsYyg4Ny41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkzLjc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYygzMS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDM3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg0My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg2OC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEzIHtcbiAgICAgIGhlaWdodDogY2FsYyg4MS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTE0IHtcbiAgICAgIGhlaWdodDogY2FsYyg4Ny41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygxOC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYygzMS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYygzNy41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg2Mi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg2OC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTE0IHtcbiAgICAgIGhlaWdodDogY2FsYyg4Ny41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTE1IHtcbiAgICAgIGhlaWdodDogY2FsYyg5My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNi4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxMi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDM3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDg3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTE2IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNi4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYygzMS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg1Ni4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg2OC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTE0IHtcbiAgICAgIGhlaWdodDogY2FsYyg4Ny41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTE2IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMC41cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDJyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMnJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDFyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMnJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMnJlbSk7IH0gfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksIGgxLCAjY29udGFjdC1vdmVybGF5IC5jb250YWN0X3RpdGxlLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV90ZWwsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2VtYWlsLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9hZGRyZXNzLFxuaDIsXG5oMyxcbi5jaGFyLXdyYXBwZXI6YmVmb3JlLFxuaDQsXG5oNSxcbmg2LFxuLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgI2NvbnRhY3Qtb3ZlcmxheSAuY29udGFjdF90aXRsZSwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfdGVsLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9lbWFpbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcywgLmgxLFxuaDIsIC5oMixcbmgzLFxuLmNoYXItd3JhcHBlcjpiZWZvcmUsIC5oMyxcbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsXG4uYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcInBvcHBpbnNib2xkXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsICNjb250YWN0LW92ZXJsYXkgLmNvbnRhY3RfdGl0bGUgc21hbGwsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX3RlbCBzbWFsbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfZW1haWwgc21hbGwsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2FkZHJlc3Mgc21hbGwsIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsXG4gIC5jaGFyLXdyYXBwZXI6YmVmb3JlIHNtYWxsLCAuaDMgc21hbGwsXG4gIGg0IHNtYWxsLCAuaDQgc21hbGwsXG4gIGg1IHNtYWxsLCAuaDUgc21hbGwsXG4gIGg2IHNtYWxsLFxuICAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICNERkRGREY7IH1cblxuaDEsICNjb250YWN0LW92ZXJsYXkgLmNvbnRhY3RfdGl0bGUsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX3RlbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfZW1haWwsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2FkZHJlc3MsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDEuNDM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cblxuaDMsXG4uY2hhci13cmFwcGVyOmJlZm9yZSwgLmgzIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuXG5oNixcbi5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICBoMSwgI2NvbnRhY3Qtb3ZlcmxheSAuY29udGFjdF90aXRsZSwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfdGVsLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9lbWFpbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcywgLmgxIHtcbiAgICBmb250LXNpemU6IDNyZW07IH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuICBcbiAgaDMsXG4gIC5jaGFyLXdyYXBwZXI6YmVmb3JlLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtOyB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtOyB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgXG4gIGg2LFxuICAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsIC5oNiB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMzEzOTQxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzJhMzEzODsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNERkRGREY7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RGREZERjsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICMzMTM5NDE7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICMzMTM5NDE7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMDAwMDAwO1xuICBjdXJzb3I6IGhlbHA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuY29kZSB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNERkRGREY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERkRGREY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RGREZERjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzMxMzk0MTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueHhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMTM5NDE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzLFxuICAuY2hhci13cmFwcGVyOmJlZm9yZSB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzLFxuICAuY2hhci13cmFwcGVyOmJlZm9yZSB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBwYWRkaW5nOiAwLjRlbSAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDIuNXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMxMzk0MTtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24sIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmdmb3JtX2J1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMxMzk0MTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLnRpbnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQudGlueS5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAudGlueS5nZm9ybV9idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuc21hbGwuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLnNtYWxsLmdmb3JtX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2UsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQubGFyZ2UuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLmxhcmdlLmdmb3JtX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZXhwYW5kZWQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLmV4cGFuZGVkLmdmb3JtX2J1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5wcmltYXJ5LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC5wcmltYXJ5Lmdmb3JtX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMxMzk0MTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5wcmltYXJ5LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQucHJpbWFyeS5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjcyZTM0O1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuc2Vjb25kYXJ5LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTA1MTZiO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuc2Vjb25kYXJ5LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnNlY29uZGFyeS5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LnNlY29uZGFyeS5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZDQxNTY7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLnN1Y2Nlc3MsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuc3VjY2Vzcy5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAuc3VjY2Vzcy5nZm9ybV9idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2RUI1MzM7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuc3VjY2Vzcy5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5zdWNjZXNzLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LnN1Y2Nlc3MuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuc3VjY2Vzcy5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU4OTEyOTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24ud2FybmluZywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC53YXJuaW5nLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC53YXJuaW5nLmdmb3JtX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmIwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC53YXJuaW5nLmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQud2FybmluZy5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC53YXJuaW5nLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOTAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi5hbGVydCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5hbGVydC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAuYWxlcnQuZ2Zvcm1fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5hbGVydC5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5hbGVydC5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYWxlcnQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuYWxlcnQuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5nZm9ybV9idXR0b24sIC5idXR0b25bZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbltkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5nZm9ybV9idXR0b24sIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbltkaXNhYmxlZF06aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzOTQxO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQucHJpbWFyeS5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5wcmltYXJ5Lmdmb3JtX2J1dHRvbiwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnlbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5wcmltYXJ5LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQucHJpbWFyeS5nZm9ybV9idXR0b24sIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5wcmltYXJ5LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQucHJpbWFyeS5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5wcmltYXJ5LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQucHJpbWFyeS5nZm9ybV9idXR0b246Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5W3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzOTQxO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLnNlY29uZGFyeS5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnlbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQuc2Vjb25kYXJ5LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQuc2Vjb25kYXJ5LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQuc2Vjb25kYXJ5LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5W3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMDUxNmI7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLnN1Y2Nlc3MuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuc3VjY2Vzcy5nZm9ybV9idXR0b24sIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQuc3VjY2Vzcy5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQuc3VjY2Vzcy5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQuc3VjY2Vzcy5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzc1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZFQjUzMztcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQud2FybmluZy5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC53YXJuaW5nLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmdbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC53YXJuaW5nLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQud2FybmluZy5nZm9ybV9idXR0b24sIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC53YXJuaW5nLmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQud2FybmluZy5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC53YXJuaW5nLmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQud2FybmluZy5nZm9ybV9idXR0b246Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmYjAwO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQuYWxlcnQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuYWxlcnQuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0W3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5hbGVydC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLmFsZXJ0Lmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5hbGVydC5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLmFsZXJ0Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5hbGVydC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLmFsZXJ0Lmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5hbGVydFt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uaG9sbG93LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lmdmb3JtX2J1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMxMzk0MTtcbiAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgIC5idXR0b24uaG9sbG93LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuZGlzYWJsZWQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LmRpc2FibGVkLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmRpc2FibGVkLmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5kaXNhYmxlZC5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5kaXNhYmxlZC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmJ1dHRvbltkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5idXR0b25bZGlzYWJsZWRdOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lmdmb3JtX2J1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYnV0dG9uW2Rpc2FibGVkXTpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5nZm9ybV9idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzE5MWQyMTtcbiAgICAgIGNvbG9yOiAjMTkxZDIxOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdzpob3Zlci5kaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYnV0dG9uOmhvdmVyLmRpc2FibGVkW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpob3ZlcltkaXNhYmxlZF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmJ1dHRvbjpob3ZlcltkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYnV0dG9uOmZvY3VzLmRpc2FibGVkW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmJ1dHRvbjpmb2N1c1tkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMxMzk0MTtcbiAgICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5wcmltYXJ5LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5wcmltYXJ5Lmdmb3JtX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzEzOTQxO1xuICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LnByaW1hcnkuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cucHJpbWFyeS5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LnByaW1hcnkuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cucHJpbWFyeS5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxOTFkMjE7XG4gICAgICAgIGNvbG9yOiAjMTkxZDIxOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cucHJpbWFyeS5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cucHJpbWFyeS5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzEzOTQxO1xuICAgICAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5zZWNvbmRhcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnNlY29uZGFyeS5nZm9ybV9idXR0b24ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzEwNTE2YjtcbiAgICAgIGNvbG9yOiAjMTA1MTZiOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LnNlY29uZGFyeS5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LnNlY29uZGFyeS5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDgyOTM2O1xuICAgICAgICBjb2xvcjogIzA4MjkzNjsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnNlY29uZGFyeS5nZm9ybV9idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMDUxNmI7XG4gICAgICAgICAgY29sb3I6ICMxMDUxNmI7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5zdWNjZXNzLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zdWNjZXNzLmdmb3JtX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNkVCNTMzO1xuICAgICAgY29sb3I6ICM2RUI1MzM7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3MuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuc3VjY2Vzcy5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3MuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuc3VjY2Vzcy5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzNzViMWE7XG4gICAgICAgIGNvbG9yOiAjMzc1YjFhOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuc3VjY2Vzcy5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zdWNjZXNzLmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuc3VjY2Vzcy5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNkVCNTMzO1xuICAgICAgICAgIGNvbG9yOiAjNkVCNTMzOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cud2FybmluZy5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cud2FybmluZy5nZm9ybV9idXR0b24ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmIwMDtcbiAgICAgIGNvbG9yOiAjZmZmYjAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy53YXJuaW5nLmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy53YXJuaW5nLmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA3ZTAwO1xuICAgICAgICBjb2xvcjogIzgwN2UwMDsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy53YXJuaW5nLmdmb3JtX2J1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cud2FybmluZy5nZm9ybV9idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmIwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmZmIwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5hbGVydC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuYWxlcnQuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmFsZXJ0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LmFsZXJ0Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmFsZXJ0LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LmFsZXJ0Lmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuYWxlcnQuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuYWxlcnQuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuYWxlcnQuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuYWxlcnQuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLmNsZWFyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b24ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMTM5NDE7XG4gICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5kaXNhYmxlZC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5kaXNhYmxlZC5nZm9ybV9idXR0b24sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuZGlzYWJsZWQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmRpc2FibGVkLmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmRpc2FibGVkLmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYnV0dG9uW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbltkaXNhYmxlZF06aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b25bZGlzYWJsZWRdOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXI6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMxOTFkMjE7XG4gICAgICBjb2xvcjogIzE5MWQyMTsgfVxuICAgICAgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246aG92ZXIuZGlzYWJsZWRbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYnV0dG9uOmhvdmVyW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246Zm9jdXMuZGlzYWJsZWRbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYnV0dG9uOmZvY3VzW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMTM5NDE7XG4gICAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgLmJ1dHRvbi5jbGVhciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b24sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuZGlzYWJsZWQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b25bZGlzYWJsZWRdW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYnV0dG9uOmhvdmVyLmRpc2FibGVkW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246aG92ZXJbZGlzYWJsZWRdW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246Zm9jdXMsIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYnV0dG9uOmZvY3VzLmRpc2FibGVkW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246Zm9jdXNbZGlzYWJsZWRdW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnByaW1hcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIucHJpbWFyeS5nZm9ybV9idXR0b24ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMxMzk0MTtcbiAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIucHJpbWFyeS5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIucHJpbWFyeS5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTkxZDIxO1xuICAgICAgICBjb2xvcjogIzE5MWQyMTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIucHJpbWFyeS5nZm9ybV9idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMTM5NDE7XG4gICAgICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5wcmltYXJ5LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIucHJpbWFyeS5nZm9ybV9idXR0b24sIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5wcmltYXJ5LmRpc2FibGVkLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIucHJpbWFyeS5kaXNhYmxlZC5nZm9ybV9idXR0b24sIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIucHJpbWFyeS5idXR0b25bZGlzYWJsZWRdW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5wcmltYXJ5LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIucHJpbWFyeS5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5wcmltYXJ5LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIucHJpbWFyeS5nZm9ybV9idXR0b246Zm9jdXMsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b24ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzEwNTE2YjtcbiAgICAgIGNvbG9yOiAjMTA1MTZiOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5zZWNvbmRhcnkuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDgyOTM2O1xuICAgICAgICBjb2xvcjogIzA4MjkzNjsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTA1MTZiO1xuICAgICAgICAgIGNvbG9yOiAjMTA1MTZiOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5zZWNvbmRhcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5LmJ1dHRvbltkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeS5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b246Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuc3VjY2Vzcy5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zdWNjZXNzLmdmb3JtX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNkVCNTMzO1xuICAgICAgY29sb3I6ICM2RUI1MzM7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5zdWNjZXNzLmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5zdWNjZXNzLmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzNzViMWE7XG4gICAgICAgIGNvbG9yOiAjMzc1YjFhOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zdWNjZXNzLmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZFQjUzMztcbiAgICAgICAgICBjb2xvcjogIzZFQjUzMzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3MuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zdWNjZXNzLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zdWNjZXNzLmRpc2FibGVkLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5zdWNjZXNzLmJ1dHRvbltkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3MuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zdWNjZXNzLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3MuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zdWNjZXNzLmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIud2FybmluZy5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci53YXJuaW5nLmdmb3JtX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmYjAwO1xuICAgICAgY29sb3I6ICNmZmZiMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci53YXJuaW5nLmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci53YXJuaW5nLmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDdlMDA7XG4gICAgICAgIGNvbG9yOiAjODA3ZTAwOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci53YXJuaW5nLmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmIwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmZmIwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLndhcm5pbmcuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci53YXJuaW5nLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLndhcm5pbmcuZGlzYWJsZWQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci53YXJuaW5nLmRpc2FibGVkLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci53YXJuaW5nLmJ1dHRvbltkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLndhcm5pbmcuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci53YXJuaW5nLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLndhcm5pbmcuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci53YXJuaW5nLmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmFsZXJ0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYWxlcnQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5hbGVydC5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYWxlcnQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5hbGVydC5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5hbGVydC5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuYWxlcnQuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5hbGVydC5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmFsZXJ0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuYWxlcnQuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmFsZXJ0LmRpc2FibGVkLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuYWxlcnQuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5hbGVydC5idXR0b25bZGlzYWJsZWRdW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5hbGVydC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmFsZXJ0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuYWxlcnQuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuYWxlcnQuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5hbGVydC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5hbGVydC5nZm9ybV9idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRyb3Bkb3duLmJ1dHRvblt0eXBlPXN1Ym1pdF06OmFmdGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAuZHJvcGRvd24uZ2Zvcm1fYnV0dG9uOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kcm9wZG93bi5ob2xsb3cuYnV0dG9uW3R5cGU9c3VibWl0XTo6YWZ0ZXIsXG4gIC5nZm9ybV93cmFwcGVyIC5kcm9wZG93bi5ob2xsb3cuZ2Zvcm1fYnV0dG9uOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzMxMzk0MTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlcixcbiAgLmdmb3JtX3dyYXBwZXIgLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5Lmdmb3JtX2J1dHRvbjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzMTM5NDE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlcixcbiAgLmdmb3JtX3dyYXBwZXIgLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzEwNTE2YjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlcixcbiAgLmdmb3JtX3dyYXBwZXIgLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzLmdmb3JtX2J1dHRvbjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM2RUI1MzM7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIsXG4gIC5nZm9ybV93cmFwcGVyIC5kcm9wZG93bi5ob2xsb3cud2FybmluZy5nZm9ybV9idXR0b246OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmYjAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlcixcbiAgLmdmb3JtX3dyYXBwZXIgLmRyb3Bkb3duLmhvbGxvdy5hbGVydC5nZm9ybV9idXR0b246OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYXJyb3ctb25seS5idXR0b25bdHlwZT1zdWJtaXRdOjphZnRlcixcbiAgLmdmb3JtX3dyYXBwZXIgLmFycm93LW9ubHkuZ2Zvcm1fYnV0dG9uOjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsXG4uZ2Zvcm1fd3JhcHBlciBhLmdmb3JtX2J1dHRvbjpob3ZlciwgYS5idXR0b246Zm9jdXMsXG4uZ2Zvcm1fd3JhcHBlciBhLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RGREZERjtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDBweCAwcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMxMzk0MTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwcHggI0RGREZERjtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjREZERkRGOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERkRGREY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbSAwIDAgMC4xODc1cmVtOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwLjE4NzVyZW0gMC4xODc1cmVtIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjREZERkRGO1xuICBiYWNrZ3JvdW5kOiAjREZERkRGO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4td2lkdGg6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNERkRGREY7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNERkRGREY7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4NDksIDU3LCA2NSUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMxMzk0MTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwcHggI0RGREZERjtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNERkRGREY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNjYzRiMzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWVkZWI7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW0gMC4xODc1cmVtIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMTg3NXJlbSAwLjE4NzVyZW07IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMDtcbiAgYm9yZGVyOiAwcHggc29saWQgI0RGREZERjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzMxMzk0MTsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAwcHggc29saWQgI0RGREZERjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMC4xODc1cmVtIDAuMTg3NXJlbTsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGNvbnRlbnQ6ICcrJzsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDEzJzsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtIDA7XG4gIGJvcmRlcjogMHB4IHNvbGlkICNERkRGREY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjMzEzOTQxOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDBweCBzb2xpZCAjREZERkRGOyB9XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgcGFkZGluZzogMC4zZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzMxMzk0MTtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJhZGdlLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMzMTM5NDE7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzEwNTE2YjtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYmFkZ2Uuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzZFQjUzMztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYmFkZ2Uud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmIwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYmFkZ2UuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgY29sb3I6ICNERkRGREY7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNERkRGREY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24sIC5idXR0b24tZ3JvdXAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmJ1dHRvbi1ncm91cCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwIC5nZm9ybV9idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpsYXN0LWNoaWxkW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwIGlucHV0LmJ1dHRvbjpsYXN0LWNoaWxkW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b246bGFzdC1jaGlsZCwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cCAuZ2Zvcm1fYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnRpbnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAudGlueSBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuYnV0dG9uLWdyb3VwLnRpbnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC50aW55IC5nZm9ybV9idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zbWFsbCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zbWFsbCBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc21hbGwgLmdmb3JtX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5sYXJnZSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5sYXJnZSBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAubGFyZ2UgLmdmb3JtX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmdmb3JtX2J1dHRvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzOTQxO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b246aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgaW5wdXQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI3MmUzNDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTA1MTZiO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGlucHV0LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQ0MTU2O1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmdmb3JtX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZFQjUzMztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyBpbnB1dC5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGlucHV0LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b246Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ODkxMjk7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAud2FybmluZyAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmYjAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC53YXJuaW5nIGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b246aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAud2FybmluZyAuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgaW5wdXQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYzkwMDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5hbGVydCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5hbGVydCBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuYWxlcnQgLmdmb3JtX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5hbGVydCBpbnB1dC5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5idXR0b24tZ3JvdXAuYWxlcnQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5hbGVydCAuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAuYWxlcnQgaW5wdXQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b246Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuYWxlcnQgLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmdmb3JtX2J1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmxhc3QtY2hpbGRbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZCBpbnB1dC5idXR0b246bGFzdC1jaGlsZFt0eXBlPXN1Ym1pdF0sXG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpsYXN0LWNoaWxkLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmdmb3JtX2J1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpsYXN0LWNoaWxkW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIGlucHV0LmJ1dHRvbjpsYXN0LWNoaWxkW3R5cGU9c3VibWl0XSxcbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpsYXN0LWNoaWxkLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5nZm9ybV9idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpsYXN0LWNoaWxkW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSBpbnB1dC5idXR0b246bGFzdC1jaGlsZFt0eXBlPXN1Ym1pdF0sXG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmxhc3QtY2hpbGQsIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5nZm9ybV9idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmdmb3JtX2J1dHRvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51IGEsXG4gIC5tZW51IC5idXR0b24sXG4gIC5tZW51IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAubWVudSBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAubWVudSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLFxuICAuZ2Zvcm1fd3JhcHBlciAubWVudSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUueGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LnhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS54bGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LnhsYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAubWVudS54eGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lnh4bGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUueHhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUueHhsYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51Lmljb25zIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi10b3AgYSwgLm1lbnUuaWNvbi1yaWdodCBhLCAubWVudS5pY29uLWJvdHRvbSBhLCAubWVudS5pY29uLWxlZnQgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLWxlZnQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXJpZ2h0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXRvcCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogMC43cmVtIDByZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzMxMzk0MSwgMCAxNHB4IDAgIzMxMzk0MTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzMxMzk0MTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMzMTM5NDEsIDAgMTRweCAwICMzMTM5NDE7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwMDAwMDAsIDAgMTRweCAwICMwMDAwMDA7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzMxMzk0MTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMzMTM5NDEsIDAgMTRweCAwICMzMTM5NDE7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaXMtZHJpbGxkb3duIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41czsgfVxuXG4uZHJpbGxkb3duIGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMHJlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAwcmVtOyB9XG5cbi5kcmlsbGRvd24gLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyaWxsZG93biAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzMxMzk0MTsgfVxuXG4uZHJpbGxkb3duLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzMTM5NDE7IH1cblxuLmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzMxMzk0MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZHJpbGxkb3duIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzMTM5NDEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjMzEzOTQxO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzMxMzk0MTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMTA1MTZiO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjNkVCNTMzO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmYjAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogIzMxMzk0MTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMzEzOTQxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDMyMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMyMHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzIwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMjBweCk7IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAtMTNweCAwIDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAzMjBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMyMHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzIwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMjBweCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMTNweCAwIDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyODBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yODBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjgwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXRvcC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjgwcHgpOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xM3B4IDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyODBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI4MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI4MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yODBweCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMTNweCAyMHB4IC0xM3B4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMyMHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMjBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzIwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAzMjBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMjBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMyMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMyMHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMyMHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMjBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMyMHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDMyMHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAzMjBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMjBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzIwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMyMHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMjBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMjBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAzMjBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDMyMHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMyMHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzIwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMjBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMyMHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDMyMHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDMyMHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMyMHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMyMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBjb2xvcjogIzMxMzk0MTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCxcbi50aXRsZS1iYXItcmlnaHQge1xuICBmbGV4OiAxIDEgMHB4OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54eGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54eGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54eGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54eGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54eGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG4vKlxuICBNeSBjdXN0b20gc3R5bGVzOlxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXG4qL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgfVxuXG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbmJvZHkuYWRtaW4tYmFyLmYtdG9wYmFyLWZpeGVkIC5zdGlja3kuZml4ZWQge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbmJvZHkuYWRtaW4tYmFyLm9mZmNhbnZhcyAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdG9wOiAyLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC45Mzc1ZW0pIHtcbiAgICBib2R5LmFkbWluLWJhci5vZmZjYW52YXMgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgICB0b3A6IDJyZW07IH0gfVxuXG4ud3AtY2FwdGlvbiA+IGZpZ2NhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogIzk5OTtcbiAgcGFkZGluZzogMC4yNXJlbSAwOyB9XG5cbnAud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNyZWd1bGFyJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy1yZWd1bGFyLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBmYWxsYmFjazsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9vcGVuc2Fucy1ib2xkLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL29wZW5zYW5zLWJvbGQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBmYWxsYmFjazsgfVxuXG4vKiEgR2VuZXJhdGVkIGJ5IEZvbnQgU3F1aXJyZWwgKGh0dHBzOi8vd3d3LmZvbnRzcXVpcnJlbC5jb20pIG9uIEp1bHkgNSwgMjAyMyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3BvcHBpbnMtYm9sZC13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9wb3BwaW5zLWJvbGQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYmxhY2snO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3BvcHBpbnMtYmxhY2std2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvcG9wcGlucy1ibGFjay13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNyZWd1bGFyJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9wb3BwaW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvcG9wcGlucy1yZWd1bGFyLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc21lZGl1bSc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvcG9wcGlucy1tZWRpdW0td2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvcG9wcGlucy1tZWRpdW0td2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3BvcHBpbnMtc2VtaWJvbGQtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvcG9wcGlucy1zZW1pYm9sZC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLm1vYmlsZS1tZW51LFxuICAuc2l0ZS10aXRsZS1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuZGVza3RvcC1tZW51LFxuICAuc2lkZWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNpdGUtZGVza3RvcC10aXRsZSBhIHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5tZW51IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5tZW51IC5jdXJyZW50X3BhZ2VfaXRlbSBhLFxuICAubWVudSAuY3VycmVudC1wYWdlLWFuY2VzdG9yIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cblxuLm1vYmlsZS1tZW51IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udGl0bGUtYmFyIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4ubWVudS1pY29uLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjMzEzOTQxO1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4yIGVhc2U7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7IH1cbiAgLm1lbnUtaWNvbi1idXR0b246aG92ZXIsIC5tZW51LWljb24tYnV0dG9uOmZvY3VzLCAubWVudS1pY29uLWJ1dHRvbjphY3RpdmUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzEwNTE2YjsgfVxuICAgIC5tZW51LWljb24tYnV0dG9uOmhvdmVyIHNwYW4sIC5tZW51LWljb24tYnV0dG9uOmZvY3VzIHNwYW4sIC5tZW51LWljb24tYnV0dG9uOmFjdGl2ZSBzcGFuIHtcbiAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gIC5tZW51LWljb24tYnV0dG9uIGJ1dHRvbjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24tYnV0dG9uIHNwYW4ge1xuICAgIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMgPiB1bC5tZW51IHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAub2ZmLWNhbnZhcyA+IHVsLm1lbnUgYSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLm9mZi1jYW52YXMgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH1cblxuLnRvcC1iYXIgLmNoaWxkbmF2IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnRvcC1iYXIgLmNoaWxkbmF2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAudG9wLWJhciAuY2hpbGRuYXYsIC50b3AtYmFyIC5jaGlsZG5hdiB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuICAudG9wLWJhciAuY2hpbGRuYXYgYSB7XG4gICAgY29sb3I6IHJnYmEoNDksIDU3LCA2NSwgMC44NSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLnRvcC1iYXIgLmNoaWxkbmF2ID4gbGkge1xuICAgIG1hcmdpbjogMCAwLjEyNXJlbTsgfVxuICAgIC50b3AtYmFyIC5jaGlsZG5hdiA+IGxpID4gYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzMxMzk0MTsgfVxuICAgIC50b3AtYmFyIC5jaGlsZG5hdiA+IGxpLmlzLWFjdGl2ZSBhLFxuICAgIC50b3AtYmFyIC5jaGlsZG5hdiA+IGxpID4gYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzMxMzk0MTsgfVxuXG4uZHJpbGxkb3duIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgLmRyaWxsZG93biAuaGVpZ2h0LXdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuNjEsIDAuMDA1LCAwLjM2LCAxLjAxKTsgfVxuICAuZHJpbGxkb3duIC5jaGlsZG5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmRyaWxsZG93biAuY2hpbGRuYXYucmVhZHkge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAuNjEsIDAuMDA1LCAwLjM2LCAxLjAxKSwgb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmRyaWxsZG93biAuY2hpbGRuYXZbZGF0YS1kZXB0aD1cIjFcIl0ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAgIC5kcmlsbGRvd24gLmNoaWxkbmF2W2RhdGEtZGVwdGg9XCIyXCJdIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwJSk7IH1cbiAgICAuZHJpbGxkb3duIC5jaGlsZG5hdltkYXRhLWRlcHRoPVwiM1wiXSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwMCUpOyB9XG4gICAgLmRyaWxsZG93biAuY2hpbGRuYXZbZGF0YS1kZXB0aD1cIjRcIl0ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDAlKTsgfVxuICAgIC5kcmlsbGRvd24gLmNoaWxkbmF2W2RhdGEtZGVwdGg9XCI1XCJdIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAwJSk7IH1cbiAgICAuZHJpbGxkb3duIC5jaGlsZG5hdiAuY2hpbGRyZW4ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAgIC5kcmlsbGRvd24gLmNoaWxkbmF2IGxpW2NsYXNzKj1cImN1cnJlbnRcIl0gLmNoaWxkcmVuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmRyaWxsZG93biAuY2hpbGRuYXYgPiBsaSA+IGEge1xuICAgICAgYm9yZGVyLWxlZnQ6IDAuMTg3NXJlbSBzb2xpZCB2YXIoLS1tYWluLWNvbG9yKTsgfVxuICAuZHJpbGxkb3duIGxpLnBhZ2VfaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RGREZERjsgfVxuICAgIC5kcmlsbGRvd24gbGkucGFnZV9pdGVtX2hhc19jaGlsZHJlbiA+IGE6bm90KC5iYWNrKSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMi42MjVyZW0pOyB9XG4gICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDIuNjI1cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5kcmlsbGRvd24gbGkucGFnZV9pdGVtIGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpOyB9IH1cbiAgICAgIC5kcmlsbGRvd24gbGkucGFnZV9pdGVtIGEuYmFjayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgICAgIC5kcmlsbGRvd24gbGkucGFnZV9pdGVtIGEuYmFjayBzdmcge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIHdpZHRoOiAwLjU2MjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAwLjg3NXJlbTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlOyB9XG4gICAgICAgIC5kcmlsbGRvd24gbGkucGFnZV9pdGVtIGEuYmFjazpob3ZlciBzdmcge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTsgfVxuICAgICAgICAuZHJpbGxkb3duIGxpLnBhZ2VfaXRlbSBhLmJhY2sgZGl2IHtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4xMjVyZW0pO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5kcmlsbGRvd24gbGkucGFnZV9pdGVtIGEgKiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gc3BhbiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyMywgMjIzLCAyMjMsIDAuMik7XG4gICAgICB3aWR0aDogMi42MjVyZW07XG4gICAgICBoZWlnaHQ6IDFmcjtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gc3Bhbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1haW4tY29sb3IpO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gc3BhbiBzdmcge1xuICAgICAgICB3aWR0aDogMC44NzVyZW07XG4gICAgICAgIGhlaWdodDogMC44NzVyZW07IH1cbiAgICAuZHJpbGxkb3duIGxpLnBhZ2VfaXRlbTpsYXN0LW9mLXR5cGUgYSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LWxhbmdzd2l0Y2gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgbWluLWhlaWdodDogMy43NXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMjMsIDIyMywgMjIzLCAwLjEpOyB9XG4gICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCAubWVudS1zcHJhY2hhdXN3YWhsLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMTsgfVxuICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LWxhbmdzd2l0Y2ggYSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG1hcmdpbjogNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMzEuMjVyZW07XG4gICAgICB3aWR0aDogMS44NzVyZW07XG4gICAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG4gICAgICAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi1sYW5nc3dpdGNoIGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTA1MTZiOyB9XG4gICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCBidXR0b24ge1xuICAgICAgbWFyZ2luOiAxNnB4IDE2cHggMTZweCBhdXRvO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LWxhbmdzd2l0Y2ggYnV0dG9uIHNwYW4ge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgICAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi1sYW5nc3dpdGNoIGJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LWxhbmdzd2l0Y2ggYnV0dG9uOmhvdmVyIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi1sYW5nc3dpdGNoIGJ1dHRvbiBzdmcge1xuICAgICAgICB3aWR0aDogMS4zMTI1cmVtOyB9XG4gIC5vZmYtY2FudmFzIC5kcmlsbGRvd24gLmhlaWdodC13cmFwcGVyIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjIzLCAyMjMsIDIyMywgMC4xKTsgfVxuICAub2ZmLWNhbnZhcyAuZHJpbGxkb3duLCAub2ZmLWNhbnZhcyAuZHJpbGxkb3duIGEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5vZmYtY2FudmFzIC5kcmlsbGRvd24gbGkucGFnZV9pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMjMsIDIyMywgMjIzLCAwLjEpOyB9XG4gICAgLm9mZi1jYW52YXMgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMmEzMTM4OyB9XG4gIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LW1lbnUgdWwge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDhweDsgfVxuICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LW1lbnUgdWwgbGkgYSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LW1lbnUgdWwgbGkgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgICAgIG1hcmdpbjogMCA4cHg7IH1cbiAgICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LW1lbnUgdWwgbGkgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgICAgICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbWVudSB1bCBsaSBhOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LW1lbnUgdWwgbGk6bGFzdC1vZi10eXBlIGE6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi1zZWFyY2gge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgbWFyZ2luOiAyNHB4IGF1dG87IH1cbiAgICAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi1zZWFyY2ggLmlucHV0LWdyb3VwIHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkZGRkZGOyB9XG4gICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtc2VhcmNoIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LXNlYXJjaCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHN2ZyB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgdHJhbnNsYXRlKDVweCwgNXB4KTsgfVxuXG4ub2ZmLWNhbnZhcy1mb290ZXIge1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm9mZi1jYW52YXMtZm9vdGVyIC5mYiB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYmFja2dyb3VuZDogIzNCNTk5ODtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAub2ZmLWNhbnZhcy1mb290ZXIgLnNlcnZpY2VuYXYtbG9nb3Mge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjRweDsgfVxuICAgIC5vZmYtY2FudmFzLWZvb3RlciAuc2VydmljZW5hdi1sb2dvcyBpbWcge1xuICAgICAgbWFyZ2luOiA4cHg7IH1cblxuLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0IHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4udG9wLWJhciBhIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlOyB9XG5cbi50b3AtYmFyIC5tZW51IGxpIHtcbiAgbWFyZ2luOiAwIDAuNjI1cmVtOyB9XG4gIC50b3AtYmFyIC5tZW51IGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAudG9wLWJhciAubWVudSBsaTpub3QoLm1lbnUtdGV4dCkgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzMxMzk0MTtcbiAgICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlOyB9XG5cbi50b3AtYmFyICNtZW51LXNwcmFjaGF1c3dhaGwgKiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDQ5LCA1NywgNjUsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuLnRvcC1iYXIgI21lbnUtc3ByYWNoYXVzd2FobCBsaSB7XG4gIG1hcmdpbjogMCAwLjEyNXJlbTsgfVxuXG4udG9wLWJhciAjbWVudS1zcHJhY2hhdXN3YWhsIGEge1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICMzMTM5NDE7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluOyB9XG4gIC50b3AtYmFyICNtZW51LXNwcmFjaGF1c3dhaGwgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSg0OSwgNTcsIDY1LCAwLjEpOyB9XG5cbi50b3AtYmFyIC5kcm9wZG93bi5tZW51IC5zdWJtZW51IHtcbiAgYm9yZGVyOiAwOyB9XG5cbi50b3AtYmFyIC5kcm9wZG93bi5tZW51IC5oYXMtc3VibWVudS5pcy1kb3duLWFycm93IGEge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG5cbi50b3AtYmFyIC5kcm9wZG93bi5tZW51IC5oYXMtc3VibWVudS5pcy1kb3duLWFycm93ID4gYTo6YWZ0ZXIge1xuICBib3JkZXI6IDA7IH1cblxuLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnU6Zmlyc3QtY2hpbGQgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNpdGUtbmF2aWdhdGlvbiB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbi5wb3N0LW5hdmlnYXRpb246OmJlZm9yZSwgLnBvc3QtbmF2aWdhdGlvbjo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTsgfVxuXG4ucG9zdC1uYXZpZ2F0aW9uOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5uYXYtcHJldmlvdXMge1xuICBmbG9hdDogbGVmdDsgfVxuXG4ubmF2LW5leHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuYm9keSN0aW55bWNlIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBwYWRkaW5nOiAxLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgYm9keSN0aW55bWNlIGEge1xuICAgIGNvbG9yOiAjMTA1MTZiICFpbXBvcnRhbnQ7IH1cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuLnBhZ2luYXRpb24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogNjRweCAwIDE2cHggMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2luYXRpb24ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAucGFnaW5hdGlvbiAqIHtcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgIGNvbG9yOiAjMzEzOTQxO1xuICAgIG1hcmdpbjogMCA4cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsgfVxuICAgIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnM6bm90KC5wcmV2KTpub3QoLm5leHQpIHtcbiAgICAgIHdpZHRoOiAyLjE4NzVyZW07XG4gICAgICBoZWlnaHQ6IDIuMTg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLnByZXYsIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMubmV4dCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5wcmV2IHN2ZywgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5uZXh0IHN2ZyB7XG4gICAgICAgIG1hcmdpbjogMCA4cHg7IH1cbiAgICAgIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMucHJldiBwYXRoLCAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLm5leHQgcGF0aCB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgICAgIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMucHJldjpob3ZlciBwYXRoLCAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLm5leHQ6aG92ZXIgcGF0aCB7XG4gICAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5wcmV2IHN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMubmV4dCBzdmcge1xuICAgICAgb3JkZXI6IDI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgICAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVyczpub3QoLm5leHQpOm5vdCgucHJldikge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucGFnaW5hdGlvbiBhOm5vdCgucHJldik6bm90KC5uZXh0KTpob3ZlcixcbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIGJhY2tncm91bmQ6ICMxMDUxNmI7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLnBhZ2luYXRpb24gYTpob3ZlciB7XG4gICAgY29sb3I6ICMxMDUxNmI7IH1cblxudWwucGFnaW5hdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMTZweDsgfVxuICB1bC5wYWdpbmF0aW9uIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGkgPiAqIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxO1xuICAgICAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICAgIHdpZHRoOiAxLjg3NXJlbTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzMxMzk0MTtcbiAgICAgIG1hcmdpbjogMC4zMTI1cmVtOyB9XG4gICAgICB1bC5wYWdpbmF0aW9uIGxpID4gKjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzMTM5NDE7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGkgYSB7XG4gICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGkgLmN1cnJlbnQge1xuICAgICAgYmFja2dyb3VuZDogIzMxMzk0MTsgfVxuICAgICAgdWwucGFnaW5hdGlvbiBsaSAuY3VycmVudCwgdWwucGFnaW5hdGlvbiBsaSAuY3VycmVudCBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzMxMzk0MTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cblxuI2NvbnRhY3Qtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICB6LWluZGV4OiAxMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjY29udGFjdC1vdmVybGF5OmJlZm9yZSwgI2NvbnRhY3Qtb3ZlcmxheTphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHdoaXRlIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICAgIC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICAgIGhlaWdodDogMi44MTI1cmVtO1xuICAgIHotaW5kZXg6IDEwMTsgfVxuICAjY29udGFjdC1vdmVybGF5OmFmdGVyIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgI2NvbnRhY3Qtb3ZlcmxheSAuZGVzYyB7XG4gICAgY29sb3I6IHJnYmEoNDksIDU3LCA2NSwgMC42KTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgbWFyZ2luOiAxNnB4IDAgMCAwOyB9XG4gICNjb250YWN0LW92ZXJsYXkgLnNjcm9sbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLypkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyovXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAjY29udGFjdC1vdmVybGF5IC5zY3JvbGwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICNjb250YWN0LW92ZXJsYXkub3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgI2NvbnRhY3Qtb3ZlcmxheS5vcGVuIC5zY3JvbGwge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgI2NvbnRhY3Qtb3ZlcmxheSAuY29udGFjdF90aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAjY29udGFjdC1vdmVybGF5IGltZyB7XG4gICAgd2lkdGg6IDQuMDYyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAzMnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgI2NvbnRhY3Qtb3ZlcmxheSBpbWcge1xuICAgICAgICB3aWR0aDogNS41cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjY29udGFjdC1vdmVybGF5IGltZyB7XG4gICAgICAgIHdpZHRoOiA3LjVyZW07IH0gfVxuICAjY29udGFjdC1vdmVybGF5IHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICB0b3A6IDE2cHg7XG4gICAgcmlnaHQ6IDMycHg7XG4gICAgei1pbmRleDogMTAyO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAjY29udGFjdC1vdmVybGF5IHN2ZyB7XG4gICAgICAgIHRvcDogMzJweDtcbiAgICAgICAgcmlnaHQ6IDMycHg7XG4gICAgICAgIHdpZHRoOiAzLjM3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAzLjM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2NvbnRhY3Qtb3ZlcmxheSBzdmcge1xuICAgICAgICB0b3A6IDY0cHg7XG4gICAgICAgIHJpZ2h0OiA2NHB4OyB9IH1cbiAgICAjY29udGFjdC1vdmVybGF5IHN2Zzpob3ZlciByZWN0IHtcbiAgICAgIGZpbGw6ICMxMDUxNmI7IH1cbiAgI2NvbnRhY3Qtb3ZlcmxheSBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgI2NvbnRhY3Qtb3ZlcmxheSBwIHtcbiAgICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjYpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjY29udGFjdC1vdmVybGF5IHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfSB9XG4gICNjb250YWN0LW92ZXJsYXkgLmdyaWQge1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNjRyZW07XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAjY29udGFjdC1vdmVybGF5IC5ncmlkIHtcbiAgICAgICAgcGFkZGluZzogMTZweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICNjb250YWN0LW92ZXJsYXkgLmdyaWQgPiBkaXYge1xuICAgICAgZmxleDogMSAxIDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCA+IGRpdiB7XG4gICAgICAgICAgZmxleDogMSAxIDUwJTsgfSB9XG4gICAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCA+IGRpdjpsYXN0LW9mLXR5cGUge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICNjb250YWN0LW92ZXJsYXkgLmdyaWQgPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNDM3NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07IH0gfVxuICAgICAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCA+IGRpdjpsYXN0LW9mLXR5cGUgZGl2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICNjb250YWN0LW92ZXJsYXkgLmdyaWQgPiBkaXY6bGFzdC1vZi10eXBlIGRpdiB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICAgICAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCA+IGRpdjpsYXN0LW9mLXR5cGUgLmJ1dHRvbixcbiAgICAgICNjb250YWN0LW92ZXJsYXkgLmdyaWQgPiBkaXY6bGFzdC1vZi10eXBlIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyICNjb250YWN0LW92ZXJsYXkgLmdyaWQgPiBkaXY6bGFzdC1vZi10eXBlIC5nZm9ybV9idXR0b24ge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMTAuNjY2NjdweCAxNnB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCA+IGRpdjpsYXN0LW9mLXR5cGUgLmJ1dHRvbixcbiAgICAgICAgICAjY29udGFjdC1vdmVybGF5IC5ncmlkID4gZGl2Omxhc3Qtb2YtdHlwZSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAjY29udGFjdC1vdmVybGF5IC5ncmlkID4gZGl2Omxhc3Qtb2YtdHlwZSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bzsgfSB9XG4gICNjb250YWN0LW92ZXJsYXkgLmhvbWVfc3VidGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX3RlbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfZW1haWwsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2FkZHJlc3Mge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX3RlbCB7XG4gICAgZm9udC1zaXplOiAyLjM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAjY29udGFjdC1vdmVybGF5IC5sYXJnZV90ZWwge1xuICAgICAgICBmb250LXNpemU6IDMuNzVyZW07IH0gfVxuICAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9lbWFpbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9lbWFpbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy4wNjI1cmVtOyB9IH1cbiAgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcyB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2FkZHJlc3Mge1xuICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zOyB9IH1cbiAgICAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9hZGRyZXNzIGRpdiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2FkZHJlc3MgYSB7XG4gICAgICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjYpO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG5odG1sLmNvbnRhY3QtaXMtb3BlbltkYXRhLXdoYXRpbnB1dD0ndG91Y2gnXSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwOyB9XG4gIGh0bWwuY29udGFjdC1pcy1vcGVuW2RhdGEtd2hhdGlucHV0PSd0b3VjaCddICNjb250YWN0LW92ZXJsYXkub3BlbiAuc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogc2Nyb2xsOyB9XG5cbi5jYXJkLXdyYXBwZXIge1xuICBtYXJnaW46IDQwcHggMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2FyZC13cmFwcGVyIHtcbiAgICAgIG1hcmdpbjogNDhweCAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC04cHg7IH0gfVxuICAuY2FyZC13cmFwcGVyID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoIDUwJSAtIDE2cHgpO1xuICAgIG1hcmdpbjogOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmNhcmQtd3JhcHBlciA+ICoge1xuICAgICAgICB3aWR0aDogY2FsYyggMzMlIC0gMTZweCk7IH0gfVxuICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAuY2FyZC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyMzBweCwgMWZyKSk7XG4gICAgICBncmlkLWdhcDogMC45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY2FyZC13cmFwcGVyIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgICAgLmNhcmQtd3JhcHBlciAuY2FyZCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAc3VwcG9ydHMgKGRpc3BsYXk6IC1tcy1ncmlkKSB7XG4gICAgLmNhcmQtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC5jYXJkLXdyYXBwZXIgPiAqIHtcbiAgICAgICAgZmxleDogMCAxIDQ4JTtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW07IH0gfVxuXG4uY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgLmNhcmQ6aG92ZXIgLmthY2hlbC1tZXRhLCAuY2FyZDpob3ZlciAua2FjaGVsLW1ldGEgaDUgc3ZnIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4ua2FjaGVsLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmthY2hlbC1pbWFnZTphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTsgfVxuICAua2FjaGVsLWltYWdlOmhvdmVyOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAwLjg7IH1cbiAgLmthY2hlbC1pbWFnZTpob3ZlciAubWV0YSB7XG4gICAgYmFja2dyb3VuZDogIzEwNTE2YjsgfVxuICAgIC5rYWNoZWwtaW1hZ2U6aG92ZXIgLm1ldGEsIC5rYWNoZWwtaW1hZ2U6aG92ZXIgLm1ldGEgc3ZnIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5rYWNoZWwtaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAua2FjaGVsLWltYWdlIC5rYWNoZWwtbWV0YSB7XG4gICAgei1pbmRleDogMTA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDIuNTYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDg1JTsgfVxuICAgIC5rYWNoZWwtaW1hZ2UgLmthY2hlbC1tZXRhIGg1IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMS4yNXJlbTsgfVxuICAgICAgLmthY2hlbC1pbWFnZSAua2FjaGVsLW1ldGEgaDUgc3ZnIHtcbiAgICAgICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAwLjc1cmVtOyB9XG4gICAgLmthY2hlbC1pbWFnZSAua2FjaGVsLW1ldGEgaW1nIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4uYmxvZyAud3JhcHBlci0tbmV3cyB7XG4gIGdyaWQtZ2FwOiAxNnB4OyB9XG5cbi53cmFwcGVyLS1uZXdzIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWxlZnQ6IC0yLjY2NjY3cHg7XG4gIG1hcmdpbi1yaWdodDogLTIuNjY2NjdweDsgfVxuICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAud3JhcHBlci0tbmV3cyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvOyB9IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiAtbXMtZ3JpZCkge1xuICAgIC53cmFwcGVyLS1uZXdzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAud3JhcHBlci0tbmV3cyAuY2FyZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xODc1cmVtIHNvbGlkIHZhcigtLW1haW4tY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxIDEgMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAud3JhcHBlci0tbmV3cyAuY2FyZCB7XG4gICAgICAgIGZsZXg6IDEgMSA1MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC53cmFwcGVyLS1uZXdzIC5jYXJkIHtcbiAgICAgICAgZmxleDogMSAxIDI1JTsgfSB9XG4gICAgLndyYXBwZXItLW5ld3MgLmNhcmQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC4xODc1cmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAgIC53cmFwcGVyLS1uZXdzIC5jYXJkOmhvdmVyLCAud3JhcHBlci0tbmV3cyAuY2FyZDpob3ZlciAubmV3cy1tZXRhIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzEwNTE2YjsgfVxuICAgICAgLndyYXBwZXItLW5ld3MgLmNhcmQ6aG92ZXIgLm5ld3MtbWV0YSwgLndyYXBwZXItLW5ld3MgLmNhcmQ6aG92ZXIgLmRlc2NyaXB0aW9uLCAud3JhcHBlci0tbmV3cyAuY2FyZDpob3ZlciBzcGFuLCAud3JhcHBlci0tbmV3cyAuY2FyZDpob3ZlciBoNSB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC53cmFwcGVyLS1uZXdzIGg1LCAud3JhcHBlci0tbmV3cyAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDAgMTZweDsgfVxuICAud3JhcHBlci0tbmV3cyBoNSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBjb2xvcjogIzMxMzk0MTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7IH1cbiAgLndyYXBwZXItLW5ld3MgLm5ld3Mta2FjaGVsLWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgIC53cmFwcGVyLS1uZXdzIC5uZXdzLWthY2hlbC1pbWFnZSBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC53cmFwcGVyLS1uZXdzIC5uZXdzLWthY2hlbC1pbWFnZSAubmV3cy1tZXRhIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICBwYWRkaW5nOiA4cHggMTZweCAwIDE2cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjkpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAud3JhcHBlci0tbmV3cyBzcGFuIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAud3JhcHBlci0tbmV3cyBzcGFuIHN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XG5cbi5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoNDksIDU3LCA2NSwgMC4zKTsgfVxuXG4uYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUge1xuICBwYWRkaW5nLXJpZ2h0OiA2NHB4O1xuICBsaW5lLWhlaWdodDogMS40O1xuICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnOyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLmVtYmVkLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmVtYmVkLWNvbnRhaW5lciBpZnJhbWUsXG4uZW1iZWQtY29udGFpbmVyIG9iamVjdCxcbi5lbWJlZC1jb250YWluZXIgZW1iZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4udG9wLWJhciAudG9wLWJhci1pbm5lcndyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50b3AtYmFyIC50b3AtYmFyLWlubmVyd3JhcHBlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cblxuLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUge1xuICAgICAgdG9wOiAtM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfSB9XG4gIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIGEge1xuICAgIC8qXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMSAxNSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgcGFkZGluZzogcmVtLWNhbGMoMTIgMTQpOyB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge3BhZGRpbmc6IHJlbS1jYWxjKDIwIDMwIDIwIDIwKTt9XG4gICAgICAgICAgICAqL1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIGEge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSBhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7IH0gfVxuICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIGEgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogOS4zNzVyZW07XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSBpbWcge1xuICAgICAgICAgIGhlaWdodDogNy41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSBpbWcge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0yMHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSBpbWcge1xuICAgICAgICAgIGhlaWdodDogMTAuNjI1cmVtO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0NXB4KTsgfSB9XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDE3NXB4O1xuICAgICAgaGVpZ2h0OiAxNzVweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIGE6YmVmb3JlIHtcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICB3aWR0aDogMTc1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNzVweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC01NyUsIC01NSUpOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYTpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAyNDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLTczJSwgLTczJSk7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSBhOmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgtNDUlLCAtNDUlKTsgfSB9XG5cbi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBmbGV4OiBpbmhlcml0OyB9XG5cbi50b3AtYmFyIC5tb2JpbGUtcGF0Y2hlcyB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudG9wLWJhciAubW9iaWxlLXBhdGNoZXMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC50b3AtYmFyIC5tb2JpbGUtcGF0Y2hlcyBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXNob3AtY29sb3IpO1xuICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogLjcxMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNnB4IDhweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudG9wLWJhciAubW9iaWxlLXBhdGNoZXMgYSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC50b3AtYmFyIC5tb2JpbGUtcGF0Y2hlcyBhIHN2ZyB7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XG4gIC50b3AtYmFyIC5tb2JpbGUtcGF0Y2hlcyBhLnBhdGNoLWVndWljaGV0IHtcbiAgICBjb2xvcjogI2ZmNmI2YjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG5cbi5zZXJ2aWNlbmF2LCAuc2VydmljZW5hdiAqIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5zZXJ2aWNlbmF2IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luOiAxLjI1cmVtIDA7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5zZXJ2aWNlbmF2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4uc2VydmljZW5hdiAuc2VydmljZW5hdi1zZWFyY2gge1xuICBtYXJnaW46IDAgMS44NzVyZW0gMCAwO1xuICBtYXgtd2lkdGg6IDExLjI1cmVtO1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uc2VydmljZW5hdiAuc2VydmljZW5hdi1sb2dvcyA+ICoge1xuICBtYXJnaW4tbGVmdDogMS44NzVyZW07IH1cblxuLnNlcnZpY2VuYXYgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCBsaSB7XG4gIG1hcmdpbjogMDsgfVxuICAuc2VydmljZW5hdiAuc2VydmljZW5hdi1sYW5nc3dpdGNoIGxpIGEge1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjREZERkRGO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgLnNlcnZpY2VuYXYgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCBsaSBhOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMzEzOTQxOyB9XG5cbi5zZXJ2aWNlbmF2IC5zZXJ2aWNlbmF2LWxhbmdzd2l0Y2ggYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG9wYWNpdHk6IDAuNTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMS44NzVyZW07XG4gIHdpZHRoOiAxLjg3NXJlbTtcbiAgbWFyZ2luOiAwIDAuMjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgLnNlcnZpY2VuYXYgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCBhIGltZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47IH1cbiAgLnNlcnZpY2VuYXYgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5wYWdlLXRlbXBsYXRlLWFubGllZ2VuIC5lbnRyeS10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uYW5saWVnZW4tbGlzdCBzbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uYW5saWVnZW4tbGlzdCBoMywgLmFubGllZ2VuLWxpc3QgLmNoYXItd3JhcHBlcjpiZWZvcmUge1xuICBjb2xvcjogIzMxMzk0MTsgfVxuXG4uYW5saWVnZW4taGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmFubGllZ2VuLWhlYWRlciA+ICoge1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAuYW5saWVnZW4taGVhZGVyIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IDE1LjYyNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMzJweCBhdXRvIDAgYXV0bzsgfVxuICAgIC5hbmxpZWdlbi1oZWFkZXIgLmlucHV0LWdyb3VwIGlucHV0Om5vdChbdHlwZT1zdWJtaXRdKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5hbmxpZWdlbi1oZWFkZXIgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpO1xuICAgIHdpZHRoOiAxLjM3NXJlbTtcbiAgICBoZWlnaHQ6IDEuMzc1cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsgfVxuICAgIC5hbmxpZWdlbi1oZWFkZXIgLmlucHV0LWdyb3VwLWJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgIC5hbmxpZWdlbi1oZWFkZXIgLmlucHV0LWdyb3VwLWJ1dHRvbiBzdmcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IH1cblxuLmNoYXJtZW51IHtcbiAgY29sb3I6ICMzMTM5NDE7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuY2hhcm1lbnUgPiAqIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAyLjEyNXJlbTtcbiAgICBoZWlnaHQ6IDIuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IHJnYmEoNDksIDU3LCA2NSwgMC40KTsgfVxuICAuY2hhcm1lbnUgYSB7XG4gICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpOyB9XG4gICAgLmNoYXJtZW51IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4uY2hhci13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMzJweDsgfVxuICAuY2hhci13cmFwcGVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICMzMTM5NDE7XG4gICAgY29udGVudDogYXR0cihkYXRhLWNoYXIpO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuY2hhci13cmFwcGVyOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTZweDsgfSB9XG4gIC5jaGFyLXdyYXBwZXIgLmJ1dHRvbiwgLmNoYXItd3JhcHBlciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmNoYXItd3JhcHBlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuY2hhci13cmFwcGVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5jaGFyLXdyYXBwZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMy4xMjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMC42MjVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5hbmxpZWdlbjpub3QoLnJlc3VsdHMtaXRlbSkge1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKS5ldmVuIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE4MSwgMTgwLCAxNjgsIDAuMSk7IH1cbiAgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSAuYW5saWVnZW4tdGl0bGUtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMTAuNjY2NjdweCAwO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDEgMSA3NSU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICAuYW5saWVnZW46bm90KC5yZXN1bHRzLWl0ZW0pIC5hbmxpZWdlbi10aXRsZS13cmFwcGVyID4gKiB7XG4gICAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5hbmxpZWdlbjpub3QoLnJlc3VsdHMtaXRlbSkgLmFubGllZ2VuLXRpdGxlLXdyYXBwZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAgIC5hbmxpZWdlbjpub3QoLnJlc3VsdHMtaXRlbSkgLmFubGllZ2VuLXRpdGxlLXdyYXBwZXIgPiAqIHtcbiAgICAgICAgICBmbGV4OiAxIDEgNTAlOyB9IH1cbiAgICAuYW5saWVnZW46bm90KC5yZXN1bHRzLWl0ZW0pIC5hbmxpZWdlbi10aXRsZS13cmFwcGVyIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7IH1cbiAgICAgIC5hbmxpZWdlbjpub3QoLnJlc3VsdHMtaXRlbSkgLmFubGllZ2VuLXRpdGxlLXdyYXBwZXIgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICAgICAgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSAuYW5saWVnZW4tdGl0bGUtd3JhcHBlciBhIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogOHB4OyB9IH1cbiAgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSAuYW5saWVnZW4tbGluay13cmFwcGVyIHtcbiAgICBmbGV4OiAxIDEgMjUlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5hbmxpZWdlbjpub3QoLnJlc3VsdHMtaXRlbSkgLmFubGllZ2VuLWxpbmstd3JhcHBlciAuYnV0dG9uLCAuYW5saWVnZW46bm90KC5yZXN1bHRzLWl0ZW0pIC5hbmxpZWdlbi1saW5rLXdyYXBwZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5hbmxpZWdlbjpub3QoLnJlc3VsdHMtaXRlbSkgLmFubGllZ2VuLWxpbmstd3JhcHBlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSAuYW5saWVnZW4tbGluay13cmFwcGVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5hbmxpZWdlbjpub3QoLnJlc3VsdHMtaXRlbSkgLmFubGllZ2VuLWxpbmstd3JhcHBlciAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfSB9XG5cbi5wYXJ0bmVyLWlubmVyd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IDE1cHg7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI2MHB4LCAxZnIpKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogLW1zLWdyaWQpIHtcbiAgICAucGFydG5lci1pbm5lcndyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnBhcnRuZXItaW5uZXJ3cmFwcGVyID4gKiB7XG4gICAgICAgIGZsZXg6IDEgMSAzMy4zMyU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYXJ0bmVyLWlubmVyd3JhcHBlciB7XG4gICAgICBtYXJnaW4tdG9wOiA0OHB4OyB9IH1cbiAgLnBhcnRuZXItaW5uZXJ3cmFwcGVyID4gKiB7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHZhcigtLW1haW4tY29sb3IpOyB9XG4gIC5wYXJ0bmVyLWlubmVyd3JhcHBlciAucGFydG5lci1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnBhcnRuZXItaW5uZXJ3cmFwcGVyIC5wYXJ0bmVyLWl0ZW0ge1xuICAgICAgICBtaW4taGVpZ2h0OiAxOC43NXJlbTsgfSB9XG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAucGFydG5lci1pbm5lcndyYXBwZXIgLnBhcnRuZXItaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgICAucGFydG5lci1pbm5lcndyYXBwZXIgLnBhcnRuZXItaXRlbSBpbWcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgIC5wYXJ0bmVyLWlubmVyd3JhcHBlciAucGFydG5lci1pdGVtIHAge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGNvbG9yOiByZ2JhKDQ5LCA1NywgNjUsIDAuNik7IH1cbiAgICAucGFydG5lci1pbm5lcndyYXBwZXIgLnBhcnRuZXItaXRlbSBoNiwgLnBhcnRuZXItaW5uZXJ3cmFwcGVyIC5wYXJ0bmVyLWl0ZW0gLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLCAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAucGFydG5lci1pbm5lcndyYXBwZXIgLnBhcnRuZXItaXRlbSAuZW50cnktdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgICAucGFydG5lci1pbm5lcndyYXBwZXIgLnBhcnRuZXItaXRlbSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG4gICAgICAucGFydG5lci1pbm5lcndyYXBwZXIgLnBhcnRuZXItaXRlbSBzcGFuIHN2ZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgICAgLnBhcnRuZXItaW5uZXJ3cmFwcGVyIC5wYXJ0bmVyLWl0ZW0gc3BhbiBwYXRoIHtcbiAgICAgICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpOyB9XG4gICAgLnBhcnRuZXItaW5uZXJ3cmFwcGVyIC5wYXJ0bmVyLWl0ZW06aG92ZXIgc3BhbiB7XG4gICAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICAucGFydG5lci1pbm5lcndyYXBwZXIgLnBhcnRuZXItaXRlbSAuaW5uZXItbWV0YSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4ubWFnYXppbi1pbm5lcndyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAubWFnYXppbi1pbm5lcndyYXBwZXIgPiAqIHtcbiAgICBmbGV4OiAxIDEgMzMuMzMlOyB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgIC5tYWdhemluLWlubmVyd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1nYXA6IDE2cHg7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxNjBweCwgMWZyKSk7IH0gfVxuICBAc3VwcG9ydHMgKGRpc3BsYXk6IC1tcy1ncmlkKSB7XG4gICAgLm1hZ2F6aW4taW5uZXJ3cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tYWdhemluLWlubmVyd3JhcHBlciB7XG4gICAgICBtYXJnaW4tdG9wOiA0OHB4OyB9IH1cbiAgLm1hZ2F6aW4taW5uZXJ3cmFwcGVyIC5tYWdhemluLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tYWdhemluLWlubmVyd3JhcHBlciAubWFnYXppbi1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLm1hZ2F6aW4taW5uZXJ3cmFwcGVyIC5tYWdhemluLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMjUlOyB9IH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC5tYWdhemluLWlubmVyd3JhcHBlciAubWFnYXppbi1pdGVtIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5tYWdhemluLWlubmVyd3JhcHBlciAubWFnYXppbi1pdGVtIGltZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjREZERkRGO1xuICAgICAgYm94LXNoYWRvdzogM3B4IDNweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgICAubWFnYXppbi1pbm5lcndyYXBwZXIgLm1hZ2F6aW4taXRlbSBoNiwgLm1hZ2F6aW4taW5uZXJ3cmFwcGVyIC5tYWdhemluLWl0ZW0gLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLCAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAubWFnYXppbi1pbm5lcndyYXBwZXIgLm1hZ2F6aW4taXRlbSAuZW50cnktdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgICAubWFnYXppbi1pbm5lcndyYXBwZXIgLm1hZ2F6aW4taXRlbTpob3ZlciBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTM5NDE7IH1cblxuLnNlYXJjaC1yZXN1bHRzLXdyYXBwZXIge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5zZWFyY2gtcmVzdWx0cy13cmFwcGVyIC5kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6IHJnYmEoNDksIDU3LCA2NSwgMC42KTsgfVxuICAuc2VhcmNoLXJlc3VsdHMtd3JhcHBlciAuY3J1bWIge1xuICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWFyY2gtcmVzdWx0cy13cmFwcGVyIC5jcnVtYiB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgLnNlYXJjaC1yZXN1bHRzLXdyYXBwZXIgYSB7XG4gICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpOyB9XG4gICAgLnNlYXJjaC1yZXN1bHRzLXdyYXBwZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAuc2VhcmNoLXJlc3VsdHMtd3JhcHBlciAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgbGkge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnNlYXJjaC1yZXN1bHRzLXdyYXBwZXIgLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIGxpOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAuc2VhcmNoLXJlc3VsdHMtd3JhcHBlciAuYXAtaXRlbSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjREZERkRGO1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07IH1cbiAgLmlucHV0LWdyb3VwIGlucHV0Om5vdChbdHlwZT1zdWJtaXRdKSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuaW5wdXQtZ3JvdXAgaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pOmZvY3VzIHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBmbGV4OiB1bnNldDsgfVxuICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxLjU2MjVyZW07XG4gICAgaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgY29sb3I6ICMzMTM5NDE7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMTg3NXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b246aG92ZXIge1xuICAgICAgY29sb3I6ICMxMDUxNmI7IH1cbiAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgdHJhbnNsYXRlKDEycHgsIDdweCk7IH1cbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHN2Zzpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMTM5NDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmJ1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuICAuYnV0dG9uOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1haW4tY29sb3IpOyB9XG5cbi5pbmZvYm94LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMTM5NDE7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmluZm9ib3gtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9IH1cbiAgLmluZm9ib3gtd3JhcHBlciBoNCB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5pbmZvYm94LXdyYXBwZXIgaDQge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuICAuaW5mb2JveC13cmFwcGVyIGEge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5pbmZvYm94LXdyYXBwZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC5pbmZvYm94LXdyYXBwZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNyZWd1bGFyJzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaW5mb2JveC13cmFwcGVyIHAge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG4gIC5pbmZvYm94LXdyYXBwZXIgLmlubmVyLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDE2cHggMzJweCAxNnB4IDE2cHg7IH1cbiAgLmluZm9ib3gtd3JhcHBlciAuaW5mb2JveC1jbG9zZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgcGFkZGluZzogMTZweDsgfVxuICAgIC5pbmZvYm94LXdyYXBwZXIgLmluZm9ib3gtY2xvc2U6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsgfVxuXG5bZGF0YS1mYW5jeWJveF0gcGljdHVyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBbZGF0YS1mYW5jeWJveF0gcGljdHVyZTpiZWZvcmUsIFtkYXRhLWZhbmN5Ym94XSBwaWN0dXJlOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7IH1cbiAgW2RhdGEtZmFuY3lib3hdIHBpY3R1cmU6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgW2RhdGEtZmFuY3lib3hdIHBpY3R1cmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbDtcbiAgICB3aWR0aDogMi41cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42NSkgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgYm9yZGVyLXJhZGl1czogMi41cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIFtkYXRhLWZhbmN5Ym94XSBwaWN0dXJlOmhvdmVyOmFmdGVyLCBbZGF0YS1mYW5jeWJveF0gcGljdHVyZTpob3ZlcjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuZmlndXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmbGV4OiAwIDEgYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTYsIDgxLCAxMDcsIDAuMSk7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGNvbG9yOiAjMzEzOTQxOyB9XG5cbi5wYXRjaCB7XG4gIHBhZGRpbmc6IDhweCAxNnB4IDhweCAxNnB4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZDogIzEwNTE2YjtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgdG9wOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhdGNoIHtcbiAgICAgIHBhZGRpbmc6IDIxcHggMTZweCAxNnB4IDE2cHg7IH0gfVxuICAucGF0Y2g6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogM3B4IHNvbGlkICNmZmZiMDA7IH1cbiAgLnBhdGNoIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgd2lkdGg6IDEuMTI1cmVtO1xuICAgIGhlaWdodDogMS4xMjVyZW07IH1cbiAgLnBhdGNoOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5rb3BmYmlsZC13cmFwcGVyIC5wYXRjaC1lc2hvcCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNob3AtY29sb3IpO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmtvcGZiaWxkLXdyYXBwZXIgLnBhdGNoLWVzaG9wIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4ua29wZmJpbGQtd3JhcHBlciAucGF0Y2gtY29udGFjdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNob3AtY29sb3IpOyB9XG5cbi5rb3BmYmlsZC13cmFwcGVyIC5wYXRjaC1lZ3VpY2hldCB7XG4gIGJhY2tncm91bmQ6ICNmZjZiNmI7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmtvcGZiaWxkLXdyYXBwZXIgLnBhdGNoLWVndWljaGV0OmZvY3VzIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5rb3BmYmlsZC13cmFwcGVyIC5wYXRjaC1lZ3VpY2hldCB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLmtvcGZiaWxkLXdyYXBwZXIgLnBhdGNoLWV4dHJhIHtcbiAgYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmtvcGZiaWxkLXdyYXBwZXIgLnBhdGNoLWV4dHJhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4vKioqKioqKioqKioqIEVNQkVEIFBMVUdJTiAqKioqKioqKioqKiovXG4ucHJpdmFjeS1lbWJlZC1jb250YWluZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTA1MTZiO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMzJweDsgfSB9XG4gIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNiwgODEsIDEwNywgMC43KTsgfVxuICAgIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lcjpob3ZlciAqIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciAqIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgaHlwaGVuczogYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgKiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH0gfVxuICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgaDMsIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciAuY2hhci13cmFwcGVyOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciBoMywgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIC5jaGFyLXdyYXBwZXI6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgYSB7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4zZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBkb3R0ZWQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMXB4OyB9XG4gICAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciBpbWcge1xuICAgIG1heC13aWR0aDogMjAlO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH0gfVxuICAucHJpdmFjeS1lbWJlZC1jb250YWluZXJbZGF0YS10eXBlPVwiZW1iZWQtdHdpdHRlclwiXSBpbWcge1xuICAgIG1heC13aWR0aDogMTAlOyB9XG4gIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciBpbnB1dCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjc1KTtcbiAgICBib3JkZXI6IDA7IH1cbiAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzJweDsgfSB9XG4gICAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIGxhYmVsIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIGxhYmVsIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cbiAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIC5lbWJlZC1wcml2YWN5LWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgLmVtYmVkLXByaXZhY3ktbG9nbyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLnJlc3BvbnNpdmUtaW1hZ2VtYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5yZXNwb25zaXZlLWltYWdlbWFwIC5pbWFwLWltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4ucmVzcG9uc2l2ZS1pbWFnZW1hcCAuaW1hcC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC8qIG51ciBzaWNodGJhciwgbmljaHQga2xpY2tlbi1ibG9ja2VuICovIH1cblxuLnJlc3BvbnNpdmUtaW1hZ2VtYXAgLmltYXAtc2hhcGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMTYwLCAyNTUsIDAuMjUpO1xuICBvdXRsaW5lOiAycHggc29saWQgcmdiYSgwLCAxNjAsIDI1NSwgMC43NSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuXG4ucmVzcG9uc2l2ZS1pbWFnZW1hcCAuaW1hcC1zaGFwZS0tY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4OyB9XG5cbi50b3AtYmFyLXJpZ2h0IC5wYWdlLWl0ZW0tMTEzNTYsIC50b3AtYmFyLXJpZ2h0IC5wYWdlLWl0ZW0tMTE1OTMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiBsaS5wYWdlLWl0ZW0tMTE1OTMsXG4uaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYgbGkucGFnZS1pdGVtLTExMzU2IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC5tYWluLWNvbnRhaW5lciBhLCBib2R5Lndvb2NvbW1lcmNlIC5tYWluLWNvbnRhaW5lciAuYmFjayBzdmcge1xuICBjb2xvcjogdmFyKC0tc2hvcC1jb2xvcik7IH1cblxuYm9keS53b29jb21tZXJjZSAubWFpbi1jb250YWluZXIgLmNoaWxkbmF2IGE6bm90KC5iYWNrKSB7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5tYWluLWNvbnRhaW5lciAuY2hpbGRuYXYgYTpub3QoLmJhY2spIHtcbiAgICAgIGNvbG9yOiAjMzEzOTQxOyB9IH1cblxuYm9keS53b29jb21tZXJjZSAubWFpbi1jb250YWluZXIgLmJhY2s6aG92ZXIsIGJvZHkud29vY29tbWVyY2UgLm1haW4tY29udGFpbmVyIC5iYWNrOmhvdmVyIHN2ZyB7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG5cbmJvZHkud29vY29tbWVyY2UgYS5idXR0b24sXG5ib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuZ2Zvcm1fYnV0dG9uLFxuYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQsXG5ib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuYWx0Lmdmb3JtX2J1dHRvbixcbi5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5hbHQuZ2Zvcm1fYnV0dG9uLFxuYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLFxuYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uZ2Zvcm1fYnV0dG9uLFxuLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uZ2Zvcm1fYnV0dG9uLFxuYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdCxcbmJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmFsdC5nZm9ybV9idXR0b24sXG4uZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5hbHQuZ2Zvcm1fYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2hvcC1jb2xvcik7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIGJvZHkud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWQsXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5nZm9ybV9idXR0b246ZGlzYWJsZWQsIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5nZm9ybV9idXR0b246ZGlzYWJsZWQsIGJvZHkud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sIGJvZHkud29vY29tbWVyY2UgYS5idXR0b24uZGlzYWJsZWQsXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5kaXNhYmxlZC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5kaXNhYmxlZC5nZm9ybV9idXR0b24sXG4gIGJvZHkud29vY29tbWVyY2UgYS5idXR0b24uYWx0OmRpc2FibGVkLFxuICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWQsXG4gIGJvZHkud29vY29tbWVyY2UgYS5idXR0b24uYWx0OmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gIGJvZHkud29vY29tbWVyY2UgYS5idXR0b24uYWx0LmRpc2FibGVkLFxuICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmFsdC5kaXNhYmxlZC5nZm9ybV9idXR0b24sXG4gIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbjpkaXNhYmxlZCxcbiAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uZ2Zvcm1fYnV0dG9uOmRpc2FibGVkLFxuICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5nZm9ybV9idXR0b246ZGlzYWJsZWQsXG4gIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5kaXNhYmxlZCxcbiAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLFxuICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5kaXNhYmxlZC5nZm9ybV9idXR0b24sXG4gIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5hbHQ6ZGlzYWJsZWQsXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWQsXG4gIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWQsXG4gIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5hbHQuZGlzYWJsZWQsXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmFsdC5kaXNhYmxlZC5nZm9ybV9idXR0b24sXG4gIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmFsdC5kaXNhYmxlZC5nZm9ybV9idXR0b24ge1xuICAgIG9wYWNpdHk6IDAuNjsgfVxuICAgIGJvZHkud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWQsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmdmb3JtX2J1dHRvbjpkaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmdmb3JtX2J1dHRvbjpkaXNhYmxlZCwgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbjpkaXNhYmxlZDpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkOmhvdmVyLCBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sIGJvZHkud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5nZm9ybV9idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlciwgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbi5kaXNhYmxlZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLCBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmRpc2FibGVkOmhvdmVyLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5kaXNhYmxlZC5nZm9ybV9idXR0b246aG92ZXIsIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5kaXNhYmxlZC5nZm9ybV9idXR0b246aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6ZGlzYWJsZWQsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWQsXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWQsXG4gICAgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6ZGlzYWJsZWQ6aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWQ6aG92ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWQ6aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gICAgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQuZGlzYWJsZWQsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmFsdC5kaXNhYmxlZC5nZm9ybV9idXR0b24sXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmFsdC5kaXNhYmxlZC5nZm9ybV9idXR0b24sXG4gICAgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQuZGlzYWJsZWQ6aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmFsdC5kaXNhYmxlZC5nZm9ybV9idXR0b246aG92ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmFsdC5kaXNhYmxlZC5nZm9ybV9idXR0b246aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5nZm9ybV9idXR0b246ZGlzYWJsZWQsXG4gICAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkOmhvdmVyLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmdmb3JtX2J1dHRvbjpkaXNhYmxlZDpob3ZlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5nZm9ybV9idXR0b246ZGlzYWJsZWQ6aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5nZm9ybV9idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gICAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5nZm9ybV9idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmRpc2FibGVkLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5kaXNhYmxlZC5nZm9ybV9idXR0b24sXG4gICAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmRpc2FibGVkOmhvdmVyLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmRpc2FibGVkLmdmb3JtX2J1dHRvbjpob3ZlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5kaXNhYmxlZC5nZm9ybV9idXR0b246aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdDpkaXNhYmxlZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWQsXG4gICAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdDpkaXNhYmxlZDpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkOmhvdmVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWQ6aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gICAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdC5kaXNhYmxlZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5hbHQuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmFsdC5kaXNhYmxlZC5nZm9ybV9idXR0b24sXG4gICAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdC5kaXNhYmxlZDpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5hbHQuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uOmhvdmVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmFsdC5kaXNhYmxlZC5nZm9ybV9idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2hvcC1jb2xvcik7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uOmhvdmVyLFxuICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuZ2Zvcm1fYnV0dG9uOmhvdmVyLFxuICBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdDpob3ZlcixcbiAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmFsdC5nZm9ybV9idXR0b246aG92ZXIsXG4gIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5hbHQuZ2Zvcm1fYnV0dG9uOmhvdmVyLFxuICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246aG92ZXIsXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmdmb3JtX2J1dHRvbjpob3ZlcixcbiAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uZ2Zvcm1fYnV0dG9uOmhvdmVyLFxuICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmhvdmVyLFxuICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5hbHQuZ2Zvcm1fYnV0dG9uOmhvdmVyLFxuICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5hbHQuZ2Zvcm1fYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzOTQxO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbmJvZHkud29vY29tbWVyY2UgLndpZGdldF9zaG9wcGluZ19jYXJ0IHtcbiAgbWFyZ2luOiAzMnB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREZERkRGOyB9XG5cbmJvZHkud29vY29tbWVyY2UgLnNrdV93cmFwcGVyLCBib2R5Lndvb2NvbW1lcmNlIC5wb3N0ZWRfaW4sIGJvZHkud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgbGFiZWwge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLndvb2NvbW1lcmNlLWVycm9yIGxpOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gIG1hcmdpbi1yaWdodDogLTE2cHg7IH1cbiAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gMTZweCkgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDhweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjIzLCAyMjMsIDIyMywgMC4zNSk7XG4gICAgcGFkZGluZzogOHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoIDMzLjMzJSAtIDE2cHgpICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoIDI1JSAtIDE2cHgpICFpbXBvcnRhbnQ7IH0gfVxuICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgcDplbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgYS5idXR0b24sXG4gICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLmdmb3JtX3dyYXBwZXIgYS5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGEuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBjYWxjKCAxMDAlICsgMTZweCk7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtOHB4O1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDsgfVxuICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGgyLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdDpob3ZlciBhLmJ1dHRvbixcbiAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdDpob3ZlciAuZ2Zvcm1fd3JhcHBlciBhLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Q6aG92ZXIgYS5nZm9ybV9idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMxMzk0MTsgfVxuXG4uc2luZ2xlLXByb2R1Y3QgLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4uc2luZ2xlLXByb2R1Y3QgLnJlbGF0ZWQucHJvZHVjdHMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJvZHkud29vY29tbWVyY2UtcGFnZS5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgYm9keS53b29jb21tZXJjZS1wYWdlLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0IHAucHJpY2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1haW4tY29sb3IpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDAuMzc1cmVtO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7IH1cbiAgYm9keS53b29jb21tZXJjZS1wYWdlLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0IGRpdi53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTYuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAzMnB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgICBib2R5Lndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3QgLnByb2R1Y3QgZGl2Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSBmaWd1cmUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0RGREZERjsgfVxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3QgLnByb2R1Y3QgZGl2LnN1bW1hcnkge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbmxpLndjX3BheW1lbnRfbWV0aG9kLnBheW1lbnRfbWV0aG9kX29nb25lIGxhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIGxpLndjX3BheW1lbnRfbWV0aG9kLnBheW1lbnRfbWV0aG9kX29nb25lIGxhYmVsIGltZyB7XG4gICAgd2lkdGg6IDgwcHg7IH1cblxuI2N1c3RvbWVyX2RldGFpbHMge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZzogMTZweCAzMnB4OyB9XG4gICNjdXN0b21lcl9kZXRhaWxzIC5jb2wtMSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgI2N1c3RvbWVyX2RldGFpbHMgLmNvbC0yIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNjdXN0b21lcl9kZXRhaWxzIC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkc19fZmllbGQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAjY3VzdG9tZXJfZGV0YWlscyAuYWRkcmVzcy1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgI2N1c3RvbWVyX2RldGFpbHMgI2JpbGxpbmdfY29tcGFueV9maWVsZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgI2N1c3RvbWVyX2RldGFpbHMgI2JpbGxpbmdfcG9zdGNvZGVfZmllbGQsXG4gICAgI2N1c3RvbWVyX2RldGFpbHMgI2JpbGxpbmdfY2l0eV9maWVsZCxcbiAgICAjY3VzdG9tZXJfZGV0YWlscyAjYmlsbGluZ19jb3VudHJ5X2ZpZWxkIHtcbiAgICAgIHdpZHRoOiAzMCU7IH1cbiAgICAjY3VzdG9tZXJfZGV0YWlscyAjYmlsbGluZ19lbWFpbF9maWVsZCxcbiAgICAjY3VzdG9tZXJfZGV0YWlscyAjYmlsbGluZ19waG9uZV9maWVsZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICNjdXN0b21lcl9kZXRhaWxzIC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAzOXB4OyB9XG4gICAgI2N1c3RvbWVyX2RldGFpbHMgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICAgIGhlaWdodDogMzlweDsgfVxuICAgICAgI2N1c3RvbWVyX2RldGFpbHMgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgICBsaW5lLWhlaWdodDogMzVweDsgfVxuICAgICAgI2N1c3RvbWVyX2RldGFpbHMgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgICBoZWlnaHQ6IDM1cHg7IH1cblxuI29yZGVyX3Jldmlld19oZWFkaW5nLFxuI29yZGVyX3BheW1lbnRfaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDMycHg7IH1cblxuLndvb2NvbW1lcmNlLW9yZGVyLW92ZXJ2aWV3IGxpOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMtdGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMtdGl0bGUgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5ib2R5Lndvb2NvbW1lcmNlLWNoZWNrb3V0IC5zaG9wX3RhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmNhcnRfdG90YWxzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jYXJ0X3RvdGFscyBoMiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4ud29vY29tbWVyY2UtY2FydCAud2MtcHJvY2VlZC10by1jaGVja291dCBhLmNoZWNrb3V0LWJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNoZWNrb3V0LW90aGVyIHtcbiAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJzsgfVxuXG4ud29vY29tbWVyY2UgLndpZGdldF9zaG9wcGluZ19jYXJ0IC5jYXJ0X2xpc3QgbGkgYS5yZW1vdmUsIC53b29jb21tZXJjZS53aWRnZXRfc2hvcHBpbmdfY2FydCAuY2FydF9saXN0IGxpIGEucmVtb3ZlIHtcbiAgbGluZS1oZWlnaHQ6IDAuNzM7IH1cblxuLndvb2NvbW1lcmNlIHVsLmNhcnRfbGlzdCBsaSBpbWcsIC53b29jb21tZXJjZSB1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGltZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI2FkZF9wYXltZW50X21ldGhvZCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMsIC53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcywgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyB7XG4gIGJvcmRlci1ib3R0b206IDBweDsgfVxuXG4ud29vY29tbWVyY2UgI29yZGVyX3JldmlldyAubGVnYWwge1xuICBtYXJnaW46IDE2cHggMDsgfVxuICAud29vY29tbWVyY2UgI29yZGVyX3JldmlldyAubGVnYWwgbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG5cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyAud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3gge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cblxuLmFyY2hpdi12aWV3IGgyLCAuYXJjaGl2LXZpZXcgaDIgYSB7XG4gIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTsgfVxuXG4uYXJjaGl2LXZpZXcgLmdyaWQtd3JhcHBlciB7XG4gIG1heC13aWR0aDogNDQuNXJlbTsgfVxuXG4uYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjREZERkRGO1xuICBwYWRkaW5nOiAxNnB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSB7XG4gICAgICBwYWRkaW5nOiAxNnB4IDA7IH0gfVxuICAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbSAwOyB9XG5cbi5wYXJlbnQtbmV3c2FyY2hpdiAud3JhcHBlci0tbmV3cyB7XG4gIGdyaWQtZ2FwOiAxNnB4OyB9XG5cbi5zaW5nbGUgLnBvc3QtdGh1bWItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNpbmdsZSAuYmFjayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxNnB4IDAgMTZweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaW5nbGUgaGVhZGVyIC5iYWNrIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnNpbmdsZSAuaW5uZXJtZXRhLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTQuMzc1cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAtMy43NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuc2luZ2xlIC5pbm5lcm1ldGEtd3JhcHBlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAuc2luZ2xlIC5pbm5lcm1ldGEtd3JhcHBlciBwIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC45Mzc1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3JlZ3VsYXInLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5zaW5nbGUgLmlubmVybWV0YS13cmFwcGVyIHAge1xuICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAuc2luZ2xlIC5pbm5lcm1ldGEtd3JhcHBlciBhIHtcbiAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgIC5zaW5nbGUgLmlubmVybWV0YS13cmFwcGVyIGE6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNpbmdsZSAuaW5uZXJtZXRhLXdyYXBwZXIgLmRhdGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAuc2luZ2xlIC5pbm5lcm1ldGEtd3JhcHBlciAucHJpbnQgc3ZnIHtcbiAgICBtYXJnaW46IDAgMC4yNXJlbSAwIDA7IH1cbiAgLnNpbmdsZSAuaW5uZXJtZXRhLXdyYXBwZXIgLnNoYXJlIHtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuICAgIC5zaW5nbGUgLmlubmVybWV0YS13cmFwcGVyIC5zaGFyZSBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLnNpbmdsZSAuaW5uZXJtZXRhLXdyYXBwZXIgLnNoYXJlIGEuZmFjZWJvb2sge1xuICAgICAgICBtYXJnaW46IDAgMC4xODc1cmVtOyB9XG5cbi8qKioqKiogUFJJTlQgU1RZTEVTSEVFVCAqKioqKioqKiovXG5AbWVkaWEgcHJpbnQge1xuICAudG9wLWJhci1yaWdodCxcbiAgLnRpdGxlLWJhcixcbiAgLmtvcGZiaWxkLXdyYXBwZXIsXG4gIC5zaXRlLWhlYWRlcjphZnRlcixcbiAgLnNpZGViYXIsXG4gIC5pbm5lcm1ldGEtd3JhcHBlcixcbiAgLmZvb3RlcixcbiAgLmNhcmQtd3JhcHBlciBpbWcsXG4gIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIsXG4gIC5mbGV4aWJsZS1vZW1iZWQtd3JhcHBlcixcbiAgLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlcixcbiAgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlcixcbiAgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyLFxuICAuYXAtdGh1bWIgYTphZnRlcixcbiAgLmZpbHRlci13cmFwcGVyLFxuICAuYW5saWVnZW4taGVhZGVyLFxuICAjY29udGFjdC1vdmVybGF5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgaW1nIHtcbiAgICBmaWx0ZXI6IGdyZXlzY2FsZSgxMDAlKSAhaW1wb3J0YW50OyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIGEgaW1nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogNy4xODc1cmVtOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSBhOmJlZm9yZSwgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYTphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItaW5uZXJ3cmFwcGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBoMS5lbnRyeS10aXRsZSwgI2NvbnRhY3Qtb3ZlcmxheSAuZW50cnktdGl0bGUuY29udGFjdF90aXRsZSwgI2NvbnRhY3Qtb3ZlcmxheSAuZW50cnktdGl0bGUubGFyZ2VfdGVsLCAjY29udGFjdC1vdmVybGF5IC5lbnRyeS10aXRsZS5sYXJnZV9lbWFpbCwgI2NvbnRhY3Qtb3ZlcmxheSAuZW50cnktdGl0bGUubGFyZ2VfYWRkcmVzcyB7XG4gICAgZm9udC1zaXplOiAyNnB0OyB9XG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuZmxleGlibGUtbGlua3Mtd3JhcHBlciAuYnV0dG9uLWdyb3VwLCAuZmxleGlibGUtbGlua3Mtd3JhcHBlciAuYnV0dG9uLWdyb3VwIGxpLCAuZmxleGlibGUtbGlua3Mtd3JhcHBlciAuYnV0dG9uLWdyb3VwIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbi8qIFBsYWNlaG9sZGVyICovXG4udG9wLWJhciAuY2hpbGRuYXYgPiBsaSA+IGEsIC5kcmlsbGRvd24gbGkucGFnZV9pdGVtIGEsIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LWxhbmdzd2l0Y2ggYSwgLndyYXBwZXItLW5ld3MgLm5ld3Mta2FjaGVsLWltYWdlIC5uZXdzLW1ldGEsIC50b3AtYmFyIC5jaGlsZG5hdiwgLmFubGllZ2VuLWxpc3QgaDMsIC5jaGFybWVudSwgLmNoYXItd3JhcHBlcjpiZWZvcmUsIC5ob21lIC5ob21lX3N1YnRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucmVzdWx0cy1pdGVtIHVsLCAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgdWwsIC5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIgZGl2IHVsIHtcbiAgbWFyZ2luOiAxNnB4IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAucmVzdWx0cy1pdGVtIHVsIGxpLCAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgdWwgbGksIC5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIgZGl2IHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNyZWd1bGFyJztcbiAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXN1bHRzLWl0ZW0gdWwgbGksIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciB1bCBsaSwgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBkaXYgdWwgbGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTZweDsgfSB9XG4gICAgLnJlc3VsdHMtaXRlbSB1bCBsaTpub3QoOmxhc3QtY2hpbGQpLCAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgdWwgbGk6bm90KDpsYXN0LWNoaWxkKSwgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBkaXYgdWwgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5yZXN1bHRzLWl0ZW0gdWwgbGk6YmVmb3JlLCAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgdWwgbGk6YmVmb3JlLCAuZmxleGlibGUtaW5mb2JveC13cmFwcGVyIGRpdiB1bCBsaTpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxLjg3NXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTInIGhlaWdodD0nMTAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGw9J2N1cnJlbnRDb2xvcicgZmlsbC1vcGFjaXR5PScwLjI1JyBkPSdNNy41ODcgMy45NUw1LjA1IDEuNDE1IDYuNDY2IDBsNC45NSA0Ljk1TDYuNDY1IDkuOSA1LjA1IDguNDg3IDcuNTg3IDUuOTUgMCA1Ljk1MXYtMnonIGZpbGwtcnVsZT0nZXZlbm9kZCcvJTNFJTNDL3N2ZyUzRVwiKSBsZWZ0IDhweCBuby1yZXBlYXQ7IH1cbiAgICAucmVzdWx0cy1pdGVtIHVsIGxpIHVsLCAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgdWwgbGkgdWwsIC5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIgZGl2IHVsIGxpIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYW5saWVnZW4tbGlzdCwgLmhvbWUgLndyYXBwZXItLW51ZXR6bGljaGVzLCAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4sIC5hcC13cmFwcGVyID4gKiwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciwgLmZsZXhpYmxlLXRheC1kb3dubG9hZHMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgIG1hcmdpbi1yaWdodDogLTE2cHg7IH0gfVxuXG4vKiBJRFMgZm9yIHRoZSBjb2xvciBzY2hlbWUgKi9cbmh0bWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuaDUsXG5oNixcbi5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuYSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgYTpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAzcHggc29saWQgI2NjNGIzNztcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnNpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zaXRlLWhlYWRlcjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNGRkZGRkYgNHB4LCB0cmFuc3BhcmVudCAxJSkgY2VudGVyLCBsaW5lYXItZ3JhZGllbnQoI0ZGRkZGRiA0cHgsIHRyYW5zcGFyZW50IDElKSBjZW50ZXIsIHJnYmEoNDksIDU3LCA2NSwgMC42KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDVweCA1cHg7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxudSwgKltzdHlsZSo9XCJ1bmRlcmxpbmVcIl0ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tbWFpbi1jb2xvcik7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtOyB9XG5cbi5rb3BmYmlsZC13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogIzMxMzk0MSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgaGVpZ2h0OiA3LjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5rb3BmYmlsZC13cmFwcGVyIHtcbiAgICAgIGhlaWdodDogMTAuNjI1cmVtOyB9IH1cbiAgLmtvcGZiaWxkLXdyYXBwZXIgaW1nIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmtvcGZiaWxkLXdyYXBwZXIgLm91dGVyLWdyaWQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLmtvcGZiaWxkLXdyYXBwZXIgLmdyaWQtd3JhcHBlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5rb3BmYmlsZC13cmFwcGVyIC5ncmlkLXdyYXBwZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAgICAgLmtvcGZiaWxkLXdyYXBwZXIgLmdyaWQtd3JhcHBlciB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gICAgLmtvcGZiaWxkLXdyYXBwZXIgLmdyaWQtd3JhcHBlciA+ICo6bm90KC50b3AtYmFyLXJpZ2h0KSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uYmFjayB7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsgfVxuICAuYmFjayBzdmcge1xuICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzc1cmVtOyB9XG4gIC5iYWNrOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cblxuLmdyaWQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW46IGF1dG87IH1cbiAgLmdyaWQtd3JhcHBlciA+ICo6bm90KC50b3AtYmFyLXJpZ2h0KSB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmdyaWQtd3JhcHBlciAuc2lkZWJhciB7XG4gICAgZmxleDogMSAwIDE4Ljc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMy43NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5ncmlkLXdyYXBwZXIgLnNpZGViYXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH0gfVxuXG4ubWFpbi1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1haW4tY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgLm1haW4tY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5tYWluLWNvbnRlbnQge1xuICAgICAgZmxleDogMCAwIDQzLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWFpbi1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLm1haW4tY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tYWluLWNvbnRlbnQuZnVsbC13aWR0aCAuZW50cnktY29udGVudCA+IGhlYWRlciB7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLm1haW4tY29udGVudC5mdWxsLXdpZHRoIC5lbnRyeS1jb250ZW50ID4gaGVhZGVyLCAubWFpbi1jb250ZW50LmZ1bGwtd2lkdGggLmVudHJ5LWNvbnRlbnQgPiBoZWFkZXIgLmludHJvOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAubWFpbi1jb250ZW50LmZ1bGwtd2lkdGgge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5tYWluLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDMuMTI1cmVtIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaW5uZXJtZXRhLXdyYXBwZXIge1xuICB0b3A6IC0xLjg3NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5pbm5lcm1ldGEtd3JhcHBlciBwIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuaW5uZXJtZXRhLXdyYXBwZXIgYSB7XG4gICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpOyB9XG5cbi5tYWluLWNvbnRlbnQ6bm90KC5zdGV1ZXJzYWV0emUtd3JhcHBlcikgLmVudHJ5LWNvbnRlbnQgYTpub3QoLmJ1dHRvbikge1xuICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTsgfVxuICAubWFpbi1jb250ZW50Om5vdCguc3RldWVyc2FldHplLXdyYXBwZXIpIC5lbnRyeS1jb250ZW50IGE6bm90KC5idXR0b24pOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5tYWluLWNvbnRlbnQ6bm90KC5zdGV1ZXJzYWV0emUtd3JhcHBlcikgLmVudHJ5LWNvbnRlbnQgYTpub3QoLmJ1dHRvbik6aG92ZXIge1xuICAgIGNvbG9yOiAjMzEzOTQxOyB9XG5cbmgxLmVudHJ5LXRpdGxlLCAjY29udGFjdC1vdmVybGF5IC5lbnRyeS10aXRsZS5jb250YWN0X3RpdGxlLCAjY29udGFjdC1vdmVybGF5IC5lbnRyeS10aXRsZS5sYXJnZV90ZWwsICNjb250YWN0LW92ZXJsYXkgLmVudHJ5LXRpdGxlLmxhcmdlX2VtYWlsLCAjY29udGFjdC1vdmVybGF5IC5lbnRyeS10aXRsZS5sYXJnZV9hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmludHJvIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgY29sb3I6IHJnYmEoNDksIDU3LCA2NSwgMC42KTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pbnRybyB7XG4gICAgICBtYXJnaW4tdG9wOiA0OHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfSB9XG4gIC5pbnRybzphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDRyZW07XG4gICAgaGVpZ2h0OiAwLjEyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAzMnB4OyB9XG5cbi8qKioqKioqKiogRkxFWElCTEUgQ09OVEVOVCAqKioqKioqKioqKi9cbmJvZHk6bm90KC5zZWFyY2gtcmVzdWx0cykgLmZsZXhpYmxlLWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgYm9keTpub3QoLnNlYXJjaC1yZXN1bHRzKSAuZmxleGlibGUtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0OHB4OyB9IH1cbiAgYm9keTpub3QoLnNlYXJjaC1yZXN1bHRzKSAuZmxleGlibGUtY29udGVudC5oYWxmIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGJvZHk6bm90KC5zZWFyY2gtcmVzdWx0cykgLmZsZXhpYmxlLWNvbnRlbnQuaGFsZiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH0gfVxuICBib2R5Om5vdCguc2VhcmNoLXJlc3VsdHMpIC5mbGV4aWJsZS1jb250ZW50LmFsdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBib2R5Om5vdCguc2VhcmNoLXJlc3VsdHMpIC5mbGV4aWJsZS1jb250ZW50LmFsdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7IH0gfVxuXG4vKioqKioqIEZPT1RFUiAqKioqKioqKi9cbi5mb290ZXIge1xuICBtYXJnaW4tdG9wOiAzMnB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvb3RlciB7XG4gICAgICBtYXJnaW4tdG9wOiA5NnB4OyB9IH1cbiAgLmZvb3RlciAuY2hpbGRuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZvb3RlciAuY2hpbGRuYXYgYSB7XG4gICAgICBtYXJnaW46IDAgMC45Mzc1cmVtO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsgfVxuICAgICAgLmZvb3RlciAuY2hpbGRuYXYgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMzEzOTQxICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvb3RlciAuY2hpbGRuYXYge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxOyB9XG4gICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciBhcnRpY2xlIHtcbiAgICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgICBwYWRkaW5nOiAzMnB4IDE2cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMzJweCBhdXRvIDAgYXV0bzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIGFydGljbGUge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgYXJ0aWNsZSA+ICoge1xuICAgICAgICBmbGV4OiAxOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgYXJ0aWNsZSA+ICoge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgYXJ0aWNsZSA+ICo6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7IH0gfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciBhcnRpY2xlLCAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIGFydGljbGUgYSB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCAwLjMxMjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7IH1cbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgdWwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAudG90b3Age1xuICAgICAgICBvcmRlcjogMzsgfVxuICAgICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC50b3RvcCBhIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5zb2NpYWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5zb2NpYWwge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgIG9yZGVyOiAyOyB9IH1cbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLnNvY2lhbCBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLnNvY2lhbCBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLnNvY2lhbCBhIHN2ZyB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmNvcHlyaWdodCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmNvcHlyaWdodCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmNvcHlyaWdodCBsaSB7XG4gICAgICAgIG1hcmdpbjogNS4zMzMzM3B4IDA7IH1cblxuLmhvbWUge1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cbiAgLmhvbWUgLmZvb3Rlci1jb250YWluZXIgYXJ0aWNsZSB7XG4gICAgbWF4LXdpZHRoOiA5MHJlbTsgfVxuICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciB7XG4gICAgbWluLWhlaWdodDogMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAxOC43NXJlbTtcbiAgICAgICAgLypcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzApOyBcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9Ki8gfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAzMS4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4ZW0pIHtcbiAgICAgIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIHtcbiAgICAgICAgbWluLWhlaWdodDogMzcuNXJlbTsgfSB9XG4gICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYge1xuICAgICAgICAgIGdhcDogOHB4O1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfSB9XG4gICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYgbGkge1xuICAgICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgICAgICAgIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiBsaSB7XG4gICAgICAgICAgICB3aWR0aDogMjUlOyB9IH1cbiAgICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBoZWlnaHQ6IDQuMzc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgICAgIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiBsaSA+IGEge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDMycHg7XG4gICAgICAgICAgICAgIGhlaWdodDogNXJlbTsgfSB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpID4gYSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW07XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAgICAgICAgIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiBsaSA+IGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoNDksIDU3LCA2NSwgMC44KTsgfVxuICAgICAgICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpID4gYTpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICAgIGhlaWdodDogMC41cmVtOyB9XG4gICAgICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpID4gYTpiZWZvcmUsIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiBsaSA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7IH1cbiAgICAgICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYgbGkgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYygtMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAqLyB9XG4gICAgICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpID4gYTphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjI1cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3IpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiBsaSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYgbGkgPiBhIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYgbGkgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiAuaXMtYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICAuaG9tZSAuc2l0ZS1oZWFkZXI6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiA1cmVtOyB9IH1cbiAgLmhvbWUgLmhvbWVfc3VidGl0bGUge1xuICAgIGNvbG9yOiAjMTA1MTZiO1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5ob21lIC5ob21lX3N1YnRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjI1cmVtOyB9XG4gICAgICAgIC5ob21lIC5ob21lX3N1YnRpdGxlOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzEwNTE2YjtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogMS44NzVyZW07XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIC0wLjY1ZW0pO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNnB4OyB9IH1cbiAgLmhvbWUgLmhvbWVfdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi4zMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5ob21lIC5ob21lX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjVyZW07IH0gfVxuICAuaG9tZSAuaG9tZV9kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42ODc1cmVtO1xuICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gIC5ob21lIC53cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAzMnB4IDA7XG4gICAgLyoubWV0YSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vMiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHotaW5kZXg6IDY7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgIH1cbiAgICB9Ki8gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5ob21lIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogOTZweCAwOyB9IH1cbiAgICAuaG9tZSAud3JhcHBlciAubWFpbi1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI1JSAxZnI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlciAubWFpbi1jb250YWluZXIgPiBkaXYge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7IH0gfVxuICAgIC5ob21lIC53cmFwcGVyLmdyYXkge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgxODEsIDE4MCwgMTY4LCAwLjEpOyB9XG4gICAgLmhvbWUgLndyYXBwZXIgLmFmdGVyYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZy10b3A6IDE2cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBncmlkLWNvbHVtbi1lbmQ6IDM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXIgLmFmdGVyYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW46IDAgMTZweCAwIGF1dG87IH0gfVxuICAgIC5ob21lIC53cmFwcGVyIC5idXR0b24sIC5ob21lIC53cmFwcGVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuaG9tZSAud3JhcHBlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5ob21lIC53cmFwcGVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5ob21lIC53cmFwcGVyIC5nZm9ybV9idXR0b24ge1xuICAgICAgcGFkZGluZzogMTAuNjY2NjdweCAxNnB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzEwNTE2YjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICBjb2xvcjogIzEwNTE2YjsgfVxuICAgICAgLmhvbWUgLndyYXBwZXIgLmJ1dHRvbjpob3ZlciwgLmhvbWUgLndyYXBwZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5ob21lIC53cmFwcGVyIGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuaG9tZSAud3JhcHBlciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuaG9tZSAud3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzMxMzk0MTtcbiAgICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuaG9tZSAud3JhcHBlci0tbmV1aWdrZWl0ZW4ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzJweDsgfSB9XG4gICAgLmhvbWUgLndyYXBwZXItLW5ldWlna2VpdGVuIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLW5ldWlna2VpdGVuIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tbmV1aWdrZWl0ZW4gLm1haW4tY29udGFpbmVyID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV1aWdrZWl0ZW4gLm1haW4tY29udGFpbmVyID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogOHB4OyB9IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1uZXVpZ2tlaXRlbiAubWFpbi1jb250YWluZXIgLmFmdGVyYnV0dG9uIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1uZXVpZ2tlaXRlbiAubWFpbi1jb250YWluZXIgLmFmdGVyYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1uZXVpZ2tlaXRlbiAubWFpbi1jb250YWluZXIgLmJ1dHRvbiwgLmhvbWUgLndyYXBwZXItLW5ldWlna2VpdGVuIC5tYWluLWNvbnRhaW5lciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmhvbWUgLndyYXBwZXItLW5ldWlna2VpdGVuIC5tYWluLWNvbnRhaW5lciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmhvbWUgLndyYXBwZXItLW5ldWlna2VpdGVuIC5tYWluLWNvbnRhaW5lciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuaG9tZSAud3JhcHBlci0tbmV1aWdrZWl0ZW4gLm1haW4tY29udGFpbmVyIC5nZm9ybV9idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5ob21lIC53cmFwcGVyLS1iYW5uZXIge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1iYW5uZXIgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAuYmFubmVyLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzOTQxO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNoYWRvdzogMTBweCAxMHB4IDMwcHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIC5iYW5uZXItd3JhcHBlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEzMHB4OyB9IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAuYmFubmVyLXdyYXBwZXIgPiAqIHtcbiAgICAgICAgICBncmlkLWFyZWE6IDEgLyAxOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIC5pbm5lci1jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDMycHg7XG4gICAgICAgIGdhcDogMzJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1iYW5uZXIgLmlubmVyLWNvbnRlbnQge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIC5pbm5lci1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDksIDU3LCA2NSwgMC44KTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1iYW5uZXIgLmhvbWVfc3VidGl0bGUge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1iYW5uZXIgLmhvbWVfc3VidGl0bGU6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAuYmxvY2staGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA1LjZweDsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAuYmFubmVyLXRpdGxlIHtcbiAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgaHlwaGVuczogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1iYW5uZXIgLmJhbm5lci10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuMTg3NXJlbTsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIHNwYW4uYnV0dG9uLFxuICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAuZ2Zvcm1fd3JhcHBlciBzcGFuLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmhvbWUgLndyYXBwZXItLWJhbm5lciBzcGFuLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMTIuOHB4IDE2cHggOS42cHggMTZweDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1iYW5uZXIgc3Bhbi5idXR0b246aG92ZXIsXG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1iYW5uZXIgLmdmb3JtX3dyYXBwZXIgc3Bhbi5nZm9ybV9idXR0b246aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5ob21lIC53cmFwcGVyLS1iYW5uZXIgc3Bhbi5nZm9ybV9idXR0b246aG92ZXIge1xuICAgICAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciBhOmhvdmVyIC5pbm5lci1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjk1KTsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciBpbWcge1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC5jbGFpbS13cmFwcGVyIC5hZnRlcmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlOm5vdCguY291bnQtMykgLm1haW4tY29udGFpbmVyLnJvdy0yIC5hZnRlcmJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGU6bm90KC5jb3VudC0zKSAuY2xhaW0td3JhcHBlciAuYWZ0ZXJidXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlLmNvdW50LTMgLmFmdGVyYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjRweDsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUuY291bnQtMyAubWFpbi1jb250YWluZXIucm93LTIge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAubWFpbi1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDI1JTsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLmFmdGVyYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLm1haW4tY29udGFpbmVyLnJvdy0yIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAubWFpbi1jb250YWluZXIgLmJ1dHRvbiwgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC5tYWluLWNvbnRhaW5lciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC5tYWluLWNvbnRhaW5lciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC5tYWluLWNvbnRhaW5lciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLm1haW4tY29udGFpbmVyIC5nZm9ybV9idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC5jbGFpbS13cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC5jbGFpbS13cmFwcGVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLndyYXBwZXItLWlubmVycHJvamVrdGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAud3JhcHBlci0taW5uZXJwcm9qZWt0ZSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC53cmFwcGVyLS1pbm5lcnByb2pla3RlIHtcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLndyYXBwZXItLWlubmVycHJvamVrdGUgLmNhcmQge1xuICAgICAgICAgIG1hcmdpbjogOHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAud3JhcHBlci0taW5uZXJwcm9qZWt0ZSAuY2FyZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfSB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAud3JhcHBlci0taW5uZXJwcm9qZWt0ZSAuY2FyZCB7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCA1MCUgLSAxNnB4KTsgfSB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC53cmFwcGVyLS1pbm5lcnByb2pla3RlIC5jYXJkIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDMzJSAtIDE2cHgpOyB9IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC53cmFwcGVyLS1pbm5lcnByb2pla3RlIGZpZ3VyZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAud3JhcHBlci0taW5uZXJwcm9qZWt0ZSBwaWN0dXJlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC53cmFwcGVyLS1pbm5lcnByb2pla3RlIHBpY3R1cmUge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDhweCAxNXB4OyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLndyYXBwZXItLWlubmVycHJvamVrdGUgcGljdHVyZSB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAzMHB4IDhweCAzMHB4OyB9IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC53cmFwcGVyLS1pbm5lcnByb2pla3RlIGltZyB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIG1heC13aWR0aDogMTAuOTM3NXJlbTtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLndyYXBwZXItLWlubmVycHJvamVrdGUgaW1nIHtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lOyB9IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC53cmFwcGVyLS1pbm5lcnByb2pla3RlIGZpZ2NhcHRpb24ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nOiA4cHg7IH1cbiAgICAuaG9tZSAud3JhcHBlci0tbmV3cyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLW5ld3Mge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1uZXdzIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC04cHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiA3NSU7IH0gfVxuICAgICAgLmhvbWUgLndyYXBwZXItLW5ld3MgLmNhcmQge1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIG1hcmdpbjogOHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyAuY2FyZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RGREZERjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTE2cHg7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAxMDAlICsgMzJweCk7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgcGFkZGluZzogMTZweDsgfVxuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLW5ld3MgLmNhcmQgaDUsIC5ob21lIC53cmFwcGVyLS1uZXdzIC5jYXJkIHNwYW4ge1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyAuY2FyZCAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyAuY2FyZCAubmV3cy1rYWNoZWwtaW1hZ2Uge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4LjEyNXJlbTsgfVxuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLW5ld3MgLmNhcmQgc3Bhbjpub3QoLm5ld3MtbWV0YSkge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyAuY2FyZCAubmV3cy1tZXRhIHtcbiAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogMTZweDsgfVxuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLW5ld3MgLmNhcmQ6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gICAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1uZXdzIC5jYXJkOmhvdmVyIGg1IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLW5ld3MgLmNhcmQ6aG92ZXIgc3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDsgfSB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLW5ld3MgLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDUwJSAtIDE2cHgpOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1uZXdzIC5jYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAzMyUgLSAxNnB4KTsgfSB9XG4gICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgLm1haW4tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIC5tYWluLWNvbnRhaW5lciA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgLm1haW4tY29udGFpbmVyID4gZGl2IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgICAgICBtYXJnaW46IDAgOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIC5tYWluLWNvbnRhaW5lciA+IGRpdiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgLm1haW4tY29udGFpbmVyID4gZGl2IHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg3NSUgLSAxNnB4KTsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMTZweCk7IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgLm1haW4tY29udGFpbmVyID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgLmFmdGVyYnV0dG9uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAuYWZ0ZXJidXR0b24gYSB7XG4gICAgICAgICAgbWFyZ2luOiAxNnB4IDAgMCAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIC5hZnRlcmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgdWwge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgY29sdW1uLWdhcDogMzJweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyB1bCB7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgdWwge1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogNDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzMnB4OyB9IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIHVsIGxpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyB1bCBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICAgIGNvbG9yOiAjMTA1MTZiO1xuICAgICAgICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzEwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNNy41ODcgMy45NUw1LjA1IDEuNDE1IDYuNDY2IDBsNC45NSA0Ljk1TDYuNDY1IDkuOSA1LjA1IDguNDg3IDcuNTg3IDUuOTUgMCA1Ljk1MXYtMnonIGZpbGw9JyNGRkZGRkYnIGZpbGwtcnVsZT0nZXZlbm9kZCcvPiUzQy9zdmclM0VcIikgY2VudGVyIGxlZnQgbm8tcmVwZWF0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgdWwgYTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTInIGhlaWdodD0nMTAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J003LjU4NyAzLjk1TDUuMDUgMS40MTUgNi40NjYgMGw0Ljk1IDQuOTVMNi40NjUgOS45IDUuMDUgOC40ODcgNy41ODcgNS45NSAwIDUuOTUxdi0yeicgZmlsbD0nIzAwMDAwMCcgZmlsbC1ydWxlPSdldmVub2RkJy8+JTNDL3N2ZyUzRVwiKSBjZW50ZXIgbGVmdCBuby1yZXBlYXQ7XG4gICAgICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyB1bCBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgLmJ1dHRvbiwgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgLmdmb3JtX2J1dHRvbiB7XG4gICAgICBtYXJnaW46IDAgMCAwIDE2cHg7IH1cbiAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAuZmlsdGVyLWJ1dHRvbnMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTAuNjY2NjdweCA2NHB4IDEwLjY2NjY3cHggMzJweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgYm9yZGVyLXJhZGl1czogMzEuMjVyZW07XG4gICAgICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMTA1MTZiO1xuICAgICAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzFlNTc5OSswLDFlNTc5OSs1MCwyOTg5ZDgrNTAsMjA3Y2NhKzEwMCAqL1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTEnIGhlaWdodD0nOCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTkuNTQ3IDBMNS41IDQuMTE1IDEuNDUzIDAgMCAxLjQ3OGw1LjUgNS41OTNMMTEgMS40NzggOS41NDcgMCcgZmlsbD0nJTIzMTA1MTZiJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLz4lM0Mvc3ZnJTNFXCIpIGNlbnRlciByaWdodCAxNnB4IG5vLXJlcGVhdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAuZmlsdGVyLWJ1dHRvbnMge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5ob21lIC53cmFwcGVyLS1udWV0emxpY2hlcyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tbnVldHpsaWNoZXMge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1udWV0emxpY2hlcyAuaG9tZV9zdWJ0aXRsZSwgLmhvbWUgLndyYXBwZXItLW51ZXR6bGljaGVzIC5ob21lX3RpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLW51ZXR6bGljaGVzIC5ob21lX3N1YnRpdGxlOmFmdGVyLCAuaG9tZSAud3JhcHBlci0tbnVldHpsaWNoZXMgLmhvbWVfdGl0bGU6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1udWV0emxpY2hlcyAua2FjaGVsLW1ldGEgaDUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAgICAgLmhvbWUgLndyYXBwZXItLW51ZXR6bGljaGVzIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogd3JhcCByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbnVldHpsaWNoZXMgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tbnVldHpsaWNoZXMgLm1haW4tY29udGFpbmVyID4gYSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgLSAxNnB4KTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1udWV0emxpY2hlcyAubWFpbi1jb250YWluZXIgPiBhIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiA4cHg7IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1udWV0emxpY2hlcyAubWFpbi1jb250YWluZXIgPiBhIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDMzJSAtIDE2cHgpOyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbnVldHpsaWNoZXMgLm1haW4tY29udGFpbmVyID4gYSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAyNSUgLSAxNnB4KTsgfSB9XG4gICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgLmJ1dHRvbiwgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2IHtcbiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZzogMzJweDtcbiAgICAgICAgICAvKiY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtKjE1O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzdHJvbmcge2NvbG9yOiAkd2hpdGU7fVxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSovIH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2IHtcbiAgICAgICAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2IHtcbiAgICAgICAgICAgICAgcGFkZGluZzogNDhweCA2NHB4IDQ4cHggMTZweDsgfSB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYge1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdiA+ICoge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdiAuaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogOS4zNzVyZW07IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYgLmltYWdlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2IC5pbWFnZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0OHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzNSU7IH0gfVxuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2IC5pbWFnZSBpbWcge1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwLjE4NzVyZW0gMC4xODc1cmVtIDAuMjVyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2IHN0cm9uZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMTZweCAwOyB9XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2IHAge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYgLm1vcmUge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdiAubW9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsgfSB9XG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYgLm1vcmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMnB4OyB9IH1cbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdiAubW9yZTpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzMxMzk0MTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzMxMzk0MTsgfVxuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2OmZpcnN0LW9mLXR5cGU6YWZ0ZXIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzMTM5NDE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1JTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMycHg7IH0gfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyID4gZGl2Omxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyID4gZGl2Omxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAuaW5uZXJjb250ZW50IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyIC5idXR0b24sIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyIC5nZm9ybV9idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAuaG9tZV9kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciBpZnJhbWUge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgI3BsYXkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgI3BsYXkgaW1nIHtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyICNwbGF5IHN2ZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICB3aWR0aDogNi4zNzVyZW07XG4gICAgICAgICAgei1pbmRleDogMjsgfVxuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAjcGxheSBzdmcgZWxsaXBzZSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICAgICAgICAgICAgZmlsbDogIzEwNTE2YjsgfVxuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAjcGxheSBzdmcgcGF0aCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICAgICAgICAgICAgZmlsbDogI0ZGRkZGRjsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgI3BsYXk6aG92ZXIgc3ZnIGVsbGlwc2Uge1xuICAgICAgICAgIGZpbGw6ICNGRkZGRkY7IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyICNwbGF5OmhvdmVyIHN2ZyBwYXRoIHtcbiAgICAgICAgICBmaWxsOiAjMTA1MTZiOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAjcGxheS5pcy1wbGF5aW5nIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAuZW1iZWQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxLjI1cmVtO1xuICAgICAgICBsZWZ0OiAxLjI1cmVtO1xuICAgICAgICBib3R0b206IDEuMjVyZW07XG4gICAgICAgIHJpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm94LXNoYWRvdzogMjVweCAyNXB4IDMwcHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgI3ZpZGVvLWxhbmd1YWdlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAjdmlkZW8tbGFuZ3VhZ2UgYSB7XG4gICAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBtYXJnaW46IDRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgICAvKlxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjkpO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfSovIH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tcGFydG5lciB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDQ4cHg7IH0gfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgKiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDEuNjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tcGFydG5lciBoMiBiciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi45Mzc1cmVtOyB9XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tcGFydG5lciBoMiBiciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tcGFydG5lciBwIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDIxLjg3NXJlbTtcbiAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgLmJ1dHRvbiwgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuaG9tZSAud3JhcHBlci0tcGFydG5lciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuaG9tZSAud3JhcHBlci0tcGFydG5lciAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAxMnB4IGF1dG8gMCBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIC5idXR0b24sIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuaG9tZSAud3JhcHBlci0tcGFydG5lciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIC5nZm9ybV9idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcGFydG5lciAuaG9tZV90aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIC5ob21lX3N1YnRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIC5ob21lX3N1YnRpdGxlOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhvbWUgLndyYXBwZXItLWdhbGVyaWVuIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmhvbWUgLndyYXBwZXItLWdhbGVyaWVuIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDkwcmVtO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLWdhbGVyaWVuIC5tYWluLWNvbnRhaW5lciAua2FjaGVsLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4gLm1haW4tY29udGFpbmVyID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcGFkZGluZzogMCAzMnB4IDMycHggMzJweDsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4gLm1haW4tY29udGFpbmVyID4gZGl2OmZpcnN0LW9mLXR5cGUgaDIge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgICBmb250LXNpemU6IDNyZW07IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLWdhbGVyaWVuIC5tYWluLWNvbnRhaW5lciA+IGRpdjpmaXJzdC1vZi10eXBlIC5idXR0b24sXG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1nYWxlcmllbiAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4gLm1haW4tY29udGFpbmVyID4gZGl2OmZpcnN0LW9mLXR5cGUgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4gLm1haW4tY29udGFpbmVyID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgICAgLmhvbWUgLndyYXBwZXItLWdhbGVyaWVuIC5tYWluLWNvbnRhaW5lciA+IC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLWdhbGVyaWVuIC5tYWluLWNvbnRhaW5lciA+IC5jYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLWdhbGVyaWVuIC5tYWluLWNvbnRhaW5lciA+IC5jYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuXG4uZmxleGlibGUtaWZyYW1lLXdyYXBwZXIgaWZyYW1lIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5mbGV4aWJsZS1saW5rcy13cmFwcGVyIHVsOm5vdCguYnV0dG9uLWdyb3VwKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIgdWw6bm90KC5idXR0b24tZ3JvdXApIGxpIHtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMDsgfVxuICAuZmxleGlibGUtbGlua3Mtd3JhcHBlciB1bDpub3QoLmJ1dHRvbi1ncm91cCkgYSB7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIC5mbGV4aWJsZS1saW5rcy13cmFwcGVyIHVsOm5vdCguYnV0dG9uLWdyb3VwKSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG5cbi5mbGV4aWJsZS1saW5rcy13cmFwcGVyIC5idXR0b24tZ3JvdXAge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5mbGV4aWJsZS1saW5rcy13cmFwcGVyIC5idXR0b24tZ3JvdXAge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5mbGV4aWJsZS1saW5rcy13cmFwcGVyIC5idXR0b24tZ3JvdXAgPiAqIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIgLmJ1dHRvbi1ncm91cCBsaSB7XG4gICAgcGFkZGluZzogMC4zMTI1cmVtOyB9XG4gIC5mbGV4aWJsZS1saW5rcy13cmFwcGVyIC5idXR0b24tZ3JvdXAgYSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4ucmVzdWx0cy1pdGVtIHAsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgcCB7XG4gIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zcmVndWxhcic7IH1cblxuLnJlc3VsdHMtaXRlbSBhLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7IH1cbiAgLnJlc3VsdHMtaXRlbSBhOmhvdmVyLFxuICAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgYTpob3ZlciB7XG4gICAgY29sb3I6ICMzMTM5NDE7IH1cblxuLnJlc3VsdHMtaXRlbSBoNCwgLnJlc3VsdHMtaXRlbSBoNSwgLnJlc3VsdHMtaXRlbSBoNiwgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGg0LFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGg1LFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGg2LFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSxcbi5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciAuZW50cnktdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG5cbi5yZXN1bHRzLWl0ZW0gaDQsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgaDQge1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNibGFjaycsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5yZXN1bHRzLWl0ZW0gaDEsIC5yZXN1bHRzLWl0ZW0gI2NvbnRhY3Qtb3ZlcmxheSAuY29udGFjdF90aXRsZSwgI2NvbnRhY3Qtb3ZlcmxheSAucmVzdWx0cy1pdGVtIC5jb250YWN0X3RpdGxlLCAucmVzdWx0cy1pdGVtICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX3RlbCwgI2NvbnRhY3Qtb3ZlcmxheSAucmVzdWx0cy1pdGVtIC5sYXJnZV90ZWwsIC5yZXN1bHRzLWl0ZW0gI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfZW1haWwsICNjb250YWN0LW92ZXJsYXkgLnJlc3VsdHMtaXRlbSAubGFyZ2VfZW1haWwsIC5yZXN1bHRzLWl0ZW0gI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcywgI2NvbnRhY3Qtb3ZlcmxheSAucmVzdWx0cy1pdGVtIC5sYXJnZV9hZGRyZXNzLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGgxLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyICNjb250YWN0LW92ZXJsYXkgLmNvbnRhY3RfdGl0bGUsXG4jY29udGFjdC1vdmVybGF5IC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciAuY29udGFjdF90aXRsZSxcbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciAjY29udGFjdC1vdmVybGF5IC5sYXJnZV90ZWwsXG4jY29udGFjdC1vdmVybGF5IC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciAubGFyZ2VfdGVsLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2VtYWlsLFxuI2NvbnRhY3Qtb3ZlcmxheSAuZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgLmxhcmdlX2VtYWlsLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2FkZHJlc3MsXG4jY29udGFjdC1vdmVybGF5IC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciAubGFyZ2VfYWRkcmVzcyB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuLnJlc3VsdHMtaXRlbSBoMiwgLnJlc3VsdHMtaXRlbSBoMywgLnJlc3VsdHMtaXRlbSAuY2hhci13cmFwcGVyOmJlZm9yZSwgLnJlc3VsdHMtaXRlbSBoNSxcbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBoMixcbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBoMyxcbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciAuY2hhci13cmFwcGVyOmJlZm9yZSxcbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBoNSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuLnJlc3VsdHMtaXRlbSBoNCwgLnJlc3VsdHMtaXRlbSBoNiwgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGg0LFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGg2LFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSxcbi5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciAuZW50cnktdGl0bGUge1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXN1bHRzLWl0ZW0gaDQsXG4gIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBoNCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgfSB9XG5cbi5mbGV4aWJsZS1mdWxsd2lkdGgtd3JhcHBlciAuY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmxleGlibGUtZnVsbHdpZHRoLXdyYXBwZXIgLmNhcHRpb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDUuNjI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTE2cHg7IH0gfVxuXG4uZmxleGlibGUtZnVsbHdpZHRoLXdyYXBwZXIgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuICAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgdWwgbGkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjREZERkRGO1xuICAgIHBhZGRpbmc6IDAuNjg3NXJlbSAwOyB9XG4gICAgLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNERkRGREY7IH1cblxuLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG4gIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cblxuLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIC5pbm5lcm1ldGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgLmRlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHJnYmEoNDksIDU3LCA2NSwgMC42KTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLXRvcDogMC40Mzc1cmVtOyB9XG5cbi5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciAuZmlsZS1pY29uIHtcbiAgZmxleDogMCAwIDIuMTg3NXJlbTtcbiAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpO1xuICBwYWRkaW5nLXRvcDogMC4xODc1cmVtOyB9XG5cbi5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciAuZG93bmxvYWQtY2F0cyB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogIzMxMzk0MTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgLmRvd25sb2FkLWNhdHMge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciAuZG93bmxvYWQtY2F0cyBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgLmRvd25sb2FkLWNhdHMgc3BhbiB7XG4gICAgbWFyZ2luOiAwIDAuMzEyNXJlbTsgfVxuXG4uZmxleGlibGUtaGFsZndpZHRoLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZsZXhpYmxlLWhhbGZ3aWR0aC13cmFwcGVyID4gKiB7XG4gICAgd2lkdGg6IDQ5JTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mbGV4aWJsZS10aGlyZHdpZHRoLXdyYXBwZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZsZXhpYmxlLXRoaXJkd2lkdGgtd3JhcHBlciAuZmxleGlibGUtdGhpcmR3aWR0aC1pbWcge1xuICAgIG1heC13aWR0aDogMzQuMzc1cmVtOyB9XG4gIC5mbGV4aWJsZS10aGlyZHdpZHRoLXdyYXBwZXIgLmNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmxleGlibGUtdGhpcmR3aWR0aC13cmFwcGVyIC5jYXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDUuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTZweDsgfSB9XG5cbi5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLWl0ZW06bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG5cbi5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciBpbWcge1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLXdyYXBwZXIgaW1nIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTsgfSB9XG5cbi5hcC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuYXAtd3JhcHBlciA+ICoge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0RGREZERjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjREZERkRGO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNERkRGREY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFwLXdyYXBwZXIgPiAqIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmFwLXdyYXBwZXIgPiAqIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDsgfSB9XG4gIC5hcC13cmFwcGVyIGg2LCAuYXAtd3JhcHBlciAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5hcC13cmFwcGVyIC5lbnRyeS10aXRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuYXAtd3JhcHBlciBoNiwgLmFwLXdyYXBwZXIgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLCAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuYXAtd3JhcHBlciAuZW50cnktdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAuYXAtd3JhcHBlciBhIHtcbiAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAuYXAtd3JhcHBlciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gIC5hcC13cmFwcGVyIC5hcC1tZXRhIHtcbiAgICBwYWRkaW5nOiAxLjQzNzVyZW07IH1cbiAgLmFwLXdyYXBwZXIgLmFwLWZ1bmt0aW9uIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiByZ2JhKDQ5LCA1NywgNjUsIDAuNik7IH1cbiAgLmFwLXdyYXBwZXIgLmFwLWNvbnRhY3Qge1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfVxuICAuYXAtd3JhcHBlciAuaXMtYW5zcHJlY2hwYXJ0bmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hcC13cmFwcGVyIC5pcy1hbnNwcmVjaHBhcnRuZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9IH1cbiAgICAuYXAtd3JhcHBlciAuaXMtYW5zcHJlY2hwYXJ0bmVyIC5hcC10aHVtYiB7XG4gICAgICBmbGV4OiAwIDAgNy41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5hcC13cmFwcGVyIC5pcy1pbnN0aXR1dGlvbmVuIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5hcC13cmFwcGVyIC5pcy1pbnN0aXR1dGlvbmVuIGg2LCAuYXAtd3JhcHBlciAuaXMtaW5zdGl0dXRpb25lbiAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5hcC13cmFwcGVyIC5pcy1pbnN0aXR1dGlvbmVuIC5lbnRyeS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsgfSB9XG4gIC5hcC13cmFwcGVyIC5pcy1pbnN0aXR1dGlvbmVuOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIGJvcmRlci10b3A6IDA7IH1cbiAgLmFwLXdyYXBwZXIgLmlzLWluc3RpdHV0aW9uZW4gLmFwLXRodW1iIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAxMS4yNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMS40Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hcC13cmFwcGVyIC5pcy1pbnN0aXR1dGlvbmVuIC5hcC10aHVtYiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS40Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5hcC13cmFwcGVyIC5pcy1pbnN0aXR1dGlvbmVuIC5hcC13ZWJtYWlsIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuYXAtd3JhcHBlciAuaXMtaW5zdGl0dXRpb25lbiAuYXAtd2VibWFpbCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgICAgICAgLmFwLXdyYXBwZXIgLmlzLWluc3RpdHV0aW9uZW4gLmFwLXdlYm1haWwgYSB7XG4gICAgICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hcC13cmFwcGVyIC5pcy1pbnN0aXR1dGlvbmVuIC5hcC13ZWJtYWlsID4gKiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTsgfSB9XG5cbi5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmNhcmQtd3JhcHBlciB7XG4gIGdyaWQtYXV0by1yb3dzOiAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciAuY2FyZC13cmFwcGVyIHtcbiAgICAgIGdyaWQtZ2FwOiAwLjA2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmNhcmQtd3JhcHBlciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cblxuLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogMy42MjVyZW07XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgxODEsIDE4MCwgMTY4LCAwLjEpO1xuICBjb2xvcjogIzMxMzk0MTsgfVxuICAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIGEgPiAqIHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciBhOmhvdmVyIGg2LCAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIGE6aG92ZXIgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLCAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIGE6aG92ZXIgLmVudHJ5LXRpdGxlIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIGE6aG92ZXIgc3BhbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciAua2FjaGVsLW5vLWltYWdlID4gKiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciAua2FjaGVsLW5vLWltYWdlIGg2LCAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIC5rYWNoZWwtbm8taW1hZ2UgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLCAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIC5rYWNoZWwtbm8taW1hZ2UgLmVudHJ5LXRpdGxlIHtcbiAgcGFkZGluZzogMC4zMTI1cmVtIDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tb3otaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIC5rYWNoZWwtbm8taW1hZ2UgaDYsIC5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmthY2hlbC1uby1pbWFnZSAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmthY2hlbC1uby1pbWFnZSAuZW50cnktdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIC5rYWNoZWwtbm8taW1hZ2UgaDYsIC5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmthY2hlbC1uby1pbWFnZSAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmthY2hlbC1uby1pbWFnZSAuZW50cnktdGl0bGUge1xuICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDEuODc1cmVtOyB9IH1cblxuLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciAua2FjaGVsLW5vLWltYWdlIHNwYW4ge1xuICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE4MSwgMTgwLCAxNjgsIDAuMSk7XG4gIHdpZHRoOiAzLjYyNXJlbTtcbiAgaGVpZ2h0OiAzLjYyNXJlbTtcbiAgZmxleDogMCAwIGF1dG87XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlOyB9XG5cbi5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjREZERkRGOyB9XG4gIC5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIgaGVhZGVyLCAuZmxleGlibGUtaW5mb2JveC13cmFwcGVyIGhlYWRlciA+ICoge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBpIHtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuZmxleGlibGUtaW5mb2JveC13cmFwcGVyIGg1IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjkzNzVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIgaDUge1xuICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfSB9XG4gIC5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIgZGl2IHtcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmxleGlibGUtaW5mb2JveC13cmFwcGVyIGRpdiB7XG4gICAgICAgIHBhZGRpbmc6IDMycHg7IH0gfVxuICAuZmxleGlibGUtaW5mb2JveC13cmFwcGVyIGEge1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsgfVxuICAgIC5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzMxMzk0MTsgfVxuXG4uZmxleGlibGUtdHh0aW1nLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciA+ICoge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyID4gKiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgYSBoNCB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOyB9XG4gIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciBhIGFydGljbGUge1xuICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciBhOmhvdmVyIGg0IHtcbiAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgYTpob3ZlciBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzOTQxOyB9XG4gIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciAuaW1nLW91dGVyLXdyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgLmltZy1pbm5lci13cmFwcGVyIHtcbiAgICBtaW4td2lkdGg6IDE0LjM3NXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTsgfVxuICAgIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciAuaW1nLWlubmVyLXdyYXBwZXIuc21hbGxlciB7XG4gICAgICBtaW4td2lkdGg6IDcuODEyNXJlbTsgfVxuICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNyZWd1bGFyJzsgfVxuICAgIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciAuaW5uZXItd3JhcHBlci5jZW50ZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIgaDQge1xuICAgICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpOyB9XG4gICAgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIC5pbm5lci13cmFwcGVyIC5idXR0b24sIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciAuaW5uZXItd3JhcHBlciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIC5pbm5lci13cmFwcGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIC5pbm5lci13cmFwcGVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciAuaW5uZXItd3JhcHBlciAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcInBvcHBpbnNtZWRpdW1cIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNDksIDU3LCA2NSwgMC4wNSk7XG4gIHBhZGRpbmc6IDE2cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2Zvcm1fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAzMnB4OyB9IH1cbiAgLmdmb3JtX3dyYXBwZXIgaDMuZ2Zvcm1fdGl0bGUsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV90aXRsZS5jaGFyLXdyYXBwZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgLmdmb3JtX3dyYXBwZXIgaW5wdXQsIC5nZm9ybV93cmFwcGVyIHRleHRhcmVhIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMTM5NDE7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgaW5wdXQ6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIHRleHRhcmVhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1haW4tY29sb3IpOyB9XG4gIC5nZm9ybV93cmFwcGVyIHVsLmxlZnRfbGFiZWwgaW5wdXQubWVkaXVtIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYm9keSB1bCBsaS5nZmllbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0Lmdmb3JtX2J1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XTpob3ZlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0Lmdmb3JtX2J1dHRvblt0eXBlPXN1Ym1pdF06aG92ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4uZmxleGlibGUtZm9ybS13cmFwcGVyIC5nZm9ybV93cmFwcGVyIGRpdi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgY29sb3I6ICNjYzRiMzc7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjY2M0YjM3O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2NjNGIzNzsgfVxuXG4uZmxleGlibGUtZm9ybS13cmFwcGVyIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3Ige1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjNGIzNztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYzRiMzc7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciAuZ2ZpZWxkX2xhYmVsLCAuZmxleGlibGUtZm9ybS13cmFwcGVyIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmZsZXhpYmxlLWZvcm0td3JhcHBlciAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPSdmaWxlJ10pLFxuICAuZmxleGlibGUtZm9ybS13cmFwcGVyIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgdGV4dGFyZWEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7IH1cblxuLmZsZXhpYmxlLWZvcm0td3JhcHBlciAuZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2Uge1xuICBwYWRkaW5nOiAxNnB4O1xuICBiYWNrZ3JvdW5kOiAjNkVCNTMzO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5mbGV4aWJsZS10YXgtZG93bmxvYWRzLXdyYXBwZXIgLmNlbGwucmVzdWx0LXdyYXBwZXIge1xuICB3aWR0aDogY2FsYyg5My43NSUgLSAycmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mbGV4aWJsZS10YXgtZG93bmxvYWRzLXdyYXBwZXIgLmNlbGwucmVzdWx0LXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4uZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIC5maWx0ZXItd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMS4yNXJlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5mbGV4aWJsZS10YXgtZG93bmxvYWRzLXdyYXBwZXIgLmZpbHRlci13cmFwcGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAuZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIC5maWx0ZXItd3JhcHBlciA+ICoge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIC5maWx0ZXItd3JhcHBlciA+ICoge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmZsZXhpYmxlLXRheC1kb3dubG9hZHMtd3JhcHBlciAuZmlsdGVyLXR5cC13cmFwcGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5mbGV4aWJsZS10YXgtZG93bmxvYWRzLXdyYXBwZXIgLmZpbHRlci10eXAtd3JhcHBlciBsYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9IH1cblxuLmZsZXhpYmxlLXRheC1kb3dubG9hZHMtd3JhcHBlciAuZmlsdGVyLXNlYXJjaC13cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiAxMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5mbGV4aWJsZS10YXgtZG93bmxvYWRzLXdyYXBwZXIgLmZpbHRlci1zZWFyY2gtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9IH1cblxuLmZsZXhpYmxlLXRheC1kb3dubG9hZHMtd3JhcHBlciBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEyNXJlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RGREZERjtcbiAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtIDAuMTg3NXJlbSAxLjg3NXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00xMS43MzMgMTAuNDI4TDkuMjYgNy45NTVjLjU5Ni0uODYxLjg5NC0xLjgyLjg5NC0yLjg3OCAwLS42ODctLjEzMy0xLjM0NS0uNC0xLjk3MmE1LjA3NCA1LjA3NCAwIDAgMC0xLjA4Mi0xLjYyM0E1LjA3NSA1LjA3NSAwIDAgMCA3LjA0OS40IDQuOTkgNC45OSAwIDAgMCA1LjA3NyAwQzQuMzkgMCAzLjczMi4xMzMgMy4xMDUuNGE1LjA3NSA1LjA3NSAwIDAgMC0xLjYyMyAxLjA4MkE1LjA3NiA1LjA3NiAwIDAgMCAuNCAzLjEwNSA0Ljk4OSA0Ljk4OSAwIDAgMCAwIDUuMDc3YzAgLjY4OC4xMzMgMS4zNDUuNCAxLjk3MmE1LjA3NCA1LjA3NCAwIDAgMCAxLjA4MiAxLjYyM2MuNDU0LjQ1NC45OTUuODE1IDEuNjIzIDEuMDgyYTQuOTkgNC45OSAwIDAgMCAxLjk3Mi40IDQuOTQgNC45NCAwIDAgMCAyLjg3Ny0uODk0bDIuNDc0IDIuNDY2Yy4xNzMuMTgzLjM5LjI3NC42NDkuMjc0LjI1IDAgLjQ2Ni0uMDkxLjY0OS0uMjc0YS44ODcuODg3IDAgMCAwIC4yNzQtLjY0OS44ODMuODgzIDAgMCAwLS4yNjctLjY0OXpNNy4xMiA3LjExOUEyLjg4OSAyLjg4OSAwIDAgMSA1IDhhMi44OSAyLjg5IDAgMCAxLTIuMTE4LS44OEEyLjg4OSAyLjg4OSAwIDAgMSAyIDVjMC0uODI2LjI5NC0xLjUzMi44OC0yLjEyQTIuODg5IDIuODg5IDAgMCAxIDUgMmEyLjg5IDIuODkgMCAwIDEgMi4xMi44OEM3LjcwNSAzLjQ2OSA4IDQuMTc1IDggNWEyLjg5IDIuODkgMCAwIDEtLjg4IDIuMTJ6JyBmaWxsPSclMjM5OTk5OTknIGZpbGwtcnVsZT0nbm9uemVybycvJTNFJTNDL3N2ZyUzRVwiKSBsZWZ0IDEwcHggY2VudGVyIG5vLXJlcGVhdDsgfVxuICAuZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIGlucHV0W3R5cGU9J3RleHQnXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDAgMS44NzVyZW07IH0gfVxuXG4uZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIHNlbGVjdCB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBoZWlnaHQ6IDIuMTg3NXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA2LjI1cmVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZDogdmFyKC0tbWFpbi1jb2xvcikgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTEnIGhlaWdodD0nOCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTkuNTQ3IDBMNS41IDQuMTE1IDEuNDUzIDAgMCAxLjQ3OGw1LjUgNS41OTNMMTEgMS40NzggOS41NDcgMCcgZmlsbD0nJTIzRkZGJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLyUzRSUzQy9zdmclM0VcIikgcmlnaHQgMTBweCBjZW50ZXIgbm8tcmVwZWF0O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB3aWR0aDogYXV0bztcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5mbGV4aWJsZS10YXgtZG93bmxvYWRzLXdyYXBwZXIgbGFiZWwge1xuICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjYpO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG5cbi5kb3dubG9hZHMtdGFibGUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0RGREZERjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNERkRGREY7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZG93bmxvYWRzLXRhYmxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNERkRGREY7IH0gfVxuICAuZG93bmxvYWRzLXRhYmxlIGgzLCAuZG93bmxvYWRzLXRhYmxlIC5jaGFyLXdyYXBwZXI6YmVmb3JlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5kb3dubG9hZHMtdGFibGUgaDMsIC5kb3dubG9hZHMtdGFibGUgLmNoYXItd3JhcHBlcjpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nOiA0cHg7IH0gfVxuICAuZG93bmxvYWRzLXRhYmxlIGEge1xuICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZG93bmxvYWRzLXRhYmxlIGE6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyMjMsIDIyMywgMjIzLCAwLjIpOyB9XG4gICAgLmRvd25sb2Fkcy10YWJsZSBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1haW4tY29sb3IpOyB9XG4gICAgICAuZG93bmxvYWRzLXRhYmxlIGE6aG92ZXIsIC5kb3dubG9hZHMtdGFibGUgYTpob3ZlciAuY29sLXRpdGxlLCAuZG93bmxvYWRzLXRhYmxlIGE6aG92ZXIgLmRlc2Mge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5kb3dubG9hZHMtdGFibGUgYSA+ICoge1xuICAgICAgcGFkZGluZzogMCAxLjI1cmVtOyB9XG4gICAgLmRvd25sb2Fkcy10YWJsZSBhIC5jb2wtdGl0bGUge1xuICAgICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpOyB9XG4gICAgLmRvd25sb2Fkcy10YWJsZSBhIC5jb2wtY2F0IHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5kb3dubG9hZHMtdGFibGUgYSAuY29sLWNhdCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICAuZG93bmxvYWRzLXRhYmxlIGEgLmRlc2Mge1xuICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjcpO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3JlZ3VsYXInLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmRvd25sb2Fkcy1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cblxuLmZsZXhpYmxlLWNvbnRlbnQuZG93bmxvYWRzLXdyYXBwZXIgYTpob3ZlciB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTsgfVxuICAuZmxleGlibGUtY29udGVudC5kb3dubG9hZHMtd3JhcHBlciBhOmhvdmVyIC5ncmlkLXgge1xuICAgIGJhY2tncm91bmQ6ICMxMDUxNmI7IH1cblxuYm9keSAuZmxleGlibGUtY29udGVudC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIGJvZHkgLmZsZXhpYmxlLWNvbnRlbnQuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBib2R5IC5mbGV4aWJsZS1jb250ZW50LmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciB1bCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC04cHg7IH0gfVxuICBib2R5IC5mbGV4aWJsZS1jb250ZW50LmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIGJvZHkgLmZsZXhpYmxlLWNvbnRlbnQuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBib2R5IC5mbGV4aWJsZS1jb250ZW50LmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBsaSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmc6IDhweDsgfVxuICAgICAgICBib2R5IC5mbGV4aWJsZS1jb250ZW50LmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICBib2R5IC5mbGV4aWJsZS1jb250ZW50LmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBsaSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMyU7IH0gfVxuICAgIGJvZHkgLmZsZXhpYmxlLWNvbnRlbnQuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIGxpLmdyb3cge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgYm9keSAuZmxleGlibGUtY29udGVudC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBib2R5IC5mbGV4aWJsZS1jb250ZW50LmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBhOmhvdmVyIGZpZ2NhcHRpb24ge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoNCwgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoNSwgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoNiwgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgLmVudHJ5LXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuXG4uZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGg0IHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYmxhY2snLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGgxLCAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyICNjb250YWN0LW92ZXJsYXkgLmNvbnRhY3RfdGl0bGUsICNjb250YWN0LW92ZXJsYXkgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciAuY29udGFjdF90aXRsZSwgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciAjY29udGFjdC1vdmVybGF5IC5sYXJnZV90ZWwsICNjb250YWN0LW92ZXJsYXkgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciAubGFyZ2VfdGVsLCAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2VtYWlsLCAjY29udGFjdC1vdmVybGF5IC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgLmxhcmdlX2VtYWlsLCAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2FkZHJlc3MsICNjb250YWN0LW92ZXJsYXkgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciAubGFyZ2VfYWRkcmVzcyB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoMiwgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoMywgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciAuY2hhci13cmFwcGVyOmJlZm9yZSwgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoNSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoNCwgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoNiwgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgLmVudHJ5LXRpdGxlIHtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGg0IHtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9IH1cblxuLnNwYWNlciB7XG4gIGhlaWdodDogMXB4OyB9XG4gIC5zcGFjZXIuc21hbGwtbm9uZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc3BhY2VyLnNtYWxsLWhhbGYge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgLnNwYWNlci5zbWFsbC1ub3JtYWwge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH1cbiAgLnNwYWNlci5zbWFsbC1kb3VibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDY0cHg7IH1cbiAgLnNwYWNlci5zbWFsbC10cmlwbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDk2cHg7IH1cbiAgLnNwYWNlci5zbWFsbC1xdWFkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMjhweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zcGFjZXIubWVkaXVtLW5vbmUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5zcGFjZXIubWVkaXVtLWhhbGYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gICAgLnNwYWNlci5tZWRpdW0tbm9ybWFsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgICAuc3BhY2VyLm1lZGl1bS1kb3VibGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICAgIC5zcGFjZXIubWVkaXVtLXRyaXBsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0OHB4OyB9XG4gICAgLnNwYWNlci5tZWRpdW0tcXVhZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2NHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zcGFjZXIubGFyZ2Utbm9uZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnNwYWNlci5sYXJnZS1oYWxmIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgICAuc3BhY2VyLmxhcmdlLW5vcm1hbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG4gICAgLnNwYWNlci5sYXJnZS1kb3VibGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjRweDsgfVxuICAgIC5zcGFjZXIubGFyZ2UtdHJpcGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDk2cHg7IH1cbiAgICAuc3BhY2VyLmxhcmdlLXF1YWQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTI4cHg7IH0gfVxuXG4uc2hvdy1mb3Itc21hbGwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLnNob3ctZm9yLXNtYWxsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc2hvdy1mb3ItbGFyZ2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4vKiBMYXp5bG9hZGluZyB2aWEgTGF6eXNpemVzICovXG4vKiBmYWRlIGltYWdlIGluIGFmdGVyIGxvYWQgKi9cbi8qIFNwaW5uZXIgY2hlY2sgaHR0cDovL3NhbWhlcmJlcnQubmV0L3N2Zy1sb2FkZXJzLyAqL1xuLmxhenlsb2FkLFxuLmxhenlsb2FkaW5nIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4ubGF6eWxvYWRlZCB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNjAwbXM7IH1cblxuaW1nLmxhenlsb2FkOm5vdChbc3JjXSkge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0ICcuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyBTZXR0aW5nc1xuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZVxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cblxuICBAaWYgJHByb3RvdHlwZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0aGUgbm9ybWFsaXplKCkgbWl4aW4uXG5AZnVuY3Rpb24gX25vcm1hbGl6ZS1pbmNsdWRlKCRzZWN0aW9uLCAkZXhjbHVkZTogbnVsbCkge1xuICAvLyBJbml0aWFsaXplIHRoZSBnbG9iYWwgdmFyaWFibGVzIG5lZWRlZCBieSB0aGlzIGZ1bmN0aW9uLlxuICBAaWYgbm90IGdsb2JhbF92YXJpYWJsZV9leGlzdHMoX25vcm1hbGl6ZS1pbmNsdWRlKSB7XG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogKCkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiAoKSAhZ2xvYmFsO1xuICB9XG4gIC8vIFNpbmNlIHdlIGFyZSBnaXZlbiAyIHBhcmFtZXRlcnMsIHNldCB0aGUgZ2xvYmFsIHZhcmlhYmxlcy5cbiAgQGlmICRleGNsdWRlICE9IG51bGwge1xuICAgICRpbmNsdWRlOiAkc2VjdGlvbjtcbiAgICAvLyBTYXNzIGRvZXNuJ3QgaGF2ZSBzdGF0aWMgdmFyaWFibGVzLCBzbyB0aGUgd29yay1hcm91bmQgaXMgdG8gc3R1ZmYgdGhlc2VcbiAgICAvLyB2YWx1ZXMgaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIHdlIGNhbiBhY2Nlc3MgdGhlbSBpbiBmdXR1cmUgY2FsbHMuXG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICRzZWN0aW9uIGlzIGluIHRoZSAkaW5jbHVkZSBsaXN0LlxuICBAaWYgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgJHNlY3Rpb24pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gSWYgJGluY2x1ZGUgaXMgc2V0IHRvIChhbGwpLCBtYWtlIHN1cmUgJHNlY3Rpb24gaXMgbm90IGluICRleGNsdWRlLlxuICBAZWxzZSBpZiBub3QgaW5kZXgoJF9ub3JtYWxpemUtZXhjbHVkZSwgJHNlY3Rpb24pIGFuZCBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCBhbGwpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZSgkaW5jbHVkZTogKGFsbCksICRleGNsdWRlOiAoKSkge1xuICAvLyBJbml0aWFsaXplIHRoZSBoZWxwZXIgZnVuY3Rpb24gYnkgcGFzc2luZyBpdCB0aGlzIG1peGluJ3MgcGFyYW1ldGVycy5cbiAgJGluaXQ6IF9ub3JtYWxpemUtaW5jbHVkZSgkaW5jbHVkZSwgJGV4Y2x1ZGUpO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemUge1xuICAgICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZG9jdW1lbnQpIHtcbiAgICAvKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5cbiAgICBodG1sIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLy8gQ29ycmVjdCBvbGQgYnJvd3NlciBidWcgdGhhdCBwcmV2ZW50ZWQgYWNjZXNzaWJsZSByZXNpemluZyBvZiB0ZXh0XG4gICAgICAgIC8vIHdoZW4gcm9vdCBmb250LXNpemUgaXMgc2V0IHdpdGggcHggb3IgZW0uXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNlY3Rpb25zKSB7XG4gICAgLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGFydGljbGUsXG4gICAgYXNpZGUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBuYXYsXG4gICAgc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMC42N2VtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgzLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cblxuICAgICAgZGwsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICovXG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDFlbSAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIG1haW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgcHJlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XG4gICAgLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGE6YWN0aXZlLFxuICAgIGE6aG92ZXIge1xuICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRleHQpIHtcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGFiYnJbdGl0bGVdIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGF1ZGlvLFxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgc3ZnOm5vdCg6cm9vdCkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XG4gICAgLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBidXR0b24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIHNlbGVjdCB7IC8qIDEgKi9cbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cblxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi9cblxuICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuXG4gICAgaW5wdXQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBWZXJ0aWNhbCBSaHl0aG1cbi8vXG4vLyBUaGlzIGlzIHRoZSBtaW5pbWFsIGFtb3VudCBvZiBjb2RlIG5lZWRlZCB0byBjcmVhdGUgdmVydGljYWwgcmh5dGhtIGluIG91clxuLy8gQ1NTLiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcm9idXN0IHNvbHV0aW9uLCBsb29rIGF0IHRoZSBleGNlbGxlbnQgVHlwZXlcbi8vIGxpYnJhcnkuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pwdGFyYW50by90eXBleVxuXG5AZnVuY3Rpb24gbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplLCAkdW5pdDogJGJhc2UtdW5pdCkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9IHB4IHtcbiAgICBAZXJyb3IgXCJUaGUgbm9ybWFsaXplIHZlcnRpY2FsLXJoeXRobSBtb2R1bGUgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBAaWYgJHVuaXQgPT0gcmVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkYmFzZS1mb250LXNpemUpICogMXJlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSBlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJHJlbGF0aXZlLXRvKSAqIDFlbTtcbiAgfVxuICBAZWxzZSB7IC8vICR1bml0ID09IHB4XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIG5vcm1hbGl6ZS1mb250LXNpemUoJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdweCcge1xuICAgIEBlcnJvciBcIm5vcm1hbGl6ZS1mb250LXNpemUoKSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWUtbGlzdCB7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICR2YWx1ZSAhPSAwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogbm9ybWFsaXplLXJoeXRobSgkYmFzZS1saW5lLWhlaWdodCwgJHJlbGF0aXZlLXRvKTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICB9XG4gICN7JHByb3BlcnR5fTogJG5vcm1hbGl6ZWQtdmFsdWVzO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLW1hcmdpbigkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKG1hcmdpbiwgJHZhbHVlcywgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkZm9udC1zaXplLCAkbWluLWxpbmUtcGFkZGluZzogMnB4KSB7XG4gICRsaW5lczogY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpO1xuICAvLyBJZiBsaW5lcyBhcmUgY3JhbXBlZCBpbmNsdWRlIHNvbWUgZXh0cmEgbGVhZGluZy5cbiAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKCRtaW4tbGluZS1wYWRkaW5nICogMikge1xuICAgICRsaW5lczogJGxpbmVzICsgMTtcbiAgfVxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKGxpbmUtaGVpZ2h0LCAkbGluZXMsICRmb250LXNpemUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyAgRm91bmRhdGlvblByZXNzIHNldHRpbmdzLlxuLy8gIEJhc2VkIG9uIEZvdW5kYXRpb24gZm9yIFNpdGVzIHY2LjQuM1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5AaW1wb3J0ICdnbG9iYWwvY29sb3JzJztcblxuLy8gRk9OVFNcbkBtaXhpbiByZWd1bGFyKCkge1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNyZWd1bGFyJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5AbWl4aW4gc2VtaWJvbGQoKSB7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IFxufVxuQG1peGluIGJvbGQoKSB7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbkBtaXhpbiBibGFjaygpIHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYmxhY2snLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgXG59IFxuXG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzMxMzk0MSxcbiAgc2Vjb25kYXJ5OiAjMTA1MTZiLCAvLyBTdGFydHNlaXRlbmZhcmJlIGFscyBGYWxsYmFja1xuICBzdWNjZXNzOiAjNkVCNTMzLFxuICB3YXJuaW5nOiAjZmZmYjAwLFxuICBhbGVydDogI2NjNGIzNyxcbik7XG4kY3VycmVudC1jb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG5cblxuJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSxwcmltYXJ5KTtcbiRwcmltYXJ5LWRhcms6ICM0NjYyQTM7XG4kc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsc2Vjb25kYXJ5KTtcbiRncmVlbjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLHN1Y2Nlc3MpO1xuJHJlZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLGFsZXJ0KTtcbiRncmF5OiAjREZERkRGO1xuJGxpZ2h0LWdyYXk6ICRncmF5O1xuJG1lZGl1bS1ncmF5OiAkZ3JheTtcbiRkYXJrLWdyYXk6ICRwcmltYXJ5LWNvbG9yOyAvLyBBbnRocmF6aXRcbiRibGFjazogIzAwMDAwMDtcbiR3aGl0ZTogI0ZGRkZGRjtcbiRibHVlOiAjMTA1MTZiO1xuJHZpb2xldDogIzJCMUM1RjtcbiRzaG9wOiB2YXIoLS1zaG9wLWNvbG9yKTsgXG4kZWd1aWNoZXQ6ICNmZjZiNmI7XG4kd2FybmluZzogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLHdhcm5pbmcpO1xuXG4kYnJvd246ICNCNUI0QTg7XG5cblxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYm9keS1mb250LWZhbWlseTogJ3BvcHBpbnNtZWRpdW0nLC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogcmVtLWNhbGMoMyk7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDByZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDgwMHB4LFxuICB4bGFyZ2U6IDEwMjRweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBtZWRpdW07XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSB4eGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJ3BvcHBpbnNib2xkJztcbiRoZWFkZXItZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjI7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyOCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMyksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIGxhcmdlOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyNiksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyMyksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyMSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMiksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNyksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAwO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDBweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtIDA7XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICR3aGl0ZTtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tcGFkZGluZzogMC40MGVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogcmVtLWNhbGMoNDApO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAwO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDBweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6IDA7XG4kY2FyZC1wYWRkaW5nOiAwO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogMDtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDBweCAwcHggcmdiYSgkYmxhY2ssIDApO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDBweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6IDA7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAwO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudDtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMzIwcHgsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjgwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogdHJhbnNwYXJlbnQ7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygwKTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGl0bGViYXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRwcmltYXJ5LWNvbG9yO1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTY7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogOHB4LFxuICBtZWRpdW06IDE2cHgsXG4gIHhsYXJnZTogMzJweCxcbik7XG4kZ3JpZC1zbWFsbDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycyxzbWFsbCk7XG4kZ3JpZC1tZWRpdW06IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsbWVkaXVtKTtcbiRncmlkLXhsYXJnZTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycyx4bGFyZ2UpO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldHMgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVybiB0aGVuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vIFxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCk7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGdyaWQtY29sdW1ucywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkYnApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiAjeyRvcGVyYXRvcn0kZ3V0dGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZWlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiAjeyRvcGVyYXRvcn0kZ3V0dGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICB9XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRvbGQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAvLyBSZXN0b3JlIHRoZSBvbGQgYnJlYWtwb2ludCBzaXplXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJC16Zi1zaXplOiBudWxsICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2luZyAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbmcuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMiBvciAxLzMuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBuIG9mIG4gYW5kIG51bWJlciBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJHNpemUpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkc2l6ZSkgPT0gJyUnIHtcbiAgICAgICRzaXplOiAkc2l6ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHNpemUgPCAxIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUgLyAkZ3JpZC1jb2x1bW5zKTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgb3IgXCJuL25cIiBleHByZXNzaW9uc1xuICBAZWxzZWlmIHR5cGUtb2YoJHNpemUpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkc2l6ZSkgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIgb3IgXCJuL25cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZShudGgoJHNpemUsIDEpIC8gbnRoKCRzaXplLCAzKSk7XG4gICAgfVxuICB9XG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHNpemU7XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gIG9yIGBzaHJpbmtgLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgYmFzZSBzdHlsZSwgYWxsIG90aGVycyBpbmhlcml0IGZyb20gaXRcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB3aWR0aCwgaGVpZ2h0KTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbn1cblxuLy8gU2V0cyBvdXIgY2VsbCB3aWR0aHMgb3IgaGVpZ2h0cyBkZXBlbmRpbmcgb24gZ3V0dGVyIHR5cGUuXG5AbWl4aW4gLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJG1hcmdpbi1ndXR0ZXIsICR2ZXJ0aWNhbCkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRzaXplKX0gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEBpZigkYnJlYWtwb2ludCA9PSBudWxsKSB7XG4gICAgLy8gSWYgYCRicC1zaXplYCBpcyBhdmFpbGFibGUgdGhlbiB1c2UgdGhpcywgb3RoZXJ3aXNlIHJldmVydCB0byB0aGUgc21hbGxlc3QgYnAuXG4gICAgQGlmKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXNpemU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgICB9XG4gIH1cblxuICAvLyBHZXQgb3VyIGd1dHRlcnMgZnJvbSBtYXAgaWYgYXZhaWxhYmxlLCBpZiBub3QgbWFwIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZS5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAvLyBCYXNlIGZsZXggcHJvcGVydGllc1xuICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgQGlmICRndXR0ZXItb3V0cHV0IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICAvLyBJZiB3ZSB3YW50IHRvIG91dHB1dCB0aGUgZ3V0dGVyc1xuICBAaWYoJGd1dHRlci1vdXRwdXQpIHtcbiAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGlmIHdlIG5lZWQgdG8gcGFzcyBicmVha3BvaW50IGluIGhlcmUgdG9vLlxuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCBvciBgcGFkZGluZ2AuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gXG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHpmLWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkYnJlYWtwb2ludCwgJGd1dHRlcnMpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG4gICAgJHNpemU6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgY2FsYygje3h5LWNlbGwtc2l6ZSgkbil9ICsgI3skZ3V0dGVyfSksICN7eHktY2VsbC1zaXplKCRuKX0pO1xuXG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JHNpemV9O1xuICB9XG59XG4iLCIvLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuXG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICAmLFxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG4gIGEuYnV0dG9uIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgZm9yY2UtZWxlbWVudC1uZXN0aW5nXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMXJlbTtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuXG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGluaGVyaXQ7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0Jykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0JywgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5cblxuQGltcG9ydCAnc2V0dGluZ3MnO1xuQGltcG9ydCAnZm91bmRhdGlvbic7XG4vL0BpbXBvcnQgJ21vdGlvbi11aSc7XG5cbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcblxuQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJhbmdlLWlucHV0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG5cbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG5cbi8vQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuLy9AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcblxuLypcbiAgTXkgY3VzdG9tIHN0eWxlczpcbiAgQWRkIHlvdXIgc2NzcyBmaWxlcyBiZWxvdyB0byBzdHJ1Y3R1cmUgeW91ciBwcm9qZWN0IHN0eWxlc1xuKi9cblxuXG4vLyBHbG9iYWxcbkBpbXBvcnQgXCJnbG9iYWwvX2FjY2Vzc2liaWxpdHlcIjtcbi8vQGltcG9ydCBcImdsb2JhbC9jb2xvcnNcIjtcbkBpbXBvcnQgXCJnbG9iYWwvd3AtYWRtaW5cIjtcbkBpbXBvcnQgXCJnbG9iYWwvd3Atb3ZlcnJpZGVzXCI7XG5AaW1wb3J0ICdnbG9iYWwvZm9udHMnO1xuXG4vLyBNb2R1bGVzXG5AaW1wb3J0IFwibW9kdWxlcy9uYXZpZ2F0aW9uXCI7XG4vL0BpbXBvcnQgXCJtb2R1bGVzL2NvbnRlbnRcIjtcbi8vQGltcG9ydCBcIm1vZHVsZXMvZm9vdGVyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9lZGl0b3Itc3R5bGVcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2NvbnRhY3Qtb3ZlcmxheVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvY2FyZHNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2FjY29yZGlvblwiO1xuQGltcG9ydCBcIm1vZHVsZXMvcmVzcG9uc2l2ZS1lbWJlZFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvdG9wYmFyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9zZXJ2aWNlbmF2XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9hbmxpZWdlblwiO1xuQGltcG9ydCBcIm1vZHVsZXMvcGFydG5lclwiO1xuQGltcG9ydCBcIm1vZHVsZXMvbWFnYXppblwiO1xuQGltcG9ydCBcIm1vZHVsZXMvc2VhcmNoXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9pbnB1dC1ncm91cFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvaW5mb2JveFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZmFuY3lib3hcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3BhdGNoXCI7XG5AaW1wb3J0IFwibW9kdWxlcy8yLWNsaWNrLWVtYmVkXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9vcmdhbmlncmFtbVwiO1xuXG4vLyBUZW1wbGF0ZXNcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvc2hvcFwiO1xuQGltcG9ydCBcInRlbXBsYXRlcy9hcmNoaXZlXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL3NpbmdsZVwiO1xuLy9AaW1wb3J0IFwidGVtcGxhdGVzL2tpdGNoZW4tc2lua1wiO1xuXG4vLyBMaWJyYXJ5XG5AaW1wb3J0IFwibGlicmFyeS9wcmludFwiO1xuQGltcG9ydCBcImxpYnJhcnkvcGxhY2Vob2xkZXJcIjtcblxuLy8gR2xvYmFsXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZ2xvYmFsL2Zyb250cGFnZSc7XG5cbi8vIEJsb2NrcyAvIEZsZXhpYmxlXG5AaW1wb3J0ICdibG9ja3MvaWZyYW1lJztcbkBpbXBvcnQgJ2Jsb2Nrcy9saW5rcyc7XG5AaW1wb3J0ICdibG9ja3MvZWRpdG9yJztcbkBpbXBvcnQgJ2Jsb2Nrcy9mdWxsd2lkdGgnO1xuQGltcG9ydCAnYmxvY2tzL2Rvd25sb2Fkcyc7XG5AaW1wb3J0ICdibG9ja3MvaGFsZndpZHRoJztcbkBpbXBvcnQgJ2Jsb2Nrcy90aGlyZHdpZHRoJztcbkBpbXBvcnQgJ2Jsb2Nrcy9hbnNwcmVjaHBhcnRuZXInO1xuQGltcG9ydCAnYmxvY2tzL2NoaWxkcGFnZXMnO1xuQGltcG9ydCAnYmxvY2tzL2luZm9ib3gnO1xuQGltcG9ydCAnYmxvY2tzL3R4dGltZyc7XG5AaW1wb3J0ICdibG9ja3MvZm9ybXMnO1xuQGltcG9ydCAnYmxvY2tzL3RheC1kb3dubG9hZHMnO1xuQGltcG9ydCAnYmxvY2tzL2dhbGVyaWUnO1xuQGltcG9ydCAnYmxvY2tzL3p3aXNjaGVudGl0ZWwnO1xuQGltcG9ydCAnYmxvY2tzL3NwYWNlcic7XG5AaW1wb3J0ICdibG9ja3Mvb3JnYW5pZ3JhbW0nO1xuXG5cbi8qIExhenlsb2FkaW5nIHZpYSBMYXp5c2l6ZXMgKi9cbkBpbXBvcnQgXCJtb2R1bGVzL2xhenlsb2FkXCI7XG4iLCIvLyBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiBBZGRyZXNzZXMgcGFydCBvZiB0aGVtZS1jaGVjayBpc3N1ZSAjODQwLlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0F1dG9tYXR0aWMvX3MvYmxvYi9tYXN0ZXIvc3R5bGUuY3NzXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgLy8gQWJvdmUgV1AgdG9vbGJhci5cbn1cbiIsIi8vIEZpeCB0aGUgaXNzdWUgd2hlcmUgdGhlIFdQIGFkbWluLWJhciBvdmVybGFwcyB0aGUgbW9iaWxlIG1lbnVcbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBXUCBhZG1pbi1iYXIgZG9lcyBub3Qgb3ZlcmxhcCBGb3VuZGF0aW9uIGNvbXBvbmVudHNcbmJvZHkuYWRtaW4tYmFyIHtcbiAgLy8gT2Zmc2V0IHN0aWNreSB0b3AgYmFyXG4gICYuZi10b3BiYXItZml4ZWQge1xuICAgIC5zdGlja3kuZml4ZWQge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgfVxuICAvLyBPZmZzZXQgbW9iaWxlIG9mZi1jYW52YXMgbWVudVxuICAmLm9mZmNhbnZhcyB7XG4gICAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgICB0b3A6IHJlbS1jYWxjKDQ2KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzgzKSB7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoMzIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDtcbn1cblxucC53cC1jYXB0aW9uLXRleHR7XG4gIGZvbnQtc2l6ZTo5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOnJlbS1jYWxjKDEwKSAwO1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zcmVndWxhcic7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMtcmVndWxhci13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuXG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zLWJvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMtYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuXG5cbn1cblxuXG5cbi8qISBHZW5lcmF0ZWQgYnkgRm9udCBTcXVpcnJlbCAoaHR0cHM6Ly93d3cuZm9udHNxdWlycmVsLmNvbSkgb24gSnVseSA1LCAyMDIzICovXG5cblxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvcG9wcGlucy1ib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL3BvcHBpbnMtYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuXG5cblxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3BvcHBpbnNibGFjayc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3BvcHBpbnMtYmxhY2std2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvcG9wcGlucy1ibGFjay13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuXG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zcmVndWxhcic7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3BvcHBpbnMtcmVndWxhci13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9wb3BwaW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3BvcHBpbnNtZWRpdW0nO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9wb3BwaW5zLW1lZGl1bS13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9wb3BwaW5zLW1lZGl1bS13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3BvcHBpbnMtc2VtaWJvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvcG9wcGlucy1zZW1pYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuXG5cblxuIiwiLy8gTmF2aWdhdGlvbiBicmVha3BvaW50c1xuLm1vYmlsZS1tZW51LFxuLnNpdGUtdGl0bGUtYmFyIHtcbiAgQGluY2x1ZGUgaGlkZS1mb3IoeHhsYXJnZSk7XG59XG5cbi5kZXNrdG9wLW1lbnUsXG4uc2lkZWJhciB7XG4gIEBpbmNsdWRlIHNob3ctZm9yKHh4bGFyZ2UpO1xufVxuXG4vLyBTaXRlIHRpdGxlXG4uc2l0ZS1kZXNrdG9wLXRpdGxlIGEge1xuICBAaW5jbHVkZSBib2xkO1xufVxuXG4vLyBNRU5VIERFRkFVTFRTXG4ubWVudSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgLmN1cnJlbnRfcGFnZV9pdGVtIGEsXG4gIC5jdXJyZW50LXBhZ2UtYW5jZXN0b3IgYSB7IGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbn1cblxuLy8gTW9iaWxlIG1lbnVcbi5tb2JpbGUtbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIHByZXZlbnRzIHJlcGFpbnQgY2F1c2VkIGJ5IEpTIGhpZGluZyBtZW51IG9ubG9hZFxufVxuXG4vLyBUaXRsZSBCYXJcbi50aXRsZS1iYXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuLm1lbnUtaWNvbi1idXR0b24geyBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICBAaW5jbHVkZSBib2xkO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogcmVtLWNhbGMoOSAwKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4yIGVhc2U7XG4gIG1hcmdpbi1sZWZ0OiAkZ3JpZC1tZWRpdW0vMjtcbiAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBzcGFuIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yOyB9XG4gIH1cbiAgYnV0dG9uIHtcbiAgICAmOmhvdmVyIHsgY3Vyc29yOiBwb2ludGVyOyAgfVxuICB9XG4gIHNwYW4ge1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTIpO1xuICB9XG59XG5cbi5vZmYtY2FudmFzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgPiB1bC5tZW51IHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHBhZGRpbmc6IDFyZW07XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51IC5hY3RpdmUgPiBhIHsgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfVxuXG59XG5cbi8vIENISUxETkFWIERFRkFVTFQgRk9SIEFMTCBNRU5VU1xuLnRvcC1iYXIge1xuICAuY2hpbGRuYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7IGRpc3BsYXk6IGZsZXg7fVxuICAgICYsIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjg1KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDEwKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgIH1cbiAgICA+IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDJweCk7XG4gICAgICAgID4gYSB7IC8vIDFzdCBMZXZlbFxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgQGV4dGVuZCAldXBwZXJjYXNlO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgICYuaXMtYWN0aXZlIGEsXG4gICAgICAgID4gYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7IFxuICAgICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuXG5cbi8vRFJJTExET1dOXG5cbi5kcmlsbGRvd24ge1xuICAkdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgJHRyYW5zaXRpb24tZWFzaW5nOiBjdWJpYy1iZXppZXIoMC42MTAsIDAuMDA1LCAwLjM2MCwgMS4wMTApO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgLmhlaWdodC13cmFwcGVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAvL2JvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmc7XG4gIH1cbiAgLmNoaWxkbmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmLnJlYWR5e1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nLCBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgJltkYXRhLWRlcHRoPVwiMVwiXSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTt9XG4gICAgJltkYXRhLWRlcHRoPVwiMlwiXSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAlKTt9XG4gICAgJltkYXRhLWRlcHRoPVwiM1wiXSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMDAlKTt9XG4gICAgJltkYXRhLWRlcHRoPVwiNFwiXSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDAlKTt9XG4gICAgJltkYXRhLWRlcHRoPVwiNVwiXSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MDAlKTt9XG4gICAgLmNoaWxkcmVuIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB9XG4gICAgbGlbY2xhc3MqPVwiY3VycmVudFwiXSAuY2hpbGRyZW4ge2Rpc3BsYXk6IGJsb2NrO31cblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGJvcmRlci1sZWZ0OiByZW0tY2FsYygzKSBzb2xpZCAkY3VycmVudC1jb2xvcjtcbiAgICB9XG4gIH1cbiAgbGkucGFnZV9pdGVtIHtcbiAgICAkc2l6ZTogcmVtLWNhbGMoNDIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAmX2hhc19jaGlsZHJlbiB7XG4gICAgICA+IGE6bm90KC5iYWNrKSB7d2lkdGg6IGNhbGMoMTAwJSAtICN7JHNpemV9KTt9XG4gICAgfVxuICAgIC8vJi5jdXJyZW50X3BhZ2VfaXRlbSAgYXsgY29sb3I6ICRjdXJyZW50LWNvbG9yfSBcbiAgICAgIGEge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAxMik7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICAgIEBleHRlbmQgJXVwcGVyY2FzZTtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgLy9jb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwuNyk7XG4gICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwuOCk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IGNvbG9yOiAkY3VycmVudC1jb2xvcjt9XG4gICAgICAgICAgICAgIC8vJiwqIHsgY29sb3I6ICR3aGl0ZTsgfSBcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5iYWNrIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDkpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3tyZW0tY2FsYygxOCl9KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICoge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRncmF5LDAuMik7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAxZnI7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAvL2JhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICRzaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmxhc3Qtb2YtdHlwZSBhIHtib3JkZXItYm90dG9tOiBub25lO31cbiAgfVxufVxuXG4vLyBPZmYgQ2FudmFzIENoaWxkbmF2XG4gIC5vZmYtY2FudmFzIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJG1lZGl1bS1ncmF5LDAuMSk7XG4gICAgICAubWVudS1zcHJhY2hhdXN3YWhsLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgQGV4dGVuZCAldXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtLzQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDUwMCk7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygzMCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLDAuMik7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0gYXV0bztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBzcGFuIHsgLy8gVGV4dFxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgc3BhbiB7IGNvbG9yOiAkd2hpdGU7fVxuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgc3ZnIHt3aWR0aDogcmVtLWNhbGMoMjEpO31cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZHJpbGxkb3duIHtcbiAgICAgIC5oZWlnaHQtd3JhcHBlciB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJG1lZGl1bS1ncmF5LDAuMSk7XG4gICAgICB9XG4gICAgICAmLCBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgICBsaS5wYWdlX2l0ZW0ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkbWVkaXVtLWdyYXksMC4xKTtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRwcmltYXJ5LWNvbG9yLDMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zZXJ2aWNlbmF2LW1lbnUgdWwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwICRncmlkLW1lZGl1bS8yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwuNyk7XG4gICAgICAgICAgICAgICY6YWZ0ZXIge2NvbG9yOiAkd2hpdGU7fVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSBhOmFmdGVyIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlbmF2LXNlYXJjaCB7XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0qMS41IGF1dG87XG4gICAgICAuaW5wdXQtZ3JvdXAgeyBib3JkZXI6IDA7fVxuICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLDAuMik7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICY6Zm9jdXMge2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7fVxuICAgICAgfVxuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICY6aG92ZXIgeyB9XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgdHJhbnNsYXRlKDVweCw1cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm9mZi1jYW52YXMtZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAuZmIge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICMzQjU5OTg7IC8vZmFjZWJvb2sgYmxhdVxuICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzIgJGdyaWQtbWVkaXVtO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICB9XG4gICAgLnNlcnZpY2VuYXYtbG9nb3Mge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMS41O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRncmlkLW1lZGl1bSo0O1xuICAgICAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQge1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG5cblxuXG4vLyBUYWJsZXQgYW5kIGRlc2t0b3AgbWVudVxuXG4udG9wLWJhciB7XG5cbiAgYSB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xuICB9XG5cbiAgLm1lbnUge1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMCk7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkgeyBib3JkZXItcmlnaHQ6IDA7fVxuICAgICAgJjpub3QoLm1lbnUtdGV4dCkge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZTtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICNtZW51LXNwcmFjaGF1c3dhaGwge1xuICAgICoge1xuICAgICAgJHdpZHRoIDogMzJweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgaGVpZ2h0OiAkd2lkdGg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG4gICAgbGkgeyBtYXJnaW46IHJlbS1jYWxjKDAgMik7fVxuICAgIGEge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHByaW1hcnktY29sb3IsMC4xKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG5cbiAgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUgeyBib3JkZXI6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUgLmhhcy1zdWJtZW51LmlzLWRvd24tYXJyb3cgYSB7IHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUgLmhhcy1zdWJtZW51LmlzLWRvd24tYXJyb3cgPiBhOjphZnRlciB7IGJvcmRlcjogMDsgfVxuICAuZHJvcGRvd24ubWVudTpmaXJzdC1jaGlsZCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG59XG5cbi5zaXRlLW5hdmlnYXRpb24ge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nOiAwOyAvLyBwcmV2ZW50cyBjb250YWluZXIgdmlzaWJpbGl0eSBvbiBzbWFsbCBzY3JlZW5zXG4gIH1cbn1cblxuLy8gV1AgcG9zdCBuYXZpZ2F0aW9uXG4ucG9zdC1uYXZpZ2F0aW9uIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi5uYXYtcHJldmlvdXMge1xuICBmbG9hdDpsZWZ0O1xufVxuXG4ubmF2LW5leHQge1xuICBmbG9hdDpyaWdodDtcbn1cblxuXG5cbiIsImJvZHkjdGlueW1jZXtcbiAgaGVpZ2h0OiBhdXRvOyAvLyBGaXggZWRpdG9yIHN0eWxlIGJ1Z1xuICBtYXgtd2lkdGg6ICRncmlkLXJvdy13aWR0aDsgLy8gR2l2ZSB0aGUgZWRpdG9yIGEgbWF4LXdpZHRoXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xuICBhIHsgY29sb3I6ICRzZWNvbmRhcnktY29sb3IgIWltcG9ydGFudDsgfVxufSIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLnBhZ2luYXRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46ICRncmlkLW1lZGl1bSo0IDAgJGdyaWQtbWVkaXVtIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7ICB9XG4gICAgKiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgbWFyZ2luOiAwICRncmlkLW1lZGl1bSowLjU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIH1cblxuICAgIC5wYWdlLW51bWJlcnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICAgICAgICAmOm5vdCgucHJldik6bm90KC5uZXh0KSB7XG4gICAgICAgICAgICAkc2l6ZTogcmVtLWNhbGMoMzUpO1xuICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAmLnByZXYsXG4gICAgICAgICYubmV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4OyBcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBzdmcgeyBtYXJnaW46IDAgJGdyaWQtbWVkaXVtKjAuNTsgfVxuICAgICAgICAgICAgcGF0aCB7IHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7fVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgcGF0aCB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnByZXYgeyBcbiAgICAgICAgICAgIHN2ZyB7IG1hcmdpbi1sZWZ0OiAwO31cbiAgICAgICAgfVxuICAgICAgICAmLm5leHQge1xuICAgICAgICAgICAgc3ZnIHsgXG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgJjpub3QoLm5leHQpOm5vdCgucHJldikge2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgICB9XG4gICAgfVxuICAgIGE6bm90KC5wcmV2KTpub3QoLm5leHQpOmhvdmVyLFxuICAgIC5jdXJyZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgXG59XG5cbnVsLnBhZ2luYXRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bTtcbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDIwMDApO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib2xkO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxuICAgICAgICAuY3VycmVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICYsIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuXG4iLCIjY29udGFjdC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICB6LWluZGV4OiAxMDA7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgei1pbmRleDogMTAxO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuICAgIC5kZXNjIHtcblx0XHRjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjYpO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSAwIDAgMDtcblx0fVxuICAgIC5zY3JvbGwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0gMDtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICAvKmRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Ki9cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAmLm9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIC5zY3JvbGwge292ZXJmbG93OiBhdXRvO31cbiAgICB9XG4gICAgLmNvbnRhY3RfdGl0bGUgeyBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW07IEBleHRlbmQgaDE7IH1cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNjUpO1xuICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoODgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpeyB3aWR0aDogcmVtLWNhbGMoMTIwKTsgfVxuICAgIH1cbiAgICBzdmcge1xuICAgICAgICAkc2l6ZTogcmVtLWNhbGMoNTQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAkc2l6ZS8xLjU7XG4gICAgICAgIGhlaWdodDogJHNpemUvMS41O1xuICAgICAgICB0b3A6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgcmlnaHQ6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICB6LWluZGV4OiAxMDI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICAgICAgICAgIHRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICByaWdodDogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKXtcbiAgICAgICAgICAgIHRvcDogJGdyaWQtbWVkaXVtKjQ7IFxuICAgICAgICAgICAgcmlnaHQ6ICRncmlkLW1lZGl1bSo0O1xuICAgICAgICB9XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICByZWN0IHtmaWxsOiAkc2Vjb25kYXJ5LWNvbG9yO31cbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC42KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSozO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdyaWQge1xuICAgICAgICBwYWRkaW5nOiAwICRncmlkLW1lZGl1bTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEwMjQpO1xuICAgICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKXtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSl7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIDUwJTtcbiAgICAgICAgICAgIH1cbiBcbiAgICAgICAgfVxuICAgICAgICA+IGRpdjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoyLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7bWFyZ2luOiAwIDAgMCBhdXRvO31cbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vMS41ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaG9tZV9zdWJ0aXRsZSB7cGFkZGluZy1sZWZ0OiAwO31cbiAgICAubGFyZ2VfdGVsLCAubGFyZ2VfZW1haWwsIC5sYXJnZV9hZGRyZXNzIHtcbiAgICAgICAgQGV4dGVuZCBoMTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyLjU7fVxuICAgIH1cbiAgICAubGFyZ2VfdGVsIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzOCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtmb250LXNpemU6IHJlbS1jYWxjKDYwKTt9XG4gICAgfVxuICAgIC5sYXJnZV9lbWFpbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtmb250LXNpemU6IHJlbS1jYWxjKDQ5KTt9XG4gICAgfVxuICAgIC5sYXJnZV9hZGRyZXNzIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcblx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHR9XG4gICAgICAgIGRpdiB7ZGlzcGxheTogYmxvY2s7fVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNik7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuaHRtbC5jb250YWN0LWlzLW9wZW4ge1xuICAgICZbZGF0YS13aGF0aW5wdXQ9J3RvdWNoJ10ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgI2NvbnRhY3Qtb3ZlcmxheS5vcGVuIHtcbiAgICAgICAgICAgIC5zY3JvbGwge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2FyZC13cmFwcGVyIHtcbiAgICBtYXJnaW46ICRncmlkLXNtYWxsKjUgMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSozIDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRncmlkLW1lZGl1bS8yO1xuICAgIH1cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICA+ICoge1xuICAgICAgICAvL2ZsZXg6IDAgMSAzMy4zMzMzJTtcbiAgICAgICAgd2lkdGg6IGNhbGMoIDUwJSAtICN7JGdyaWQtbWVkaXVtfSApO1xuICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bS8yO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAzMyUgLSAjeyRncmlkLW1lZGl1bX0gKTtcbiAgICAgICAgfVxuICAgIH1cbiAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyMzBweCwxZnIpKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIGdyaWQtZ2FwOiByZW0tY2FsYygxNSk7XG4gICAgfVxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogLW1zLWdyaWQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgID4gKiB7XG5cbiAgICAgICAgICAgIGZsZXg6IDAgMSA0OCU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbi5jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIC5rYWNoZWwtbWV0YSwgLmthY2hlbC1tZXRhIGg1IHN2ZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmthY2hlbC1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgJjphZnRlciB7b3BhY2l0eTogMC44O31cbiAgICAgICAgLm1ldGEge1xuICAgICAgICAgICAgJiwgc3ZnIHtjb2xvcjogJHdoaXRlO31cbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG5cblxuICAgICAgICB9XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAua2FjaGVsLW1ldGEge1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQxKTtcbiAgICAgICAgbWF4LXdpZHRoOiA4NSU7XG4gICAgICAgIC8vdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgaDUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAyMCk7XG4gICAgICAgICAgICBzdmcge1xuXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHsgbWFyZ2luOiAwO31cbiAgICB9XG59XG5cblxuLy8gTkVXUyBDQVJEU1xuLmJsb2cge1xuICAgIC53cmFwcGVyLS1uZXdzIHsgZ3JpZC1nYXA6ICRncmlkLXNtYWxsKjI7fVxufVxuLndyYXBwZXItLW5ld3Mge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1zbWFsbC8zO1xuICAgIG1hcmdpbi1yaWdodDogLSRncmlkLXNtYWxsLzM7XG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgICAgIC8vIEdyaWRcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgLy9ncmlkLWdhcDogJGdyaWQtc21hbGwqMjsgXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI4MHB4LDFmcikpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgfVxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogLW1zLWdyaWQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIC5jYXJkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMykgc29saWQgJGN1cnJlbnQtY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgkYmxhY2ssMC4xNSk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmbGV4OiAxIDEgNTAlO31cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBmbGV4OiAxIDEgMjUlO31cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDMpIHNvbGlkIHJnYmEoJGJsYWNrLDAuMjUpO1xuICAgICAgICAgICAgJiwgLm5ld3MtbWV0YSB7IGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7IH1cbiAgICAgICAgICAgIC5uZXdzLW1ldGEsIC5kZXNjcmlwdGlvbiwgc3BhbiwgaDUgeyBjb2xvcjogJHdoaXRlOyB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaDUsIC5kZXNjcmlwdGlvbiB7IHBhZGRpbmc6IDAgJGdyaWQtbWVkaXVtOyB9XG4gICAgaDUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGdyaWQtbWVkaXVtLzI7XG4gICAgfVxuICAgIC5uZXdzLWthY2hlbC1pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICBpbWcgeyBcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLm5ld3MtbWV0YSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vMiAkZ3JpZC1tZWRpdW0gMCAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuOSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICAgICAgQGV4dGVuZCAldXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtO1xuICAgICAgICBAaW5jbHVkZSBib2xkO1xuICAgICAgICBzdmcge21hcmdpbi1sZWZ0OiAkZ3JpZC1tZWRpdW0vMjt9XG4gICAgfVxufVxuIiwiXG4vLyBERUZBVUxUIEFLS09SREVPTlxuLmFjY29yZGlvbiB7XG4gICAgLmFjY29yZGlvbi1pdGVtIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnktY29sb3IsLjMpO31cbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGdyaWQtbWVkaXVtKjQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgICAgIC8vJjpob3ZlciB7IH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZW1iZWQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZW1iZWQtY29udGFpbmVyIGlmcmFtZSxcbi5lbWJlZC1jb250YWluZXIgb2JqZWN0LFxuLmVtYmVkLWNvbnRhaW5lciBlbWJlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cbiIsIi8vIExPR08gKyBUT1BCQVJcbi50b3AtYmFyIHtcbiAgICAudG9wLWJhci1pbm5lcndyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICB9XG4gICAgfVxuICAgIC50b3AtYmFyLXRpdGxlIHsgLy8gTE9HT1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7ICBcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB0b3A6IHJlbS1jYWxjKC00OCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgLypcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDExIDE1KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBwYWRkaW5nOiByZW0tY2FsYygxMiAxNCk7IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7cGFkZGluZzogcmVtLWNhbGMoMjAgMzAgMjAgMjApO31cbiAgICAgICAgICAgICovXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDE2KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Ugb25seSkgeyBcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSAzMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNTApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGhlaWdodDogcmVtLWNhbGMoMTIwKTsgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHsgIG1hcmdpbi10b3A6IC0yMHB4OyB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7IFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE3MCk7IFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDVweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTc1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNzVweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNzVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNzVweDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgtNTclLC01NSUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjQwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLTczJSwtNzMlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgtNDUlLC00NSUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAudG9wLWJhci1yaWdodCB7IC8vIFNFUlZJQ0VOQVZcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4OiBpbmhlcml0O1xuICAgIH1cbiAgICAuY2hpbGRuYXYge1xuICAgICAgICBAZXh0ZW5kICV1cHBlcmNhc2U7XG4gICAgfVxuICAgIC5tb2JpbGUtcGF0Y2hlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGRpc3BsYXk6IG5vbmU7fVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkc2hvcDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IC43MTI1cmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0qMC41O1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGEucGF0Y2gtZWd1aWNoZXQgeyBcbiAgICAgICAgICAgICAgY29sb3I6ICRlZ3VpY2hldDsgXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBTRVJWSUNFTkFWXG4uc2VydmljZW5hdiB7XG4gICAgLy8gQWxsIEVsZW1lbnRzXG4gICAgJiwgKiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG4gICAgLy8gSnVzdCBTZXJ2aWNlbmF2IENvbnRhaW5lclxuICAgICYge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDIwIDApO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHsgZGlzcGxheTogZmxleDt9IFxuICAgIH1cbiAgICAvLyBTZWFyY2hcbiAgICAuc2VydmljZW5hdi1zZWFyY2gge1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMzAgMCAwKTtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxODApO1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICB9XG4gICAgLy8gTG9nb3NcbiAgICAuc2VydmljZW5hdi1sb2dvcyB7XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIExhbmdcbiAgICAuc2VydmljZW5hdi1sYW5nc3dpdGNoIHtcbiAgICAgICAgbGkgeyBcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAkZ3JheTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgNCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBBTkxJRUdFTlxuLnBhZ2UtdGVtcGxhdGUtYW5saWVnZW4ge1xuICAgIC5lbnRyeS10aXRsZSB7IHRleHQtYWxpZ246IGNlbnRlcjt9XG59XG4uYW5saWVnZW4tbGlzdCB7XG4gICAgQGV4dGVuZCAlcmVzZXRib3g7XG4gICAgc21hbGwge2ZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO31cbiAgICBoMyB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgQGV4dGVuZCAldXBwZXJjYXNlO1xuICAgIH1cbn1cblxuICAgIC5hbmxpZWdlbi1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgPiAqIHsgbWFyZ2luOiBhdXRvO31cbiAgICAgICAgLmlucHV0LWdyb3VwIHtcbiAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjUwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtKjIgYXV0byAwIGF1dG87XG4gICAgICAgICAgICBpbnB1dDpub3QoW3R5cGU9c3VibWl0XSkgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgIH1cbiAgICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yOyB9XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2hhcm1lbnUge1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgQGV4dGVuZCAldXBwZXJjYXNlO1xuICAgICAgICBAaW5jbHVkZSBib2xkO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygzNCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC40KTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcblxuICAgICAgICAgICAgY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaGFyLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgJjpiZWZvcmUgeyAvLyBMZXR0ZXJcbiAgICAgICAgICAgIEBleHRlbmQgaDMsICV1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtY2hhcik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1zbWFsbCoyOyB9XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg1MHB4KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0IDEwKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBBTkxJRUdFTiBJVEVNU1xuICAgIC5hbmxpZWdlbjpub3QoLnJlc3VsdHMtaXRlbSkge1xuICAgICAgICBAaW5jbHVkZSBib2xkO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAmLmV2ZW4geyBiYWNrZ3JvdW5kOiByZ2JhKCRicm93biwwLjEpOyB9XG5cbiAgICAgICAgLmFubGllZ2VuLXRpdGxlLXdyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzEuNSAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDEgMSA3NSU7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJGdyaWQtc21hbGwqMjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgID4gKiB7IGZsZXg6IDEgMSA1MCU7ICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICAgICAgICAgICY6aG92ZXIgeyBjb2xvcjogJHByaW1hcnktY29sb3I7fVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHsgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bS8yOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFubGllZ2VuLWxpbmstd3JhcHBlciB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMjUlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiIsIi8vIFBBUlRORVJcbi5wYXJ0bmVyLWlubmVyd3JhcHBlciB7XG4gICAgLy8gRmxleCBGYWxsYmFja1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8vIEdyaWRcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogLW1zLWdyaWQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICA+ICogeyBmbGV4OiAxIDEgMzMuMzMlO31cbiAgICB9XG4gICAgZ3JpZC1nYXA6IDE1cHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjYwcHgsMWZyKSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6ICRncmlkLXNtYWxsKjI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0peyBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMzsgfVxuICAgID4gKiB7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTBweCAwcHggcmdiYSgkYmxhY2ssMC4xNSk7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjdXJyZW50LWNvbG9yO1xuICAgIH1cbiAgICAucGFydG5lci1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7IG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDMwMCk7IH1cblxuICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6Z3JpZCkgeyAvLyBSZXNldCBNYXJnaW5zIGlmIEdyaWQgc3VwcG9ydGVkXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICBpbWcgeyBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07IH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNik7XG4gICAgICAgIH1cbiAgICAgICAgaDYgeyBmb250LXNpemU6IHJlbS1jYWxjKDE3KTsgIH1cbiAgICAgICAgc3BhbiB7IC8vIFp1ciBXZWJzaXRlXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgICAgICBzdmcgeyBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO31cbiAgICAgICAgICAgIHBhdGggeyBjb2xvcjogJGN1cnJlbnQtY29sb3I7IH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbm5lci1tZXRhIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vIE1BR0FaSU4gQVJDSElWIEVVUEVOIEVSTEVCRU5cbi5tYWdhemluLWlubmVyd3JhcHBlciB7XG4gICAgLy8gRmxleCBGYWxsYmFja1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgID4gKiB7IGZsZXg6IDEgMSAzMy4zMyU7fVxuICAgIC8vIEdyaWRcbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6Z3JpZCkge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWdhcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxNjBweCwxZnIpKTtcbiAgICB9XG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiAtbXMtZ3JpZCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICB9XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6ICRncmlkLXNtYWxsKjI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0peyBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMzsgfVxuICAgIC5tYWdhemluLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0peyB3aWR0aDogMzMlOyB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpeyB3aWR0aDogMjUlOyB9XG4gICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTpncmlkKSB7IC8vIFJlc2V0IE1hcmdpbnMgaWYgR3JpZCBzdXBwb3J0ZWRcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICAvL29iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogM3B4IDNweCAxMHB4IDAgcmdiYSgkYmxhY2ssMC4xNSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIH1cbiAgICAgICAgaDYge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIFNlYXJjaCBvbmx5XG4uc2VhcmNoLXJlc3VsdHMtd3JhcHBlciB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC42KTtcbiAgICB9XG4gICAgLmNydW1iIHtcbiAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgdGV4dC1hbGlnbjogcmlnaHQ7fVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yO31cbiAgICB9XG4gICAgLy8gSWYgRG93bmxvYWRzIGluIFNlYXJjaFxuICAgIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gSWYgQW5zcHJlY2hwYXJ0bmVyIGluIFNlYXJjaFxuICAgIC5hcC1pdGVtIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn0iLCIuaW5wdXQtZ3JvdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTowO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5O1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuICAgIGlucHV0Om5vdChbdHlwZT1zdWJtaXRdKSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmlucHV0LWdyb3VwLWZpZWxkIHtmbGV4OiB1bnNldDt9XG4gICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyNSk7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDMpO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO31cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICZbdHlwZT1cInN1Ym1pdFwiXSB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O31cbiAgICAgICAgfVxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHRyYW5zbGF0ZSgxMnB4LCA3cHgpO1xuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIH1cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGN1cnJlbnQtY29sb3I7fVxufVxuIiwiLy8gSU5GT0JPWCBCQU5ORVJcbi5pbmZvYm94LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7IH1cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApOyAgfVxuICAgIH1cbiAgICBhIHsgXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLC43KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwIHsgXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zcmVndWxhcic7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpOyB9XG4gICAgfVxuICAgIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtICRncmlkLW1lZGl1bSoyICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW07XG4gICAgfVxuICAgIC5pbmZvYm94LWNsb3NlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsLjYpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCJbZGF0YS1mYW5jeWJveF0gcGljdHVyZSB7XG4gICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAmOmJlZm9yZSwgXG4gICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIC8vYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssLjY1KSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgICRzaXplOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgICAgICBmb250LWZhbWlseTogQXJpYWw7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssLjY1KSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNpemU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRvcDogNTAlO2xlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6ICRzaXplKjAuNTtcbiAgICAgICBcblxuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgJjphZnRlcixcbiAgICAgICAgJjpiZWZvcmUgeyBvcGFjaXR5OiAxO31cbiAgICB9XG4gIH1cblxuICBmaWd1cmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLC4xNSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHNlY29uZGFyeS1jb2xvciwuMSk7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG59IiwiLnBhdGNoIHtcbiAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMC41ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0qMC41ICRncmlkLW1lZGl1bTsgXG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgcmdiYSgkYmxhY2ssMC4zKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIHRvcDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1tZWRpdW07XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogI3skZ3JpZC1tZWRpdW0rNXB4fSAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtICRncmlkLW1lZGl1bTtcbiAgICAgICAgLy9tYXJnaW46IDA7XG4gICAgICAgIC8vcGFkZGluZzogJGdyaWQtbWVkaXVtICN7JGdyaWQtbWVkaXVtKzVweH0gJGdyaWQtbWVkaXVtICRncmlkLW1lZGl1bTtcblxuICAgIH1cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAzcHggc29saWQgJHdhcm5pbmc7XG4gICAgfVxuICAgIHN2ZyB7IFxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICAkc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbi5rb3BmYmlsZC13cmFwcGVyIHtcbiAgICAucGF0Y2gtZXNob3B7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzaG9wO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBkaXNwbGF5OiBmbGV4O31cbiAgICB9XG4gICAgLnBhdGNoLWNvbnRhY3R7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzaG9wO1xuICAgIH1cbiAgICAucGF0Y2gtZWd1aWNoZXQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZWd1aWNoZXQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBkaXNwbGF5OiBmbGV4O31cbiAgICB9XG4gICAgLnBhdGNoLWV4dHJhIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBkaXNwbGF5OiBmbGV4O31cbiAgICB9XG59IiwiXG4vKioqKioqKioqKioqIEVNQkVEIFBMVUdJTiAqKioqKioqKioqKiovXG5cbi5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvL21pbi1oZWlnaHQ6IHJlbS1jYWxjKDI1MCk7XG4gICAgcGFkZGluZzogJGdyaWQtbWVkaXVtKjAuNSAkZ3JpZC1tZWRpdW0qMC43NTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHNlY29uZGFyeS1jb2xvciwwLjcpO1xuICAgICAgICAqIHtjb2xvcjogJHdoaXRlO31cbiAgICB9O1xuXG4gICAgKiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40OyBcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7ICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTsgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xuICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuM2VtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tc3R5bGU6IGRvdHRlZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMXB4O1xuICAgICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lO31cbiAgICB9XG4gICAgaW1nIHsgXG4gICAgICAgIG1heC13aWR0aDogMjAlOyBcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjAuNTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzAlOyBcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICB9XG4gICAgfVxuICAgICZbZGF0YS10eXBlPVwiZW1iZWQtdHdpdHRlclwiXSB7IGltZyB7IG1heC13aWR0aDogMTAlOyB9IH1cblxuICAgIGlucHV0IHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjc1KTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAkZ3JpZC1tZWRpdW0qMC41O1xuICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoyOyB9XG4gICAgICAgIHAgeyBcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7IFxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZm9udC1zaXplOiByZW0tY2FsYygxMyk7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lbWJlZC1wcml2YWN5LWlubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmVtYmVkLXByaXZhY3ktbG9nbyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi5yZXNwb25zaXZlLWltYWdlbWFwIHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1heC13aWR0aDogMTAwJTsgfVxuLnJlc3BvbnNpdmUtaW1hZ2VtYXAgLmltYXAtaW1nIHsgZGlzcGxheTpibG9jazsgbWF4LXdpZHRoOjEwMCU7IGhlaWdodDphdXRvOyB9XG5cbi5yZXNwb25zaXZlLWltYWdlbWFwIC5pbWFwLW92ZXJsYXkge1xuICBwb3NpdGlvbjphYnNvbHV0ZTsgaW5zZXQ6MDtcbiAgcG9pbnRlci1ldmVudHM6bm9uZTsgLyogbnVyIHNpY2h0YmFyLCBuaWNodCBrbGlja2VuLWJsb2NrZW4gKi9cbn1cblxuLnJlc3BvbnNpdmUtaW1hZ2VtYXAgLmltYXAtc2hhcGUge1xuICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAxNjAsIDI1NSwgLjI1KTtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHJnYmEoMCwgMTYwLCAyNTUsIC43NSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLnJlc3BvbnNpdmUtaW1hZ2VtYXAgLmltYXAtc2hhcGUtLWNpcmNsZSB7IGJvcmRlci1yYWRpdXM6IDk5OTlweDsgfSIsIi50b3AtYmFyLXJpZ2h0IHtcbiAgICAucGFnZS1pdGVtLTExMzU2LCAucGFnZS1pdGVtLTExNTkzIHtkaXNwbGF5OiBub25lO31cbn1cbi5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiB7XG4gICAgbGkucGFnZS1pdGVtLTExNTkzLFxuICAgIGxpLnBhZ2UtaXRlbS0xMTM1NiB7ZGlzcGxheTogbm9uZTt9XG4gIH1cbiAgXG5ib2R5Lndvb2NvbW1lcmNlIHtcblxuICAgIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgIGEsIC5iYWNrIHN2ZyB7XG4gICAgICAgICAgICBjb2xvcjogJHNob3A7IFxuICAgICAgICB9XG4gICAgXG4gICAgICAgIC5jaGlsZG5hdiBhOm5vdCguYmFjaykge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yOyB9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLmJhY2s6aG92ZXIge1xuICAgICAgICAgICAgJiwgc3ZnIHsgY29sb3I6ICR3aGl0ZSB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG5cbiAgICAvL2ZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zcmVndWxhcic7XG5cbiAgICBhLmJ1dHRvbixcbiAgICBhLmJ1dHRvbi5hbHQsXG4gICAgYnV0dG9uLmJ1dHRvbixcbiAgICBidXR0b24uYnV0dG9uLmFsdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaG9wOyBcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgJjpkaXNhYmxlZCwgJjpkaXNhYmxlZFtkaXNhYmxlZF0sICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgJiwgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNob3A7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53aWRnZXRfc2hvcHBpbmdfY2FydCB7XG4gICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtKjIgMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5O1xuICAgIH1cblxuICAgIC5za3Vfd3JhcHBlciwgLnBvc3RlZF9pbiwgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHtkaXNwbGF5OiBub25lO31cblxuICAgIFxufVxuXG5cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBsYWJlbCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG59XG5cbi53b29jb21tZXJjZS1lcnJvciBsaTpiZWZvcmUge2Rpc3BsYXk6IG5vbmU7fVxuXG4vL2F1ZmxzaXR1bmdcbi53b29jb21tZXJjZSB7XG4gICAgdWwucHJvZHVjdHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtbWVkaXVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1tZWRpdW07XG4gICAgICAgIGxpLnByb2R1Y3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gI3skZ3JpZC1tZWRpdW19ICkgICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyB3aWR0aDogY2FsYyggMzMuMzMlIC0gI3skZ3JpZC1tZWRpdW19ICkgIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7IHdpZHRoOiBjYWxjKCAyNSUgLSAjeyRncmlkLW1lZGl1bX0gKSAgIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0vMiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkZ3JheSwwLjM1KTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICAgICAgJjpiZWZvcmUge2Rpc3BsYXk6IG5vbmU7fVxuXG4gICAgICAgICAgICBwOmVtcHR5IHtkaXNwbGF5OiBub25lO31cblxuICAgICAgICAgICAgYS5idXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAxMDAlICsgI3skZ3JpZC1tZWRpdW19ICk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgyLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYS5idXR0b24ge2JhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uc2luZ2xlLXByb2R1Y3Qge1xuICAgIC5sYWJlbCB7IGJhY2tncm91bmQ6IG5vbmU7IH1cblxuICAgIC5yZWxhdGVkLnByb2R1Y3RzIHtkaXNwbGF5OiBub25lO31cbn1cblxuXG5cbmJvZHkud29vY29tbWVyY2UtcGFnZS5zaW5nbGUtcHJvZHVjdCB7XG4gICAgLnByb2R1Y3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAvL2ZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcC5wcmljZSB7IFxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDYpO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgICAgIH1cbiAgICAgICAgZGl2Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjYwKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBmaWd1cmUgeyBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgZGl2LnN1bW1hcnkge3dpZHRoOiBhdXRvO31cbiAgICB9XG59XG5cbmxpLndjX3BheW1lbnRfbWV0aG9kLnBheW1lbnRfbWV0aG9kX29nb25lIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICB9XG4gICAgXG59XG5cbiNjdXN0b21lcl9kZXRhaWxzIHtcbiAgICAuY29sLTEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmNvbC0yIHtkaXNwbGF5OiBub25lO31cbiAgICBcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xKTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgcGFkZGluZzogJGdyaWQtbWVkaXVtICRncmlkLW1lZGl1bSoyO1xuXG4gICAgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzX19maWVsZC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG4gICAgLmFkZHJlc3MtZmllbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAjYmlsbGluZ19jb21wYW55X2ZpZWxkIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICNiaWxsaW5nX3Bvc3Rjb2RlX2ZpZWxkLFxuICAgICAgICAjYmlsbGluZ19jaXR5X2ZpZWxkLFxuICAgICAgICAjYmlsbGluZ19jb3VudHJ5X2ZpZWxkIHt3aWR0aDogMzAlO31cblxuICAgICAgICAjYmlsbGluZ19lbWFpbF9maWVsZCxcbiAgICAgICAgI2JpbGxpbmdfcGhvbmVfZmllbGQge3dpZHRoOiAxMDAlO31cbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDM5cHg7XG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICAgICAgICAgIGhlaWdodDogMzlweDtcbiAgICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgeyBsaW5lLWhlaWdodDogMzVweDsgfVxuICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7IGhlaWdodDogMzVweDsgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiNvcmRlcl9yZXZpZXdfaGVhZGluZyxcbiNvcmRlcl9wYXltZW50X2hlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoyO1xufVxuXG4ud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcgbGk6YmVmb3JlIHtkaXNwbGF5OiBub25lO31cblxuLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMtdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgICAud29vY29tbWVyY2Utb3JkZXItZGV0YWlscy10aXRsZSBidXR0b24ge2Rpc3BsYXk6IG5vbmUgIWltcG9ydGFudDt9XG59XG5cblxuYm9keS53b29jb21tZXJjZS1jaGVja291dCAuc2hvcF90YWJsZSB7YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7fVxuXG4uY2FydF90b3RhbHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UtY2FydCAud2MtcHJvY2VlZC10by1jaGVja291dCB7XG4gICAgYS5jaGVja291dC1idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLmNoZWNrb3V0LW90aGVyIHtcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xufVxuXG4ud29vY29tbWVyY2UgLndpZGdldF9zaG9wcGluZ19jYXJ0IC5jYXJ0X2xpc3QgbGkgYS5yZW1vdmUsIC53b29jb21tZXJjZS53aWRnZXRfc2hvcHBpbmdfY2FydCAuY2FydF9saXN0IGxpIGEucmVtb3ZlIHtcbiAgICBsaW5lLWhlaWdodDogMC43Mztcbn1cblxuLndvb2NvbW1lcmNlIHVsLmNhcnRfbGlzdCBsaSBpbWcsIC53b29jb21tZXJjZSB1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGltZyB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG5cbiNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzLCAud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMsIC53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMge1xuICAgIGJvcmRlci1ib3R0b206IDBweDtcbn1cblxuLndvb2NvbW1lcmNlIHtcbiAgICAjb3JkZXJfcmV2aWV3IC5sZWdhbCB7XG4gICAgICAgIG1hcmdpbjogMTZweCAwO1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9ybSAuZm9ybS1yb3cgLndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94IHsgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG59XG5cblxuIiwiLy8gQVJDSElWIFZJRVcgU1RFVUVSU8OEVFpFIFVORCBTRUFSQ0ggUkVTVUxUQVRFXG4uYXJjaGl2LXZpZXcge1xuICAgIGgyIHtcbiAgICAgICAgJixhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZ3JpZC13cmFwcGVyIHsgbWF4LXdpZHRoOiByZW0tY2FsYyg3MTIpO31cbiAgICAucmVzdWx0cy1pdGVtIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1zbWFsbCoyIDA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmc6ICRncmlkLW1lZGl1bSAwOyB9XG4gICAgICAgIC5lbnRyeS10aXRsZSB7XG4gICAgICAgICAgICBAZXh0ZW5kIGg2O1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgNSAwKTtcbiAgICAgICAgfVxuICAgICAgICAvLyY6bGFzdC1vZi10eXBlIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5O31cbiAgICAgICAgLy8mOm50aC1jaGlsZChvZGQpIHsgYmFja2dyb3VuZDogcmdiYSgkZ3JheSwwLjEpOyB9XG4gICAgICAgIC8vJjpudGgtY2hpbGQoZXZlbikgeyBiYWNrZ3JvdW5kOiByZ2JhKCRncmF5LDAuMik7IH1cbiAgICB9XG59XG5cbi8vIE5FV1NBUkNISVZcbi5wYXJlbnQtbmV3c2FyY2hpdiB7XG4gICAgLndyYXBwZXItLW5ld3MgeyBncmlkLWdhcDogJGdyaWQtbWVkaXVtO31cbn1cbiIsIlxuXG4vLyBTSU5HTEUgTkVXUyBERVRBSUxcbi5zaW5nbGUge1xuICAgIC5wb3N0LXRodW1iLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5iYWNrIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogJGdyaWQtc21hbGwqMiAwICRncmlkLXNtYWxsKjIgMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBoZWFkZXIgLmJhY2sgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuICAgIC5pbm5lcm1ldGEtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiByZW0tY2FsYygtNzApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygtNjApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMgMTUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVndWxhcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7ICBtYXJnaW46IGF1dG87IH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICY6aG92ZXIgeyBjb2xvcjogJGN1cnJlbnQtY29sb3I7IH1cbiAgICAgICAgIH1cbiAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAgICAgfVxuICAgICAgICAucHJpbnQge1xuICAgICAgICAgICAgc3ZnIHsgbWFyZ2luOiByZW0tY2FsYygwIDQgMCAwKTt9XG4gICAgICAgIH1cbiAgICAgICAgLnNoYXJlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgJi5mYWNlYm9vayB7IG1hcmdpbjogcmVtLWNhbGMoMCAzKTsgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIlxuLyoqKioqKiBQUklOVCBTVFlMRVNIRUVUICoqKioqKioqKi9cbkBtZWRpYSBwcmludCB7XG4gICAgLnRvcC1iYXItcmlnaHQsXG4gICAgLnRpdGxlLWJhcixcbiAgICAua29wZmJpbGQtd3JhcHBlcixcbiAgICAuc2l0ZS1oZWFkZXI6YWZ0ZXIsXG4gICAgLnNpZGViYXIsXG4gICAgLmlubmVybWV0YS13cmFwcGVyLFxuICAgIC5mb290ZXIsXG4gICAgLmNhcmQtd3JhcHBlciBpbWcsXG4gICAgLmZsZXhpYmxlLWZvcm0td3JhcHBlcixcbiAgICAuZmxleGlibGUtb2VtYmVkLXdyYXBwZXIsXG4gICAgLmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlcixcbiAgICAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyLFxuICAgIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlcixcbiAgICAuYXAtdGh1bWIgYTphZnRlcixcbiAgICAuZmlsdGVyLXdyYXBwZXIsXG4gICAgLmFubGllZ2VuLWhlYWRlcixcbiAgICAjY29udGFjdC1vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBpbWcgeyBmaWx0ZXI6IGdyZXlzY2FsZSgxMDAlKSAhaW1wb3J0YW50OyB9XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgeyAvL0xvZ29cbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgfVxuICAgIH1cbiAgICAudG9wLWJhciAudG9wLWJhci1pbm5lcndyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgaDEuZW50cnktdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDI2cHQ7XG4gICAgfVxuICAgIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7fVxuICAgIC5mbGV4aWJsZS1saW5rcy13cmFwcGVyIC5idXR0b24tZ3JvdXAge1xuICAgICAgICAmLGxpLGEgeyBkaXNwbGF5OiBibG9jazsgdGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogMDsgfVxuXG4gICAgfVxufVxuIiwiLyogUGxhY2Vob2xkZXIgKi9cbiV1cHBlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO31cbiVjdXN0b21idWxsZXRsaXN0IHtcbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtIDA7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNyZWd1bGFyJztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWxlZnQ6ICRncmlkLW1lZGl1bTsgfVxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApOyB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTInIGhlaWdodD0nMTAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGw9J2N1cnJlbnRDb2xvcicgZmlsbC1vcGFjaXR5PScwLjI1JyBkPSdNNy41ODcgMy45NUw1LjA1IDEuNDE1IDYuNDY2IDBsNC45NSA0Ljk1TDYuNDY1IDkuOSA1LjA1IDguNDg3IDcuNTg3IDUuOTUgMCA1Ljk1MXYtMnonIGZpbGwtcnVsZT0nZXZlbm9kZCcvJTNFJTNDL3N2ZyUzRVwiKSBsZWZ0IDhweCBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiVyZXNldGJveCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtbWVkaXVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1tZWRpdW07XG4gICAgfVxufSIsIi8qIElEUyBmb3IgdGhlIGNvbG9yIHNjaGVtZSAqL1xuJGlkczogKFxuICAgIDIsIC8vc3RhcnRzZWl0ZVxuICAgIDIyNiwgLy8gYsO8cmdlcnNlcnZpY2VcbiAgICAyMzAsIC8vIGxlYmVuIGluIGV1cGVuXG4gICAgMjI4LCAvL3BvbGl0aWsgdW5kIHZlcndhbHR1bmdcbiAgICA3ODYsIC8vIMO8YmVyIGRpZSBnZW1laW5kZVxuKTtcblxuaHRtbCB7ICAgIG92ZXJmbG93LXg6IGhpZGRlbjt9XG5cbi8vIEhFQURMSU5FU1xuaDUsaDYge1xuICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgIC8vY29sb3I6IHZhcigtLW1haW4tY29sb3IpO1xufVxuXG4vLyBMSU5LIFNFVFRJTkdTXG5hIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICY6Zm9jdXMtdmlzaWJsZSB7IG91dGxpbmU6IDNweCBzb2xpZCAkcmVkOyB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7IH0gXG59XG5cbi8vIEhlYWRlclxuJGRvdC1jb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwgMC42KTtcblxuLy8gRGltZW5zaW9uc1xuJGRvdC1zaXplOiAxcHg7XG4kZG90LXNwYWNlOiA1cHg7XG4uc2l0ZS1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgY29udGVudDogJyc7XG5cdCAgICBiYWNrZ3JvdW5kOlxuXHRcdCAgICBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICR3aGl0ZSAoJGRvdC1zcGFjZSAtICRkb3Qtc2l6ZSksIHRyYW5zcGFyZW50IDElKSBjZW50ZXIsXG5cdFx0ICAgIGxpbmVhci1ncmFkaWVudCgkd2hpdGUgKCRkb3Qtc3BhY2UgLSAkZG90LXNpemUpLCB0cmFuc3BhcmVudCAxJSkgY2VudGVyLFxuXHRcdCAgICByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjYpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRkb3Qtc3BhY2UgJGRvdC1zcGFjZTtcbiAgICB9XG59XG5cbi8vIERFRkFVTFQgQ0xBU1NFUyAmIFRBR1NcbnN0cm9uZywgYiB7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxudSwgKltzdHlsZSo9XCJ1bmRlcmxpbmVcIl0ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNhcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiAkY3VycmVudC1jb2xvcjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xufVxuLmtvcGZiaWxkLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJHByaW1hcnktY29sb3IsMSkgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygxMjApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE3MCk7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAub3V0ZXItZ3JpZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICAgIC5ncmlkLXdyYXBwZXIgeyAgICAgICAgXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIC8vb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAvL3BhZGRpbmc6ICRncmlkLW1lZGl1bSAwO1xuICAgICAgICBnYXA6ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHsgbWF4LXdpZHRoOiBub25lO31cbiAgICAgICAgPiAqOm5vdCgudG9wLWJhci1yaWdodCkgeyBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIH1cbn1cblxuXG4uYmFjayB7XG4gICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgIHN2ZyB7XG4gICAgICAgY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNik7XG4gICAgfVxuICAgICY6aG92ZXIgeyBjb2xvcjogJGN1cnJlbnQtY29sb3I7fVxufVxuXG5cbi8vIEdSSUQgTUFTU0FDUkVcbi5ncmlkLXdyYXBwZXIgeyAvLyBUaGUgd2hvbGUgdGhpbmdcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgPiAqOm5vdCgudG9wLWJhci1yaWdodCkgeyBmbGV4OiAwIDEgYXV0bzsgfVxuICAgIC5zaWRlYmFyIHtcbiAgICAgICAgZmxleDogMSAwIHJlbS1jYWxjKDMwMCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bTt9XG4gICAgfVxufVxuLy8gU0lERUJBUlxuLy8gQ09OVEVOVCBCTE9DS1xuLm1haW4tY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW07XG4gICAgcGFkZGluZy1yaWdodDogJGdyaWQtbWVkaXVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW0qMztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGdyaWQtbWVkaXVtKjM7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuICAgICAgICBmbGV4OiAwIDAgcmVtLWNhbGMoNjk4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICAgICYuZnVsbC13aWR0aCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAuZW50cnktY29udGVudCA+IGhlYWRlciB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICYsLmludHJvOmFmdGVyIHsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkgeyBwYWRkaW5nOiAwOyB9XG4gICAgfVxufVxuXG5cbi8vIE1BSU5cbi5tYWluLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNTAgMCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8vIEJSRUFEQ1JVTUJTICYgU1xuLmlubmVybWV0YS13cmFwcGVyIHtcbiAgICB0b3A6IHJlbS1jYWxjKC0zMCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAyMCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICB9XG4gICAgYSB7IGNvbG9yOiAkY3VycmVudC1jb2xvcjsgfVxufVxuXG4vLyBFTlRSWSBDT05URU5UXG4ubWFpbi1jb250ZW50Om5vdCguc3RldWVyc2FldHplLXdyYXBwZXIpIC5lbnRyeS1jb250ZW50IHtcbiAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xuICAgICAgICAmOmZvY3VzIHsgb3V0bGluZTogMDt9XG4gICAgICAgICY6aG92ZXIgeyBjb2xvcjogJHByaW1hcnktY29sb3I7fVxuICAgIH1cbn1cbmgxLmVudHJ5LXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cbi5pbnRybyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xuICAgIH1cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjYpO1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDY0KTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyKTtcbiAgICAgICAgYmFja2dyb3VuZDogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICB9XG5cbn1cblxuLyoqKioqKioqKiBGTEVYSUJMRSBDT05URU5UICoqKioqKioqKioqL1xuYm9keTpub3QoLnNlYXJjaC1yZXN1bHRzKSAuZmxleGlibGUtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtc21hbGwqMztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMzsgIH1cbiAgICAmLmhhbGYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1zbWFsbCozO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMS41OyAgfVxuICAgIH1cbiAgICAmLmFsdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLXNtYWxsKjM7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSozOyAgfVxuICAgIH1cbn1cblxuXG4vKioqKioqIEZPT1RFUiAqKioqKioqKi9cbi5mb290ZXIge1xuICAgIG1hcmdpbi10b3A6ICRncmlkLXNtYWxsKjQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjY7IH1cbiAgICAuY2hpbGRuYXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDE1KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O31cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBhcnRpY2xlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0qMiBhdXRvIDAgYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge21hcmdpbi10b3A6ICRncmlkLW1lZGl1bTt9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiwgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgNSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgICAgICAgICAmOmhvdmVyIHsgY29sb3I6IHJnYmEoJHdoaXRlLDAuNyk7fVxuICAgICAgICB9XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnRvdG9wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgICAgICBhIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zb2NpYWwge1xuXHQgICAgZGlzcGxheTogZmxleDtcblx0ICAgIGZsZXgtd3JhcDogd3JhcDsgXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib2xkO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHsgY29sb3I6IHJnYmEoJHdoaXRlLDAuNyk7fVxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29weXJpZ2h0IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0vMyAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIuaG9tZSB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIC5mb290ZXItY29udGFpbmVyIGFydGljbGUgeyBtYXgtd2lkdGg6IHJlbS1jYWxjKDE0NDApOyB9XG4gICAgLmtvcGZiaWxkLXdyYXBwZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0MDApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IFxuICAgICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMzAwKTsgXG4gICAgICAgICAgICAvKlxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMCk7IFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH0qL1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgbWluLWhlaWdodDogcmVtLWNhbGMoNDAwKTsgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBtaW4taGVpZ2h0OiByZW0tY2FsYyg1MDApOyB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMjA0OHB4KSB7IG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDYwMCk7IH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAvL21hcmdpbi1ib3R0b206IDE2MHB4O1xuICAgICAgICB9XG4gICAgICAgIC5jaGlsZG5hdiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAvL2JvdHRvbTogcmVtLWNhbGMoODApO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQxJSk7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IFxuICAgICAgICAgICAgICAgIGdhcDogJGdyaWQtbWVkaXVtLzI7IFxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvL3BhZGRpbmc6ICRncmlkLW1lZGl1bSowLjU7XG4gICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsMSk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNzApO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg4MCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7IFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsLjgpOyBcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIgeyBoZWlnaHQ6IHJlbS1jYWxjKDgpO31cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYygtMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRncmlkLXNtYWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgID4gYTphZnRlciB7ZGlzcGxheTogYmxvY2s7fVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pcy1hY3RpdmUge2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzk5cHgpIHtcbiAgICAgICAgLnNpdGUtaGVhZGVyOmFmdGVyIHtoZWlnaHQ6IHJlbS1jYWxjKDgwKTsgfVxuICAgIH1cblxuLmhvbWVfc3VidGl0bGUge1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIEBleHRlbmQgJXVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIHBhZGRpbmctYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzNik7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLC0wLjY1ZW0pO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC02cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4uaG9tZV90aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzNyk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDU2KTsgfVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7XG59XG4uaG9tZV9kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI3KTtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG59XG4ud3JhcHBlciB7XG4gICAgcGFkZGluZzogJGdyaWQtbWVkaXVtKjIgMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHBhZGRpbmc6ICRncmlkLW1lZGl1bSo2IDA7IH1cbiAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuICAgICAgICBwYWRkaW5nOiAwICRncmlkLW1lZGl1bTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNSUgMWZyO1xuICAgICAgICAvL2dyaWQtZ2FwOiByZW0tY2FsYygxNnB4KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZ3JheSB7YmFja2dyb3VuZDogcmdiYSgkYnJvd24sIDAuMSk7fVxuXG4gICAgLyoubWV0YSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vMiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHotaW5kZXg6IDY7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgIH1cbiAgICB9Ki9cblxuICAgIC5hZnRlcmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IG1hcmdpbjogMCAkZ3JpZC1tZWRpdW0gMCBhdXRvO31cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiAzO1xuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzEuNSAkZ3JpZC1tZWRpdW07XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1uZXVpZ2tlaXRlbiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkgeyBwYWRkaW5nLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7IH1cbiAgICAgICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICAgICAgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7IFxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFmdGVyYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoxLjU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgIH1cblxuICAgICYtLWJhbm5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgICAgICAuYmFubmVyLXdyYXBwZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAxMHB4IDEwcHggMzBweCAwIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IGhlaWdodDogMTMwcHg7IH1cbiAgICAgICAgICAgID4gKiB7IGdyaWQtYXJlYTogMSAvIDE7ICB9XG4gICAgICAgIH1cbiAgICAgICAgLmlubmVyLWNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICBnYXA6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyBcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2U7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwuOCk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ob21lX3N1YnRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgICAgICAgICAmOmFmdGVyIHsgYm9yZGVyLWNvbG9yOiAkd2hpdGU7fVxuICAgICAgICB9XG4gICAgICAgIC5ibG9jay1oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6ICRncmlkLW1lZGl1bSowLjM1O1xuICAgICAgICB9XG4gICAgICAgIC5iYW5uZXItdGl0bGUge1xuICAgICAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGh5cGhlbnM6IGF1dG87XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZm9udC1zaXplOiByZW0tY2FsYygzNSk7IH1cbiAgICAgICAgfVxuICAgICAgICBzcGFuLmJ1dHRvbiB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtKjAuOCAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtKjAuNiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAmOmhvdmVyIHsgYm9yZGVyOiAwO31cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC5pbm5lci1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwuOTUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXByb2pla3RlIHtcbiAgICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAuY2xhaW0td3JhcHBlciB7XG4gICAgICAgICAgICAuYWZ0ZXJidXR0b24geyBkaXNwbGF5OiBub25lO31cbiAgICAgICAgfVxuICAgICAgICAmOm5vdCguY291bnQtMykge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgXG4gICAgICAgICAgICAgICAgLm1haW4tY29udGFpbmVyLnJvdy0yIC5hZnRlcmJ1dHRvbiB7IGRpc3BsYXk6IG5vbmU7fVxuICAgICAgICAgICAgICAgIC5jbGFpbS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgLmFmdGVyYnV0dG9uIHsgXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gXG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmNvdW50LTMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAuYWZ0ZXJidXR0b24geyBtYXJnaW4tbGVmdDogJGdyaWQtbWVkaXVtKjEuNTsgfVxuICAgICAgICAgICAgICAgIC5tYWluLWNvbnRhaW5lci5yb3ctMiB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDI1JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgIC5hZnRlcmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgICYucm93LTIgeyAvLyBBZnRlcmJ1dHRvbiAgICBcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAuY2xhaW0td3JhcHBlciAgeyBcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtKjAuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgIFxuICAgICAgICAud3JhcHBlci0taW5uZXJwcm9qZWt0ZSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IFxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IFxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICAgICAgLy9tYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgXG4gICAgICAgICAgICB9XG4gICAgICBcbiAgICAgICAgICAgIC5jYXJkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSowLjU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjEuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHt3aWR0aDogY2FsYyggNTAlIC0gI3skZ3JpZC1tZWRpdW19ICk7IH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7d2lkdGg6IGNhbGMoIDMzJSAtICN7JGdyaWQtbWVkaXVtfSApOyB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGljdHVyZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IFxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmUgO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTVweCA4cHggMTVweDsgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAzMHB4IDhweCAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTc1KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lIDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtKjAuNTtcbiAgICAgICAgICAgICAgICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1uZXdzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBmbGV4LXdyYXA6IHdyYXA7fVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtLzI7IFxuICAgICAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgIH1cbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSArICN7JGdyaWQtbWVkaXVtKjJ9ICk7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICAgICAgaDUsIHNwYW4geyB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgICAgICAgICAubmV3cy1rYWNoZWwtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMzApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzcGFuOm5vdCgubmV3cy1tZXRhKSB7ZGlzcGxheTogbm9uZTt9XG4gICAgICAgICAgICAgICAgLm5ld3MtbWV0YSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgaDUgeyBjb2xvcjogJGN1cnJlbnQtY29sb3I7fVxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHt3aWR0aDogY2FsYyggNTAlIC0gI3skZ3JpZC1tZWRpdW19ICk7IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHt3aWR0aDogY2FsYyggMzMlIC0gI3skZ3JpZC1tZWRpdW19ICk7IH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLS1xdWlja2xpbmtzIHtcblxuICAgICAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC8vbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGdyaWQtbWVkaXVtfSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICRncmlkLW1lZGl1bS8yO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7dGV4dC1hbGlnbjogbGVmdDt9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgID4gZGl2IHt3aWR0aDogY2FsYyg3NSUgLSAjeyRncmlkLW1lZGl1bX0pO31cbiAgICAgICAgICAgICAgICA+IGRpdjpmaXJzdC1vZi10eXBlIHt3aWR0aDogY2FsYygyNSUgLSAjeyRncmlkLW1lZGl1bX0pO31cbiAgICAgICAgICAgICAgICA+IGRpdjpmaXJzdC1vZi10eXBlIHt0ZXh0LWFsaWduOiBsZWZ0O31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYWZ0ZXJidXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBhIHsgbWFyZ2luOiAkZ3JpZC1tZWRpdW0gMCAwIDA7fVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7bWFyZ2luOiBhdXRvO31cbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtjb2x1bW4tY291bnQ6IDM7ZGlzcGxheTogYmxvY2s7fVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMicgaGVpZ2h0PScxMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTcuNTg3IDMuOTVMNS4wNSAxLjQxNSA2LjQ2NiAwbDQuOTUgNC45NUw2LjQ2NSA5LjkgNS4wNSA4LjQ4NyA3LjU4NyA1Ljk1IDAgNS45NTF2LTJ6JyBmaWxsPScjeyR3aGl0ZX0nIGZpbGwtcnVsZT0nZXZlbm9kZCcvPiUzQy9zdmclM0VcIikgY2VudGVyIGxlZnQgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzEwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNNy41ODcgMy45NUw1LjA1IDEuNDE1IDYuNDY2IDBsNC45NSA0Ljk1TDYuNDY1IDkuOSA1LjA1IDguNDg3IDcuNTg3IDUuOTUgMCA1Ljk1MXYtMnonIGZpbGw9JyN7JGJsYWNrfScgZmlsbC1ydWxlPSdldmVub2RkJy8+JTNDL3N2ZyUzRVwiKSBjZW50ZXIgbGVmdCBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICBtYXJnaW46IDAgMCAwICRncmlkLW1lZGl1bTtcbiAgICAgICAgfVxuICAgICAgICAuZmlsdGVyLWJ1dHRvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzEuNSAkZ3JpZC1tZWRpdW0qNCAkZ3JpZC1tZWRpdW0vMS41ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6YXV0bztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDUwMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMxZTU3OTkrMCwxZTU3OTkrNTAsMjk4OWQ4KzUwLDIwN2NjYSsxMDAgKi9cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzExJyBoZWlnaHQ9JzgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J005LjU0NyAwTDUuNSA0LjExNSAxLjQ1MyAwIDAgMS40NzhsNS41IDUuNTkzTDExIDEuNDc4IDkuNTQ3IDAnIGZpbGw9JyUyMzEwNTE2YicgZmlsbC1ydWxlPSdldmVub2RkJy8+JTNDL3N2ZyUzRVwiKSBjZW50ZXIgcmlnaHQgJGdyaWQtbWVkaXVtIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtkaXNwbGF5OiBub25lO31cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbnVldHpsaWNoZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAZXh0ZW5kICVyZXNldGJveDtcbiAgICAgICAgLmhvbWVfc3VidGl0bGUsIC5ob21lX3RpdGxlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICY6YWZ0ZXIge2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgICB9XG4gICAgICAgIC5rYWNoZWwtbWV0YSBoNSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiB3cmFwIHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgcGFkZGluZzogMDt9XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgcmVkO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gI3skZ3JpZC1tZWRpdW19ICk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luOiAkZ3JpZC1tZWRpdW0vMjsgfVxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyB3aWR0aDogY2FsYyggMzMlIC0gI3skZ3JpZC1tZWRpdW19ICkgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IHdpZHRoOiBjYWxjKCAyNSUgLSAjeyRncmlkLW1lZGl1bX0gKSB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICYtLXp3ZWl0ZWlsZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7ZmxleC1kaXJlY3Rpb246IHJvdzt9XG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHt3aWR0aDogNTAlO31cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge3BhZGRpbmc6ICRncmlkLW1lZGl1bSozICRncmlkLW1lZGl1bSo0ICRncmlkLW1lZGl1bSozICRncmlkLW1lZGl1bTsgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAvLyBwYXNzYWdlIHJhdXMgd2VubiBlLWd1aWNoZXQgaGluenVrb21tdCA6IFNUQVJUXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTUwKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gcGFzc2FnZSByYXVzIHdlbm4gZS1ndWljaGV0IGhpbnp1a29tbXQgOiBFTkRFXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHsgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtOyB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdyaWQtbWVkaXVtKjM7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGltZyB7Ym94LXNoYWRvdzogcmVtLWNhbGMoMyAzIDQgMCkgcmdiYSgkYmxhY2ssMC4yNSk7fVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgLy9jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcCB7QGluY2x1ZGUgc2VtaWJvbGQ7fVxuICAgICAgICAgICAgICAgIC5tb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikgeyBcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyAgXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWxlZnQ6ICRncmlkLW1lZGl1bSoyOyB9XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge2NvbG9yOiAkd2hpdGU7fVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgICAgICAgICAvLyBwYXNzYWdlIHJhdXMgd2VubiBlLWd1aWNoZXQgaGluenVrb21tdCA6IFNUQVJUXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLy8gcGFzc2FnZSByYXVzIHdlbm4gZS1ndWljaGV0IGhpbnp1a29tbXQgOiBFTkRFXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gcGFzc2FnZSByYXVzIHdlbm4gZS1ndWljaGV0IGhpbnp1a29tbXQgOiBTVEFSVFxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gcGFzc2FnZSByYXVzIHdlbm4gZS1ndWljaGV0IGhpbnp1a29tbXQgOiBFTkRFXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHBhc3NhZ2UgUkVJTiB3ZW5uIGUtZ3VpY2hldCBoaW56dWtvbW10IDogU1RBUlRcbiAgICAgICAgICAgICAgICAvKiY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtKjE1O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzdHJvbmcge2NvbG9yOiAkd2hpdGU7fVxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSovXG4gICAgICAgICAgICAgICAgLy8gcGFzc2FnZSBSRUlOIHdlbm4gZS1ndWljaGV0IGhpbnp1a29tbXQgOiBFTkRFXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi0tenVnZXpvZ2VuZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAgIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgICAgICAgIC8vZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAgICAgICAuaW5uZXJjb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5idXR0b24geyBtYXJnaW46IDA7IH1cbiAgICAgICAgICAgIC5ob21lX2Rlc2NyaXB0aW9uIHsgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7IH1cbiAgICAgICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3BsYXkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGw7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTAyKTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICAgICAgZWxsaXBzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGxpcHNlIHtmaWxsOiAkd2hpdGU7fVxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCB7ZmlsbDogJHNlY29uZGFyeS1jb2xvcjt9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5pcy1wbGF5aW5nIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZW1iZWQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAyNXB4IDI1cHggMzBweCAwIHJnYmEoMCwwLDAsMC4yNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3ZpZGVvLWxhbmd1YWdlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtLzQ7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtLXBhcnRuZXIge1xuICAgICAgICAvL21pbi1oZWlnaHQ6IDc1dnc7XG4gICAgICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWluLWhlaWdodDogMzV2dzt9XG4gICAgICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHttaW4taGVpZ2h0OiAyMHZ3O31cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGdyaWQtbWVkaXVtKjM7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGdyaWQtbWVkaXVtKjM7XG4gICAgICAgIH1cbiAgICAgICAgKiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjcpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIGJyIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7Zm9udC1zaXplOiByZW0tY2FsYygzNSk7fVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDcpO1xuICAgICAgICAgICAgICAgIGJyIHtkaXNwbGF5OiBpbmxpbmU7fVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDM1MCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0qMC43NSBhdXRvIDAgYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjEuNTt9XG4gICAgICAgIH1cbiAgICAgICAgLypcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHByaW1hcnktY29sb3IsMC45KTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH0qL1xuICAgICAgICAuaG9tZV90aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIH1cbiAgICAgICAgLmhvbWVfc3VidGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgJjphZnRlciB7ZGlzcGxheTogbm9uZTt9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi0tZ2FsZXJpZW4ge1xuICAgICAgICBAZXh0ZW5kICVyZXNldGJveDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgcGFkZGluZzogMDsgfVxuICAgICAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxNDQwKTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAua2FjaGVsLWltYWdlIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJGdyaWQtbWVkaXVtKjIgJGdyaWQtbWVkaXVtKjIgJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiAuY2FyZCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyB3aWR0aDogMzMlOyB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7IHdpZHRoOiAyNSU7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbn0iLCIuZmxleGlibGUtaWZyYW1lLXdyYXBwZXIge1xuICAgIGlmcmFtZSB7Ym9yZGVyOiBub25lO31cbn0iLCJcblxuLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIge1xuICAgIHVsOm5vdCguYnV0dG9uLWdyb3VwKSB7IC8vIExJTktMSVNUIFNUWUxFXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUgMCk7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib2xkO1xuICAgICAgICAgICAgY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICY6aG92ZXIgeyBjb2xvcjogJHByaW1hcnktY29sb3I7fVxuICAgICAgICB9XG4gICAgfVxuICAgIC5idXR0b24tZ3JvdXAgeyAvLyBCVVRUT04gU1RZTEVcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDE1KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAgICAgfVxuXG4gICAgfVxufSIsIi5yZXN1bHRzLWl0ZW0sXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIge1xuICAgIHAge1xuICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yOyB9XG4gICAgfVxuICAgIEBleHRlbmQgJWN1c3RvbWJ1bGxldGxpc3Q7XG4gICAgaDQsaDUsaDYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgfVxuICAgIGg0IHsgQGluY2x1ZGUgYmxhY2s7fVxuXG4gICAgLy8gTGluZSBIZWlnaHRzXG4gICAgaDEgeyBsaW5lLWhlaWdodDogMS4yO31cbiAgICBoMixoMyxoNSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgfVxuICAgIGg0LGg2IHsgbGluZS1oZWlnaHQ6IDEuNDt9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgaDR7IGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICB9XG59XG5cbiIsIi5mbGV4aWJsZS1mdWxsd2lkdGgtd3JhcHBlciB7XG4gICAgLy90ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLmNhcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDIwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDkwKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0kZ3JpZC1tZWRpdW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbn0iLCIuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIge1xuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDExIDApO1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5OyAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRjdXJyZW50LWNvbG9yO31cbiAgICB9XG4gICAgLmlubmVybWV0YSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjYpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNyk7XG4gICAgfVxuICAgIC5maWxlLWljb24ge1xuICAgICAgICBmbGV4OiAwIDAgcmVtLWNhbGMoMzUpO1xuICAgICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzKTtcbiAgICAgICAgLy9tYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG4gICAgLmRvd25sb2FkLWNhdHMge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO31cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCA1KTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiXG4uZmxleGlibGUtaGFsZndpZHRoLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgPiAqIHtcbiAgICAgICAgd2lkdGg6IDQ5JTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuIiwiLmZsZXhpYmxlLXRoaXJkd2lkdGgtd3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLmZsZXhpYmxlLXRoaXJkd2lkdGgtaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg1NTApO1xuICAgIH1cblxuICAgIC5jYXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAyMCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg5MCk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtJGdyaWQtbWVkaXVtO1xuICAgICAgICB9XG5cbiAgICB9XG59IiwiLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIHtcbiAgICAuZmxleGlibGUtYW5zcHJlY2hwYXJ0bmVyLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIwKTsgfVxuICAgIH1cbn1cblxuXG4vLyBBTlNQUkVDSFBBUlRORVJcbi5hcC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgPiAqIHtcbiAgICAgICAgLy9mbGV4OiAxO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7IH1cbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIEBleHRlbmQgJXJlc2V0Ym94O1xuXG4gICAgfVxuICAgIGg2IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgZm9udC1zaXplOiByZW0tY2FsYygxNik7fVxuICAgIH1cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAmOmhvdmVyIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yO31cbiAgICB9XG4gICAgLmFwLW1ldGEge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMyk7XG4gICAgfVxuICAgIC5hcC1mdW5rdGlvbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNik7XG4gICAgfVxuICAgIC5hcC1jb250YWN0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgICAvLyBBbnNwcmVjaHBhcnRuZXJcbiAgICAuaXMtYW5zcHJlY2hwYXJ0bmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtc21hbGwqMjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtOyB9XG4gICAgICAgIC5hcC10aHVtYiB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgcmVtLWNhbGMoMTIwKTtcbiAgICAgICAgfVxuICAgICB9XG5cbiAgICAvLyBJbnN0aXR1dGlvbmVuXG4gICAgLmlzLWluc3RpdHV0aW9uZW4ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBoNiB7IG1hcmdpbi1ib3R0b206ICRncmlkLXNtYWxsO31cbiAgICAgICAgfVxuICAgICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgeyBib3JkZXItdG9wOiAwOyB9XG4gICAgICAgIC5hcC10aHVtYiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWluLXdpZHRoOiByZW0tY2FsYygxODApO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYXAtd2VibWFpbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtc21hbGw7XG4gICAgICAgICAgICAgICAgYSB7IHBhZGRpbmc6IHJlbS1jYWxjKDAgMTApO31cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgPiAqIHsgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMCk7fVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCIuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIHtcbiAgICAuY2FyZC13cmFwcGVyIHsgLy8gQ29udGFpbmVyXG4gICAgICAgIGdyaWQtYXV0by1yb3dzOiAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBncmlkLWdhcDogcmVtLWNhbGMoMSk7IH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgIH1cbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDU4KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRicm93biwwLjEpO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgaDYge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAua2FjaGVsLW5vLWltYWdlIHtcbiAgICAgICAgPiAqIHsgLy8gRm9yIGJvdGhcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIGg2IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUgMjApO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgICAgICAgICAgIC1tb3otaHlwaGVuczogYXV0bztcbiAgICAgICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUgMzApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNwYW4geyAvLyBBcnJvd1xuICAgICAgICAgICAgY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRicm93biwwLjEpO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDU4KTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNTgpO1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJcbi5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5O1xuICAgIGhlYWRlciB7XG4gICAgICAgICYsID4gKiB7IGRpc3BsYXk6IGZsZXg7IH1cbiAgICB9XG4gICAgaSB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygzMik7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBAaW5jbHVkZSBib2xkO1xuICAgIH1cbiAgICBoNSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYgMTUpO1xuICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZm9udC1zaXplOiByZW0tY2FsYygxNyk7IH1cbiAgICB9XG4gICAgZGl2IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNyZWd1bGFyJztcbiAgICAgICAgcGFkZGluZzogJGdyaWQtc21hbGwqMjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZzogJGdyaWQtbWVkaXVtKjI7IH1cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIEBleHRlbmQgJWN1c3RvbWJ1bGxldGxpc3Q7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxuICAgIH1cbn1cbiIsIlxuLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgPiAqIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtc21hbGwqMjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGg0IHsgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOyB9XG4gICAgICAgIGFydGljbGUgeyBjb2xvcjogJHByaW1hcnktY29sb3I7fVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGg0IHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yOyB9XG4gICAgICAgICAgICBzcGFuIHsgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7fVxuICAgICAgICB9XG4gICAgfVxuICAgIC5pbWctb3V0ZXItd3JhcHBlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5pbWctaW5uZXItd3JhcHBlciB7XG4gICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMjMwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoOCk7XG4gICAgICAgICYuc21hbGxlciB7IG1pbi13aWR0aDogcmVtLWNhbGMoMTI1KTsgfVxuICAgIH1cbiAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi10b3A6ICRncmlkLXNtYWxsKjI7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInO1xuICAgICAgICAmLmNlbnRlciB7IGp1c3RpZnktY29udGVudDogY2VudGVyO31cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtKjM7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgIGg0IHsgY29sb3I6ICRjdXJyZW50LWNvbG9yO31cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gRk9STVNcbi5mbGV4aWJsZS1mb3JtLXdyYXBwZXIge1xuICAgIEBleHRlbmQgJXJlc2V0Ym94O1xufVxuLmdmb3JtX3dyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJHByaW1hcnktY29sb3IsLjA1KTtcbiAgICBwYWRkaW5nOiAkZ3JpZC1zbWFsbCoyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7cGFkZGluZzogJGdyaWQtbWVkaXVtKjI7fVxuICAgIGgzLmdmb3JtX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgIH1cbiAgICBpbnB1dCwgdGV4dGFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLDAuNyk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgfVxuICAgIHVsLmxlZnRfbGFiZWwge1xuICAgICAgICBpbnB1dC5tZWRpdW0geyB3aWR0aDogMTAwJTt9XG4gICAgfVxuICAgIC5nZm9ybV9ib2R5IHVsIGxpLmdmaWVsZCB7IG1hcmdpbi10b3A6IDA7fVxuICAgIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1zdWJtaXRdLmJ1dHRvbixcbiAgICAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgQGV4dGVuZCAuYnV0dG9uO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIH1cblxufVxuLmZsZXhpYmxlLWZvcm0td3JhcHBlciB7XG4gICAgLmdmb3JtX3dyYXBwZXIge1xuICAgICAgICBkaXYudmFsaWRhdGlvbl9lcnJvciB7XG4gICAgICAgICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRhbGVydC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYWxlcnQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGFsZXJ0LWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhbGVydC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgLmdmaWVsZF9sYWJlbCwgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPWZpbGVdKSxcbiAgICAgICAgICAgIHRleHRhcmVhIHtib3JkZXI6IDFweCBzb2xpZCAkYWxlcnQtY29sb3I7fVxuICAgICAgICB9XG4gICAgfVxuICAgIC5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgYmFja2dyb3VuZDogJHN1Y2Nlc3MtY29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgfVxufSIsIi5mbGV4aWJsZS10YXgtZG93bmxvYWRzLXdyYXBwZXIge1xuICAgIEBleHRlbmQgJXJlc2V0Ym94O1xuICAgIC5jZWxsLnJlc3VsdC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxNSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1sZWZ0OiAwO31cbiAgICB9XG4gICAgLmZpbHRlci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygyMCAwKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47fVxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47fVxuICAgICAgICB9XG4gICAgfVxuICAgIC5maWx0ZXItdHlwLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmbGV4LWRpcmVjdGlvbjogcm93O31cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBsYWJlbCB7IG1hcmdpbi1ib3R0b206ICRncmlkLXNtYWxsOyB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZpbHRlci1zZWFyY2gtd3JhcHBlciB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTc1KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1zbWFsbCoyO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMjAwMCk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzIDEwIDMgMzApO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00xMS43MzMgMTAuNDI4TDkuMjYgNy45NTVjLjU5Ni0uODYxLjg5NC0xLjgyLjg5NC0yLjg3OCAwLS42ODctLjEzMy0xLjM0NS0uNC0xLjk3MmE1LjA3NCA1LjA3NCAwIDAgMC0xLjA4Mi0xLjYyM0E1LjA3NSA1LjA3NSAwIDAgMCA3LjA0OS40IDQuOTkgNC45OSAwIDAgMCA1LjA3NyAwQzQuMzkgMCAzLjczMi4xMzMgMy4xMDUuNGE1LjA3NSA1LjA3NSAwIDAgMC0xLjYyMyAxLjA4MkE1LjA3NiA1LjA3NiAwIDAgMCAuNCAzLjEwNSA0Ljk4OSA0Ljk4OSAwIDAgMCAwIDUuMDc3YzAgLjY4OC4xMzMgMS4zNDUuNCAxLjk3MmE1LjA3NCA1LjA3NCAwIDAgMCAxLjA4MiAxLjYyM2MuNDU0LjQ1NC45OTUuODE1IDEuNjIzIDEuMDgyYTQuOTkgNC45OSAwIDAgMCAxLjk3Mi40IDQuOTQgNC45NCAwIDAgMCAyLjg3Ny0uODk0bDIuNDc0IDIuNDY2Yy4xNzMuMTgzLjM5LjI3NC42NDkuMjc0LjI1IDAgLjQ2Ni0uMDkxLjY0OS0uMjc0YS44ODcuODg3IDAgMCAwIC4yNzQtLjY0OS44ODMuODgzIDAgMCAwLS4yNjctLjY0OXpNNy4xMiA3LjExOUEyLjg4OSAyLjg4OSAwIDAgMSA1IDhhMi44OSAyLjg5IDAgMCAxLTIuMTE4LS44OEEyLjg4OSAyLjg4OSAwIDAgMSAyIDVjMC0uODI2LjI5NC0xLjUzMi44OC0yLjEyQTIuODg5IDIuODg5IDAgMCAxIDUgMmEyLjg5IDIuODkgMCAwIDEgMi4xMi44OEM3LjcwNSAzLjQ2OSA4IDQuMTc1IDggNWEyLjg5IDIuODkgMCAwIDEtLjg4IDIuMTJ6JyBmaWxsPSclMjM5OTk5OTknIGZpbGwtcnVsZT0nbm9uemVybycvJTNFJTNDL3N2ZyUzRVwiKSBsZWZ0IDEwcHggY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgLy8mOjpwbGFjZWhvbGRlciB7IHRleHQtYWxpZ246IGNlbnRlcjt9XG4gICAgICAgICY6Zm9jdXMgeyBib3JkZXI6IDFweCBzb2xpZCAkY3VycmVudC1jb2xvcjt9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmc6IHJlbS1jYWxjKDAgMTAgMCAzMCk7IH1cbiAgICB9XG4gICAgc2VsZWN0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzUpO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXJyZW50LWNvbG9yIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzExJyBoZWlnaHQ9JzgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J005LjU0NyAwTDUuNSA0LjExNSAxLjQ1MyAwIDAgMS40NzhsNS41IDUuNTkzTDExIDEuNDc4IDkuNTQ3IDAnIGZpbGw9JyUyM0ZGRicgZmlsbC1ydWxlPSdldmVub2RkJy8lM0UlM0Mvc3ZnJTNFXCIpIHJpZ2h0IDEwcHggY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjYpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgIH1cblxuICB9XG4gIC5kb3dubG9hZHMtdGFibGUge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7IH1cbiAgICBoMyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtc21hbGwvMjtcbiAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkgeyBiYWNrZ3JvdW5kOiByZ2JhKCRncmF5LDAuMik7IH1cbiAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDkgMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgICAgICAmLCAuY29sLXRpdGxlLCAuZGVzYyB7IGNvbG9yOiAkd2hpdGU7IH1cbiAgICAgICAgfVxuICAgICAgICA+ICogeyBwYWRkaW5nOiByZW0tY2FsYygwIDIwKTsgfVxuICAgICAgICAuY29sLXRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAuY29sLWNhdCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmRlc2Mge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC43KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVndWxhcjtcbiAgICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLmRvd25sb2Fkcy1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bS8yO1xuICB9XG5cbiAgLmZsZXhpYmxlLWNvbnRlbnQuZG93bmxvYWRzLXdyYXBwZXIge1xuICAgIGE6aG92ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAuZ3JpZC14IHtcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuIiwiLy8gR0FMRVJJRVxuYm9keSAuZmxleGlibGUtY29udGVudC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRncmlkLW1lZGl1bSowLjU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1tZWRpdW0qMC41O1xuICAgICAgICB9XG4gICAgfVxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7IG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTsgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7IFxuICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtKjAuNTtcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHdpZHRoOiAzMy4zMyU7IH1cbiAgICAgICAgJi5ncm93IHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfSBcbiAgICBpbWcgeyBkaXNwbGF5OiBibG9jazt9XG4gICAgYSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgZmlnY2FwdGlvbiB7IG9wYWNpdHk6IDE7fVxuICAgICAgICB9XG4gICAgfVxuXG59IiwiLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciB7XG4gICAgaDQsaDUsaDYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgfVxuICAgIGg0IHsgQGluY2x1ZGUgYmxhY2s7fVxuXG4gICAgLy8gTGluZSBIZWlnaHRzXG4gICAgaDEgeyBsaW5lLWhlaWdodDogMS4yO31cbiAgICBoMixoMyxoNSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgfVxuICAgIGg0LGg2IHsgbGluZS1oZWlnaHQ6IDEuNDt9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgaDR7IGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICB9XG59IiwiLnNwYWNlciB7IC8vIEFsbGdlbWVpbmfDvGx0aWcgbGFzc2VuIGRhIGF1Y2ggYXVmIGZyb250cGFnZSBnZW51dHp0XG4gICAgaGVpZ2h0OiAxcHg7IC8vbXVzcywgZGEgc29uc3QgbWFyZ2luIG5pY2h0IGdlbm9tbWVuIHdpcmRcbiAgICAmLnNtYWxsIHtcbiAgICAgICAgJi1ub25lIHttYXJnaW4tYm90dG9tOiAwO31cbiAgICAgICAgJi1oYWxmIHttYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07fVxuICAgICAgICAmLW5vcm1hbCB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7fVxuICAgICAgICAmLWRvdWJsZSB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjQ7fVxuICAgICAgICAmLXRyaXBsZSB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjY7fVxuICAgICAgICAmLXF1YWQge21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSo4O31cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgJi5tZWRpdW0ge1xuICAgICAgICAgICAgJi1ub25lIHttYXJnaW4tYm90dG9tOiAwO31cbiAgICAgICAgICAgICYtaGFsZiB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjAuNTt9XG4gICAgICAgICAgICAmLW5vcm1hbCB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO31cbiAgICAgICAgICAgICYtZG91YmxlIHttYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMjt9XG4gICAgICAgICAgICAmLXRyaXBsZSB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjM7fVxuICAgICAgICAgICAgJi1xdWFkIHttYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qNDt9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgJi5sYXJnZSB7XG4gICAgICAgICAgICAmLW5vbmUge21hcmdpbi1ib3R0b206IDA7fVxuICAgICAgICAgICAgJi1oYWxmIHttYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07fVxuICAgICAgICAgICAgJi1ub3JtYWwge21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO31cbiAgICAgICAgICAgICYtZG91YmxlIHttYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qNDt9XG4gICAgICAgICAgICAmLXRyaXBsZSB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjY7fVxuICAgICAgICAgICAgJi1xdWFkIHttYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qODt9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJcbiAgICAuc2hvdy1mb3Itc21hbGwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93LWZvci1sYXJnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfSIsIi8qIGZhZGUgaW1hZ2UgaW4gYWZ0ZXIgbG9hZCAqL1xuXG4vKiBTcGlubmVyIGNoZWNrIGh0dHA6Ly9zYW1oZXJiZXJ0Lm5ldC9zdmctbG9hZGVycy8gKi9cblxuLmxhenlsb2FkLFxuLmxhenlsb2FkaW5nIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuLmxhenlsb2FkZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSA2MDBtcztcbn1cbmltZy5sYXp5bG9hZDpub3QoW3NyY10pIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbiJdfQ== */
