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

/* 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCJhcHAuc2NzcyIsImdsb2JhbC9fYWNjZXNzaWJpbGl0eS5zY3NzIiwiZ2xvYmFsL193cC1hZG1pbi5zY3NzIiwiZ2xvYmFsL193cC1vdmVycmlkZXMuc2NzcyIsImdsb2JhbC9fZm9udHMuc2NzcyIsIm1vZHVsZXMvX25hdmlnYXRpb24uc2NzcyIsIm1vZHVsZXMvX2VkaXRvci1zdHlsZS5zY3NzIiwibW9kdWxlcy9fcGFnaW5hdGlvbi5zY3NzIiwibW9kdWxlcy9fY29udGFjdC1vdmVybGF5LnNjc3MiLCJtb2R1bGVzL19jYXJkcy5zY3NzIiwibW9kdWxlcy9fYWNjb3JkaW9uLnNjc3MiLCJtb2R1bGVzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCJtb2R1bGVzL190b3BiYXIuc2NzcyIsIm1vZHVsZXMvX3NlcnZpY2VuYXYuc2NzcyIsIm1vZHVsZXMvX2FubGllZ2VuLnNjc3MiLCJtb2R1bGVzL19wYXJ0bmVyLnNjc3MiLCJtb2R1bGVzL19tYWdhemluLnNjc3MiLCJtb2R1bGVzL19zZWFyY2guc2NzcyIsIm1vZHVsZXMvX2lucHV0LWdyb3VwLnNjc3MiLCJtb2R1bGVzL19idXR0b25zLnNjc3MiLCJtb2R1bGVzL19pbmZvYm94LnNjc3MiLCJtb2R1bGVzL19mYW5jeWJveC5zY3NzIiwibW9kdWxlcy9fcGF0Y2guc2NzcyIsIm1vZHVsZXMvXzItY2xpY2stZW1iZWQuc2NzcyIsIm1vZHVsZXMvX29yZ2FuaWdyYW1tLnNjc3MiLCJ0ZW1wbGF0ZXMvX3Nob3Auc2NzcyIsInRlbXBsYXRlcy9fYXJjaGl2ZS5zY3NzIiwidGVtcGxhdGVzL19zaW5nbGUuc2NzcyIsImxpYnJhcnkvX3ByaW50LnNjc3MiLCJsaWJyYXJ5L19wbGFjZWhvbGRlci5zY3NzIiwiX2dsb2JhbC5zY3NzIiwiZ2xvYmFsL19mcm9udHBhZ2Uuc2NzcyIsImJsb2Nrcy9faWZyYW1lLnNjc3MiLCJibG9ja3MvX2xpbmtzLnNjc3MiLCJibG9ja3MvX2VkaXRvci5zY3NzIiwiYmxvY2tzL19mdWxsd2lkdGguc2NzcyIsImJsb2Nrcy9fZG93bmxvYWRzLnNjc3MiLCJibG9ja3MvX2hhbGZ3aWR0aC5zY3NzIiwiYmxvY2tzL190aGlyZHdpZHRoLnNjc3MiLCJibG9ja3MvX2Fuc3ByZWNocGFydG5lci5zY3NzIiwiYmxvY2tzL19jaGlsZHBhZ2VzLnNjc3MiLCJibG9ja3MvX2luZm9ib3guc2NzcyIsImJsb2Nrcy9fdHh0aW1nLnNjc3MiLCJibG9ja3MvX2Zvcm1zLnNjc3MiLCJibG9ja3MvX3RheC1kb3dubG9hZHMuc2NzcyIsImJsb2Nrcy9fZ2FsZXJpZS5zY3NzIiwiYmxvY2tzL196d2lzY2hlbnRpdGVsLnNjc3MiLCJibG9ja3MvX3NwYWNlci5zY3NzIiwibW9kdWxlcy9fbGF6eWxvYWQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7Ozs7O0dBS0c7QUN3Q0QsaUVBQWlFO0FBRy9EO29GQUNnRjtBQUVoRjs7Ozs7T0FLRztBQUVIO0VBQ0Usd0JDMUN1QjtFRDBDUyxPQUFPO0VBUXJDLGtCQUFpQjtF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cEI7SUFFRDtNSXpCRSxZQUFtQixFSjJCcEI7SUFNQztNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRyxFQUFBO0VHbURDO0lIakVKO01JekJFLFlBQW1CLEVKMkJwQjtJQUVEO01JekJFLFlBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0csRUFBQTtFR21EQztJSGpFSjtNSXpCRSxZQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxZQUFtQixFSjJCcEI7SUFNQztNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQWRIO01JekJFLFlBQW1CLEVKMkJwQjtJQUVEO01JekJFLFlBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0csRUFBQTtFR21EQztJSGpFSjtNSXpCRSxZQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxZQUFtQixFSjJCcEI7SUFNQztNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HLEVBQUE7O0FBOENIO0VDbklNLHVCQUE0QjtFQUE1QixzQkFBNEIsRUR3SS9CO0VHTEM7SUhBSjtNQ25JTSxzQkFBNEI7TUFBNUIscUJBQTRCLEVEd0kvQixFQUFBO0VHQUM7SUhMSjtNQ25JTSxvQkFBNEI7TUFBNUIsbUJBQTRCLEVEd0kvQixFQUFBOztBQUlEO0VDNUlJLHVCQUE0QjtFQUE1QixzQkFBNEIsRUQ4SS9CO0VHWEM7SUhTRjtNQzVJSSxzQkFBNEI7TUFBNUIscUJBQTRCLEVEOEkvQixFQUFBO0VHTkM7SUhJRjtNQzVJSSxvQkFBNEI7TUFBNUIsbUJBQTRCLEVEOEkvQixFQUFBOztBQVhIO0VDbklNLHVCQUE0QjtFQUE1QixzQkFBNEIsRURtSi9CO0VHaEJDO0lIQUo7TUNuSU0sc0JBQTRCO01BQTVCLHFCQUE0QixFRG1KL0IsRUFBQTtFR1hDO0lITEo7TUNuSU0sb0JBQTRCO01BQTVCLG1CQUE0QixFRG1KL0IsRUFBQTs7QUt0Skg7RUR5REUsWUFEb0QsRUN0RHJEOztBQUZEO0VEeURFLFdBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxpQkFEb0QsRUN0RHJEOztBQUZEO0VEeURFLFdBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxXQURvRCxFQ3REckQ7O0FBRkQ7RUR5REUsaUJBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxpQkFEb0QsRUN0RHJEOztBQUZEO0VEeURFLGFBRG9ELEVDdERyRDs7QUZvSUc7RUV0SUo7SUR5REUsWUFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsYUFEb0QsRUN0RHJELEVBQUE7O0FGeUlHO0VFM0lKO0lEeURFLFlBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGFBRG9ELEVDdERyRCxFQUFBOztBRnlJRztFRTNJSjtJRHlERSxZQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxhQURvRCxFQ3REckQsRUFBQTs7QUZ5SUc7RUUzSUo7SUR5REUsWUFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsYUFEb0QsRUN0RHJELEVBQUE7O0FBRkQ7RUR5REUsMkJBRGdILEVDdERqSDs7QUFGRDtFRHlERSwwQkFEZ0gsRUN0RGpIOztBQUZEO0VEeURFLGdDQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsMEJBRGdILEVDdERqSDs7QUFGRDtFRHlERSwwQkFEZ0gsRUN0RGpIOztBQUZEO0VEeURFLGdDQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsZ0NBRGdILEVDdERqSDs7QUFGRDtFRHlERSw0QkFEZ0gsRUN0RGpIOztBRm9JRztFRXRJSjtJRHlERSwyQkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGdDQURnSCxFQ3REakg7RUFGRDtJRHlERSwwQkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGdDQURnSCxFQ3REakg7RUFGRDtJRHlERSxnQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLHlCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLHdCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSwwQkFEZ0gsRUN0RGpILEVBQUE7O0FGeUlHO0VFM0lKO0lEeURFLHlCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLHdCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSwwQkFEZ0gsRUN0RGpILEVBQUE7O0FGeUlHO0VFM0lKO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSx5QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSDtFQUZEO0lEeURFLHdCQURnSCxFQ3REakg7RUFGRDtJRHlERSxnQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDBCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSDtFQUZEO0lEeURFLHdCQURnSCxFQ3REakg7RUFGRDtJRHlERSxnQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGdDQURnSCxFQ3REakg7RUFGRDtJRHlERSw4QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDBCQURnSCxFQ3REakg7RUFGRDtJRHlERSx5QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsd0JBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsd0JBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSw4QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSCxFQUFBOztBRnlJRztFRTNJSjtJRHlERSx5QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsd0JBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsd0JBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSw4QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSCxFQUFBOztBTGdNRztFTXZNRSxnQkFBMEI7RUFBMUIsZUFBMEIsRU55TTNCO0VNdE1EO0lBRUksZ0JBQTBCO0lBQTFCLGVBQTBCLEVBRTdCO0VBb0JLO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQztFSDhHUDtJR2hITTtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTtFSG1IUDtJR3JITTtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTtFSG1IUDtJR3JITTtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTtFSG1IUDtJR3JITTtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QU5nTFA7RU10S0UsZ0JBQTBCO0VBQTFCLGVBQTBCLEVOd0szQjtFTXJLRDtJQUVJLGlCQUE0QjtJQUE1QixnQkFBNEIsRUFFL0I7O0FINkZEO0VINERBO0lNdk1FLGdCQUEwQjtJQUExQixlQUEwQixFTnlNM0I7SU10TUQ7TUFFSSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0IsRUFBQTs7QUhvSUQ7RUd6SE07SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FIdUhQO0VHaEhNO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBSG1IUDtFR3JITTtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QUhtSFA7RUdySE07SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FIbUhQO0VHckhNO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBSDhHUDtFSGtFQTtJTXRLRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU53SzNCO0lNcktEO01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBSGtHRDtFSHVEQTtJTXZNRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU55TTNCO0lNdE1EO01BRUksZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCLEVBQUE7O0FIeUlEO0VHOUhNO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBSDRIUDtFRzlITTtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QUg0SFA7RUdySE07SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FIbUhQO0VHckhNO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBSG1IUDtFR3JITTtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QUhtSFA7RUg2REE7SU10S0UsZ0JBQTBCO0lBQTFCLGVBQTBCLEVOd0szQjtJTXJLRDtNQUVJLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QUhrR0Q7RUh1REE7SU12TUUsZ0JBQTBCO0lBQTFCLGVBQTBCLEVOeU0zQjtJTXRNRDtNQUVJLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QixFQUFBOztBSHlJRDtFRzlITTtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QUg0SFA7RUc5SE07SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FINEhQO0VHOUhNO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBSDRIUDtFR3JITTtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QUhtSFA7RUdySE07SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FIbUhQO0VINkRBO0lNdEtFLGdCQUEwQjtJQUExQixlQUEwQixFTndLM0I7SU1yS0Q7TUFFSSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0FIa0dEO0VIdURBO0lNdk1FLGdCQUEwQjtJQUExQixlQUEwQixFTnlNM0I7SU10TUQ7TUFFSSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0IsRUFBQTs7QUh5SUQ7RUc5SE07SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FINEhQO0VHOUhNO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBSDRIUDtFRzlITTtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QUg0SFA7RUc5SE07SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FINEhQO0VHckhNO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBSG1IUDtFSDZEQTtJTXRLRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU53SzNCO0lNcktEO01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBTjZLRDtFTzFORixnQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGdDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsbUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixtQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLG1CQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsbUNBQTZCLEVQZ08xQjs7QUFORDtFTzFORixvQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLG9DQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsaUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixpQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLG9CQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsb0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixtQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLG1DQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsb0JBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixvQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLGlCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsaUNBQTZCLEVQZ08xQjs7QUFORDtFTzFORixvQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLG9DQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsbUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixtQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLG9CQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsb0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixpQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGlDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsb0JBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixvQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLG1CQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsbUNBQTZCLEVQZ08xQjs7QUFORDtFTzFORixvQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLG9DQUE2QixFUGdPMUI7O0FHdEZEO0VIZ0ZBO0lPMU5GLGdCQUE2QixFUDROMUI7RUFFRDtJTzlORiwrQkFBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsbUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG1CQUE2QixFUDROMUI7RUFFRDtJTzlORixrQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORixpQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsZ0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsbUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORixnQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCLEVBQUE7O0FHakZEO0VIMkVBO0lPMU5GLGdCQUE2QixFUDROMUI7RUFFRDtJTzlORiwrQkFBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsbUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG1CQUE2QixFUDROMUI7RUFFRDtJTzlORixrQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORixpQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsZ0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsbUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORixnQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCLEVBQUE7O0FHakZEO0VIMkVBO0lPMU5GLGdCQUE2QixFUDROMUI7RUFFRDtJTzlORiw2QkFBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsZ0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixpQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLDhCQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsaUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG1CQUE2QixFUDROMUI7RUFFRDtJTzlORixnQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGlDQUE2QixFUGdPMUI7RUFORDtJTzFORixpQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsOEJBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixpQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsaUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORiw4QkFBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGlDQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsZ0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixpQ0FBNkIsRVBnTzFCLEVBQUE7O0FHakZEO0VIMkVBO0lPMU5GLGdCQUE2QixFUDROMUI7RUFFRDtJTzlORiw2QkFBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsZ0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixpQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLDhCQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsaUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG1CQUE2QixFUDROMUI7RUFFRDtJTzlORixnQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGlDQUE2QixFUGdPMUI7RUFORDtJTzFO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O01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQWRIO01JekJFLGFBQW1CLEVKMkJwQjtJQUVEO01JekJFLGFBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0csRUFBQTtFR21EQztJSGpFSjtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HLEVBQUE7RUdtREM7SUhqRUo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQWRIO01JekJFLGFBQW1CLEVKMkJwQjtJQUVEO01JekJFLGFBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HLEVBQUE7RUdtREM7SUhqRUo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7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NEU7TUhqQzFFLG1CQUE0QjtNQUE1QixzQkFBNEIsRURtR3pCLEVBQUE7RUc0Qkg7SUh6Q0o7TUlwREUsMEJBRDRFO01IakMxRSxpQkFBNEI7TUFBNUIsb0JBQTRCLEVEbUd6QixFQUFBO0VBckNQO0lJekJFLGFBQW1CLEVKMkJwQjtFQUVEO0lJekJFLGFBQW1CLEVKMkJwQjtFQU1DO0lJN0JBLDZCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw2QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsOEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDJCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw4QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsNkJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDhCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSwyQkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsOEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDZCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw4QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsMkJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDhCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw2QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsOEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDRCQURnSCxFSmdDL0c7RUc4Q0M7SUg1REo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQWRIO01JekJFLGFBQW1CLEVKMkJwQjtJQUVEO01JekJFLGFBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0csRUFBQTtFR21EQztJSGpFSjtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HLEVBQUE7RUdtREM7SUhqRUo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQWRIO01JekJFLGFBQW1CLEVKMkJwQjtJQUVEO01JekJFLGFBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HLEVBQUE7RUdtREM7SUhqRUo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRyxFQUFBOztBQXlTRDtFUTNYSSw2QkFBbUMsRVI2WHRDO0VHN1BDO0lIMlBGO01RM1hJLDJCQUFtQyxFUjZYdEMsRUFBQTtFR3hQQztJSHNQRjtNUTNYSSwyQkFBbUMsRVI2WHRDLEVBQUE7RUd4UEM7SUhzUEY7TVEzWEksMkJBQW1DLEVSNlh0QyxFQUFBO0VHeFBDO0lIc1BGO01RM1hJLDJCQUFtQyxFUjZYdEMsRUFBQTs7QUc3UEM7RUgrUEE7SVEvWEUsMkJBQW1DLEVSaVlwQyxFQUFBOztBRzVQRDtFSDBQQTtJUS9YRSwyQkFBbUMsRVJpWXBDLEVBQUE7O0FHNVBEO0VIMFBBO0lRL1hFLDJCQUFtQyxFUmlZcEMsRUFBQTs7QUc1UEQ7RUgwUEE7SVEvWEUsMkJBQW1DLEVSaVlwQyxFQUFBOztBU3JLTDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsVUFBUztFQUNULFdBQVUsRUFDWDs7QUFHRDtFQUNFLG9CWi9FMEI7RVlpRjFCLG1CQUFrQjtFQUNsQixpQlpuRnNCO0VZb0Z0QixtQ1psRnlDLEVZbUYxQzs7QUFHRDs7RUFFRSxtQkFBa0I7RUFDbEIscUJBQW9CLEVBQ3JCOztBQUdEOztFQUVFLGtCWnZLcUI7RVl3S3JCLHFCQUFvQixFQUNyQjs7QWhCZ0RDO0VnQjVDQSxlWnpHaUI7RVkwR2pCLHFCQUFvQixFQUNyQjs7QWhCek1DOzs7Ozs7OztFZ0JrTkEsMkJaOUk4QjtFWStJOUIsbUJaN0lzQjtFWThJdEIsb0JaL0l1QjtFWWdKdkIsZVo3SWtCO0VZOElsQixtQ1p6SHNDLEVZK0h2QztFQWhCRDs7Ozs7Ozs7SUFhSSxlQUFjO0lBQ2QsZVp2TlEsRVl3TlQ7O0FoQjNORDtFZ0J1T1EsbUJYdlA2QztFV21RN0MsaUJaMUtXO0VZa0xYLGNBQWE7RUFPYixzQlp4TGlCLEVZMExwQjs7QUFqQ0Q7RUFJSSxxQlh2UDZDO0VXbVE3QyxpQloxS1c7RVlrTFgsY0FBYTtFQU9iLHNCWnhMaUIsRVkwTHBCOzs7QUFwR1A7O0VBdUVVLG1CWHZQNkM7RVdtUTdDLGlCWjFLVztFWWtMWCxjQUFhO0VBT2Isc0JaeExpQixFWTBMcEI7O0FBakNEO0VBSUkscUJYdlA2QztFV21RN0MsaUJaMUtXO0VZa0xYLGNBQWE7RUFPYixzQlp4TGlCLEVZMExwQjs7QUFqQ0Q7RUFJSSxxQlh2UDZDO0VXbVE3QyxpQloxS1c7RVlrTFgsY0FBYTtFQU9iLHNCWnhMaUIsRVkwTHBCOzs7QUFqR1A7O0VBb0VVLGdCWHZQNkM7RVdtUTdDLGlCWjFLVztFWWtMWCxjQUFhO0VBT2Isc0JaeExpQixFWTBMcEI7O0FOcE1IO0VWaEVGO0lnQnVPUSxnQlh2UDZDLEVXb1JoRDtFQWpDRDtJQUlJLG9CWHZQNkMsRVdvUmhEOztFQXBHUDs7SUF1RVUscUJYdlA2QyxFV29SaEQ7RUFqQ0Q7SUFJSSxxQlh2UDZDLEVXb1JoRDtFQWpDRDtJQUlJLG9CWHZQNkMsRVdvUmhEOztFQWpHUDs7SUFvRVUscUJYdlA2QyxFV29SaEQsRUFBQTs7QWhCbkdMO0VnQjBHQSxxQkFBb0I7RUFDcEIsZVp2UmM7RVl3UmQsc0JabEt5QjtFWW9LekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlWnpLMkQsRVk2SzVEO0VBYkg7SUFnQkksVUFBUyxFQUNWOztBaEJ2S0Q7RWdCNEtBLFlBQVc7RUFFWCxpQlhsVHFEO0VXbVRyRCxVQUFTO0VBQ1QscUJackx5QjtFWXVMekIsY0FBYTtFQUNiLGdCQUFlO0VBQ2YsaUNaclNVO0VZc1NWLGVBQWMsRUFDZjs7QUFHRDs7O0VBR0Usb0JaL00wQjtFWWdOMUIsNkJaOUx5QjtFWStMekIsaUJabE5zQixFWW1OdkI7O0FBR0Q7RUFDRSxtQkFBa0IsRUFDbkI7O0FBR0Q7RUFDRSxxQlp4TXNCO0VZeU10QixzQlozTWtCLEVZNE1uQjs7QUFHRDtFQUNFLHFCWjlNc0IsRVkrTXZCOztBQUdEO0VBRUks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QUFXO0lBQ1gsWUFBVztJQUNYLGVBQWdDLEVBQ2pDOztBQUVIOzs7RUFHSSxzQkFBcUIsRUFDdEI7O0F0QjZuSUw7O0V1QnA2SUUsZUFBYztFQUNkLHVCQUFzQjtFQUN0QixZQUFXO0VBQ1gsa0JBTHNKO0VBTXRKLGlCaEJIdUQ7RWdCSXZELGdCakJvWStCO0VpQmxZL0IsMEJqQmFZO0VpQlpaLHlCaEJQdUQ7RWdCUXZELDBCakJnQmE7RWlCZmIsNkNqQmNhO0VpQlpiLHFCakJvWHlCO0VpQm5YekIsZ0JoQlp1RDtFZ0JhdkQsb0JqQjRCMkI7RWlCM0IzQixpQmpCWHFCO0VpQllyQixlakJRYTtFaUJMWCw0RGpCMFg4RDtFaUJyVzlELHlCQUFnQjtVQUFoQixpQkFBZ0IsRUFDakI7RXZCODRJRDs7SXVCLzVJRSxjQUFhO0lBQ2IsMEJqQm5CYztJaUJvQmQsMEJqQkRXO0lpQkVYLDRCakJQVTtJaUJVUiw0RGpCK1c0RCxFaUI3Vy9EOztBckJxZEM7RXFCeGNBLGdCQUFlLEVBS2hCO0VBTkQ7SUFJSSxhQUFZLEVBQ2I7O0FBR0g7O0VBSUksZWpCcENRLEVpQnFDVDs7QUFMSDs7RUFJSSxlakJwQ1EsRWlCcUNUOztBQUxIOztFQUlJLGVqQnBDUSxFaUJxQ1Q7O0FBTEg7OztFQVVJLDBCakIxQ1E7RWlCMkNSLG9CakI2VTZCLEVpQjVVOUI7O0F2Qjg0SUw7O0V1Qng0SUkseUJBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQix5QmhCdEVxRCxFZ0J1RXREOztBQUdEO0VBQ0UsdUJBQXNCLEVBQ3ZCOztBdkJ5NElIOzs7RXdCamlKSSxpQmpCNEVxRCxFaUIzRXREOztBeEJxaUpIOztFd0JoaUpJLHNCQUFxQjtFQUNyQix5QkFBd0I7RUFFeEIsb0JBQWtEO0VBQ2xELG1CakJrRXFEO0VpQmpFckQsaUJBQWdCLEVBS2pCO0V4QjZoSkQ7O0l3Qi9oSkksZ0JBQWUsRUFDaEI7O0FBSUg7O0VBRUUscUJBQW1ELEVBQ3BEOztBeEIraEpIO0V3QjNoSkksWUFBVyxFQUNaOztBQ0dEO0VBakJBLGVBQWM7RUFDZCxVQUFTO0VBRVQsb0JsQjREdUQ7RWtCM0R2RCxvQm5Cb0cyQjtFbUJuRzNCLGlCbkJtYjBCO0VtQmxiMUIsZW5CZ0ZhLEVtQi9EWjtFQU5EO0lBTEEsaUJsQm1EdUQ7SWtCbER2RCxxQkFBOEQsRUFTM0Q7O0FDMUJIO0VBR0Usb0JBRnVDO0VBR3ZDLHFCbkIrRHFEO0VtQjlEckQsbUJwQithd0I7RW9COWF4QixlcEJvRlcsRW9CbkZaOztBQ0ZEO0VBQ0Usc0JBQWlDO0VBQWpDLHFCQUFpQztFQUFqQyxjQUFpQztFQUNqQyxZQUFXO0VBQ1gsb0JwQjJEcUQ7RW9CeERuRCw2QkFBb0I7TUFBcEIsd0JBQW9CO1VBQXBCLHFCQUFvQixFQVl2QjtFQWxCRDtJQVVJLHVDcEJvRG1ELEVvQm5EcEQ7RUFYSDtJQWVNLHVDQUFpSCxFQUNsSDs7QUFJTDs7OztFQUNFLFVBQVM7RUFDVCxvQkFBbUIsRUFNcEI7O0FBRUQ7RUFFRSxnQnJCbVp1QjtFcUJsWnZCLDBCckJnRFU7RXFCL0NWLG9CckIrQ1U7RXFCN0NWLGVyQmlEVztFcUJoRFgsbUJBQWtCO0VBQ2xCLG9CQUFtQjtFQUdqQixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjO0VBQ2QsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUIsRUFnQnRCO0VBN0JEO0lBc0JNLGdCQUFpQyxFQUNsQztFQXZCTDtJQTBCTSxlQUFnQyxFQUNqQzs7QUFJTDtFQUVFLGlCQUFnQjtFQUdkLHNCQUFhO01BQWIsa0JBQWE7VUFBYixjQUFhO0VBQ2IsYUFBWTtFQUNaLGFBQVksRUFLZjs7QUFFRDtFQUVFLGVBQWM7RUFDZCxrQkFBaUI7RUFDakIsbUJBQWtCO0VBR2hCLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWMsRUF3QmpCO0VBaENEOzs7O0lBc0JNLGFBQVk7SUFDWiw0QkFBbUI7UUFBbkIsNkJBQW1CO2dCQUFuQiw0QkFBbUI7WUFBbkIsb0JBQW1CO0lBS3JCLGVBQWM7SUFDZCxrQkFBaUI7SUFDakIsZ0JwQjNDbUQsRW9CNENwRDs7QXpCb2FEO0UwQmpnQkEsVUFBUztFQUNULFdBQVU7RUFDVixVQUFTLEVBQ1Y7O0ExQjJnQkM7RTBCeGdCQSxnQkFBZTtFQUNmLHNCQUFrQyxFQUNuQzs7QUFFRDtFQXhCQSxtQnJCb0VXO0VxQm5FWCxpQnJCOER1RDtFcUI3RHZELDBCdEJnRlksRXNCeERYO0VBdEJEO0lBRUUsVUFBUztJQUNULHdCckJ3RHFEO0lxQnZEckQscUJyQnVEcUQsRXFCdER0RDs7QXZCNkpEO0V3QnhLQSxrQkFGc0o7RUFHdEosaUJ0QmdFdUQ7RXNCL0R2RCxnQnZCdWMrQjtFdUJyYy9CLHlCQUFnQjtVQUFoQixpQkFBZ0I7RUFDaEIsMEJ2QitFWTtFdUI5RVoseUJ0QjJEdUQ7RXNCMUR2RCwwQnZCa0ZhO0V1QmhGYixxQnZCdWJ5QjtFdUJ0YnpCLGdCdEJ1RHVEO0VzQnREdkQsb0J2QitGMkI7RXVCOUYzQixpQnZCd0RxQjtFdUJ2RHJCLGV2QjJFYTtFRXVDYixzT0FBeU47RXFCOUd2TiwrQkFBOEI7RUFDOUIsd0NBQTBEO0VBQzFELDZCQUE0QjtFQUM1Qix5QkFBd0I7RUFFeEIsc0JBQXVEO0VBSXZELDREdkJtYjhELEV1QmhaL0Q7RXJCb0VEO0lIdUNBO01HcENJLHdXQUF1VyxFcUJ2RTFXLEVBQUE7RUEvQkQ7SUFDRSxjQUFhO0lBQ2IsMEJ2QnNDYztJdUJyQ2QsMEJ2QndEVztJdUJ2RFgsNEJ2QmtEVTtJdUIvQ1IsNER2QndhNEQsRXVCdGEvRDtFQUdEO0lBQ0UsMEJ2QnlDVTtJdUJ4Q1Ysb0J2QmdhK0IsRXVCL1poQztFQUdEO0lBQ0UsY0FBYSxFQUNkO0VBRUQ7SUFDRSxhQUFZO0lBQ1osdUJBQXNCLEVBQ3ZCOztBQ2xDRDtFQUNFLHNCeEJvRFk7RXdCbkRaLDBCQUErRCxFQUloRTtFQUhDO0lBQ0UsZXhCaURVLEV3QmhEWDtFQUZEO0lBQ0UsZXhCaURVLEV3QmhEWDtFQUZEO0lBQ0UsZXhCaURVLEV3QmhEWDs7QUF5QkQ7RUFDRSxleEJz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NEJBeENnQjtNQXdDaEIsdUJBeENnQjtVQXdDaEIsb0JBeENnQixFRGlGYjs7QUFFRDtFQzNCRiwyQkF4RGdCO01Bd0RoQiw0QkF4RGdCO2NBd0RoQiwyQkF4RGdCO1VBd0RoQixtQkF4RGdCLEVEcUZiOztBQU5EO0VDdkNGLDZCQXZDa0I7TUF1Q2xCLHdCQXZDa0I7VUF1Q2xCLHFCQXZDa0IsRURnRmY7O0FBRUQ7RUMzQkYsNEJBdkRrQjtNQXVEbEIsNkJBdkRrQjtjQXVEbEIsNEJBdkRrQjtVQXVEbEIsb0JBdkRrQixFRG9GZjs7QUFJSDtFQ2xEQSxnQ0EvQ2dCO01BK0NoQixzQkEvQ2dCO1VBK0NoQix3QkEvQ2dCO0VBZ0RoQiw0QkF4Q2dCO01Bd0NoQix1QkF4Q2dCO1VBd0NoQixvQkF4Q2dCO0VEMkZkLDhCQUFxQjtNQUFyQiwyQkFBcUI7VUFBckIsc0JBQXFCLEVBQ3RCOztBQUtHO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBaENxREQ7RWdDdkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBaEMwREQ7RWdDNURBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBaEMwREQ7RWdDNURBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBaEMwREQ7RWdDNURBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0Nn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Ri8yQm9DO0lBdkJsRDtNQXdCc0Isb0JBQTZCLEVBQUc7SUF4QnREO01BeUJzQixvQkFBNkIsRUFBRztJQXpCdEQ7TUEwQnNCLG9CQUE2QixFQUFHO0lBMUJ0RDtNQTJCb0IscUJBQTZCLEVBQUcsRUFBQTs7QS9Da0dwRCwrQkFBK0I7QWdEN0gvQiw4QkFBOEI7QUFFOUIsc0RBQXNEO0FBRXREOztFQUVJLFdBQVUsRUFDYjs7QUFDRDtFQUNJLFdBQVU7RUFDViwwQkFBeUIsRUFDNUI7O0FBQ0Q7RUFDSSxtQkFBa0IsRUFDckIiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG4vKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovIH1cblxuLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuaDEsICNjb250YWN0LW92ZXJsYXkgLmNvbnRhY3RfdGl0bGUsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX3RlbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfZW1haWwsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2FkZHJlc3Mge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG4gIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovIH1cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqLyB9XG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT01MGVtJnhsYXJnZT02NGVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogXCJwb3BwaW5zbWVkaXVtXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzMxMzk0MTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIsIC5ncmlkLXggPiAuc21hbGwtMTMsIC5ncmlkLXggPiAuc21hbGwtMTQsIC5ncmlkLXggPiAuc21hbGwtMTUsIC5ncmlkLXggPiAuc21hbGwtMTYge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiwgLmdyaWQteCA+IC5tZWRpdW0tMTMsIC5ncmlkLXggPiAubWVkaXVtLTE0LCAuZ3JpZC14ID4gLm1lZGl1bS0xNSwgLmdyaWQteCA+IC5tZWRpdW0tMTYge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIsIC5ncmlkLXggPiAubGFyZ2UtMTMsIC5ncmlkLXggPiAubGFyZ2UtMTQsIC5ncmlkLXggPiAubGFyZ2UtMTUsIC5ncmlkLXggPiAubGFyZ2UtMTYge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54bGFyZ2UtMSwgLmdyaWQteCA+IC54bGFyZ2UtMiwgLmdyaWQteCA+IC54bGFyZ2UtMywgLmdyaWQteCA+IC54bGFyZ2UtNCwgLmdyaWQteCA+IC54bGFyZ2UtNSwgLmdyaWQteCA+IC54bGFyZ2UtNiwgLmdyaWQteCA+IC54bGFyZ2UtNywgLmdyaWQteCA+IC54bGFyZ2UtOCwgLmdyaWQteCA+IC54bGFyZ2UtOSwgLmdyaWQteCA+IC54bGFyZ2UtMTAsIC5ncmlkLXggPiAueGxhcmdlLTExLCAuZ3JpZC14ID4gLnhsYXJnZS0xMiwgLmdyaWQteCA+IC54bGFyZ2UtMTMsIC5ncmlkLXggPiAueGxhcmdlLTE0LCAuZ3JpZC14ID4gLnhsYXJnZS0xNSwgLmdyaWQteCA+IC54bGFyZ2UtMTYge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueHhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMSwgLmdyaWQteCA+IC54eGxhcmdlLTIsIC5ncmlkLXggPiAueHhsYXJnZS0zLCAuZ3JpZC14ID4gLnh4bGFyZ2UtNCwgLmdyaWQteCA+IC54eGxhcmdlLTUsIC5ncmlkLXggPiAueHhsYXJnZS02LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNywgLmdyaWQteCA+IC54eGxhcmdlLTgsIC5ncmlkLXggPiAueHhsYXJnZS05LCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXggPiAueHhsYXJnZS0xMSwgLmdyaWQteCA+IC54eGxhcmdlLTEyLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTMsIC5ncmlkLXggPiAueHhsYXJnZS0xNCwgLmdyaWQteCA+IC54eGxhcmdlLTE1LCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTYge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogNi4yNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDEyLjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAxOC43NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogMzEuMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiAzNy41JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogNDMuNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDU2LjI1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDYyLjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogNjguNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTMge1xuICB3aWR0aDogODEuMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTQge1xuICB3aWR0aDogODcuNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xNSB7XG4gIHdpZHRoOiA5My43NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xNiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC54bGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMC41cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogY2FsYyg2LjI1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDE4Ljc1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYygzMS4yNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDM3LjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg0My43NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNTYuMjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoNjIuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg2OC43NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEzIHtcbiAgICB3aWR0aDogY2FsYyg4MS4yNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTE0IHtcbiAgICB3aWR0aDogY2FsYyg4Ny41JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTUge1xuICAgIHdpZHRoOiBjYWxjKDkzLjc1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTYge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoNi4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMTguNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYygzMS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoMzcuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNDMuNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogY2FsYyg1Ni4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDYyLjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg2OC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTMge1xuICAgICAgd2lkdGg6IGNhbGMoODEuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xNCB7XG4gICAgICB3aWR0aDogY2FsYyg4Ny41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTUge1xuICAgICAgd2lkdGg6IGNhbGMoOTMuNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xNiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogY2FsYyg2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE4Ljc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYygzMS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDM3LjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg0My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNTYuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoNjIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg2OC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMyB7XG4gICAgICB3aWR0aDogY2FsYyg4MS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xNCB7XG4gICAgICB3aWR0aDogY2FsYyg4Ny41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTE1IHtcbiAgICAgIHdpZHRoOiBjYWxjKDkzLjc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTE2IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxMi41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygxOC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMxLjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYygzNy41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg0My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoNjIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDY4Ljc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMyB7XG4gICAgICB3aWR0aDogY2FsYyg4MS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTE0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDg3LjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xNSB7XG4gICAgICB3aWR0aDogY2FsYyg5My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTE2IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxMi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogY2FsYygxOC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogY2FsYygzNy41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg0My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoNjIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDY4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMyB7XG4gICAgICB3aWR0aDogY2FsYyg4MS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTE0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDg3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xNSB7XG4gICAgICB3aWR0aDogY2FsYyg5My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTE2IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogY2FsYygxMi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMTguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoMzcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogY2FsYyg1Ni4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg2Mi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDY4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEzIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTE0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDg3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTUge1xuICAgICAgd2lkdGg6IGNhbGMoOTMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTYge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoNi4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygxOC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoMzEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYygzNy41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNDMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDYyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoNjguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTMge1xuICAgICAgd2lkdGg6IGNhbGMoODEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTQge1xuICAgICAgd2lkdGg6IGNhbGMoODcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xNSB7XG4gICAgICB3aWR0aDogY2FsYyg5My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xNiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoNi4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxMi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDM3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNDMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNTYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDYyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDY4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTMge1xuICAgICAgd2lkdGg6IGNhbGMoODEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTE0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDg3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTE1IHtcbiAgICAgIHdpZHRoOiBjYWxjKDkzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xNiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnh4bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueHhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAwLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDAuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMC41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAwLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMC41cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDFyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMnJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMnJlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA2LjI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMTguNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogMzEuMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogMzcuNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiA0My43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogNjIuNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogNjguNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEzIHtcbiAgICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNCB7XG4gICAgICB3aWR0aDogODcuNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNSB7XG4gICAgICB3aWR0aDogOTMuNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTYge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA2LjI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTIuNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDM3LjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiA0My43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNTYuMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogNjIuNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEzIHtcbiAgICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTE0IHtcbiAgICAgIHdpZHRoOiA4Ny41JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTUge1xuICAgICAgd2lkdGg6IDkzLjc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTYge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogNi4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDMxLjI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IDM3LjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNDMuNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNTYuMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDYyLjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMyB7XG4gICAgICB3aWR0aDogODEuMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTQge1xuICAgICAgd2lkdGg6IDg3LjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTUge1xuICAgICAgd2lkdGg6IDkzLjc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTE2IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA2LjI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDMxLjI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiAzNy41JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA0My43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDU2LjI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogNjIuNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEzIHtcbiAgICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTQge1xuICAgICAgd2lkdGg6IDg3LjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTE1IHtcbiAgICAgIHdpZHRoOiA5My43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTYge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuMjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA2LjI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDYuMjUlICsgMC4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDEyLjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTIuNSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMTguNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTguNzUlICsgMC4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuMjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiAzMS4yNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMS4yNSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogMzcuNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYygzNy41JSArIDAuMjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA0My43NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0My43NSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDU2LjI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU2LjI1JSArIDAuMjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogNjIuNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjIuNSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDY4Ljc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2OC43NSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEyIHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTIge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEzIHtcbiAgbWFyZ2luLWxlZnQ6IDgxLjI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTMge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4MS4yNSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTE0IHtcbiAgbWFyZ2luLWxlZnQ6IDg3LjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDg3LjUlICsgMC4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xNSB7XG4gIG1hcmdpbi1sZWZ0OiA5My43NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTE1IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTMuNzUlICsgMC4yNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA2LjI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDYuMjUlICsgMC41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTIuNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxMi41JSArIDAuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDE4Ljc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE4Ljc1JSArIDAuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMxLjI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMxLjI1JSArIDAuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzcuNSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA0My43NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0My43NSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA1Ni4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1Ni4yNSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogNjIuNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjIuNSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogNjguNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY4Ljc1JSArIDAuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDgxLjI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEzIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4MS4yNSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTE0IHtcbiAgICBtYXJnaW4tbGVmdDogODcuNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODcuNSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogOTMuNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkzLjc1JSArIDAuNXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogNi4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDYuMjUlICsgMC41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMi41JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTIuNSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDE4Ljc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTguNzUlICsgMC41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogMzEuMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMS4yNSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzNy41JSArIDAuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNDMuNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0My43NSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA1Ni4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU2LjI1JSArIDAuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjIuNSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA2OC43NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2OC43NSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTMge1xuICAgIG1hcmdpbi1sZWZ0OiA4MS4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEzIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4MS4yNSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTQge1xuICAgIG1hcmdpbi1sZWZ0OiA4Ny41JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDg3LjUlICsgMC41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogOTMuNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTMuNzUlICsgMC41cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxcmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogNi4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2LjI1JSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMi41JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEyLjUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDE4Ljc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE4Ljc1JSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxcmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogMzEuMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzEuMjUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzcuNSUgKyAxcmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNDMuNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDMuNzUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA1Ni4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1Ni4yNSUgKyAxcmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDYyLjUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA2OC43NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjguNzUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTMge1xuICAgIG1hcmdpbi1sZWZ0OiA4MS4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODEuMjUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTQge1xuICAgIG1hcmdpbi1sZWZ0OiA4Ny41JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTE0IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4Ny41JSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogOTMuNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkzLjc1JSArIDFyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA2LjI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2LjI1JSArIDFyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTIuNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTIuNSUgKyAxcmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDE4Ljc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxOC43NSUgKyAxcmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxcmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMxLjI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMS4yNSUgKyAxcmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDM3LjUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA0My43NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDMuNzUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA1Ni4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTYuMjUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogNjIuNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDYyLjUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogNjguNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2OC43NSUgKyAxcmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDFyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDgxLjI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODEuMjUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTE0IHtcbiAgICBtYXJnaW4tbGVmdDogODcuNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDg3LjUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogOTMuNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5My43NSUgKyAxcmVtKTsgfSB9XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLmdyaWQteSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIsIC5ncmlkLXkgPiAuc21hbGwtMTMsIC5ncmlkLXkgPiAuc21hbGwtMTQsIC5ncmlkLXkgPiAuc21hbGwtMTUsIC5ncmlkLXkgPiAuc21hbGwtMTYge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIsIC5ncmlkLXkgPiAubWVkaXVtLTEzLCAuZ3JpZC15ID4gLm1lZGl1bS0xNCwgLmdyaWQteSA+IC5tZWRpdW0tMTUsIC5ncmlkLXkgPiAubWVkaXVtLTE2IHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiwgLmdyaWQteSA+IC5sYXJnZS0xMywgLmdyaWQteSA+IC5sYXJnZS0xNCwgLmdyaWQteSA+IC5sYXJnZS0xNSwgLmdyaWQteSA+IC5sYXJnZS0xNiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54bGFyZ2UtMSwgLmdyaWQteSA+IC54bGFyZ2UtMiwgLmdyaWQteSA+IC54bGFyZ2UtMywgLmdyaWQteSA+IC54bGFyZ2UtNCwgLmdyaWQteSA+IC54bGFyZ2UtNSwgLmdyaWQteSA+IC54bGFyZ2UtNiwgLmdyaWQteSA+IC54bGFyZ2UtNywgLmdyaWQteSA+IC54bGFyZ2UtOCwgLmdyaWQteSA+IC54bGFyZ2UtOSwgLmdyaWQteSA+IC54bGFyZ2UtMTAsIC5ncmlkLXkgPiAueGxhcmdlLTExLCAuZ3JpZC15ID4gLnhsYXJnZS0xMiwgLmdyaWQteSA+IC54bGFyZ2UtMTMsIC5ncmlkLXkgPiAueGxhcmdlLTE0LCAuZ3JpZC15ID4gLnhsYXJnZS0xNSwgLmdyaWQteSA+IC54bGFyZ2UtMTYge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnh4bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54eGxhcmdlLTEsIC5ncmlkLXkgPiAueHhsYXJnZS0yLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMywgLmdyaWQteSA+IC54eGxhcmdlLTQsIC5ncmlkLXkgPiAueHhsYXJnZS01LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNiwgLmdyaWQteSA+IC54eGxhcmdlLTcsIC5ncmlkLXkgPiAueHhsYXJnZS04LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOSwgLmdyaWQteSA+IC54eGxhcmdlLTEwLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXkgPiAueHhsYXJnZS0xMiwgLmdyaWQteSA+IC54eGxhcmdlLTEzLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTQsIC5ncmlkLXkgPiAueHhsYXJnZS0xNSwgLmdyaWQteSA+IC54eGxhcmdlLTE2IHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogNi4yNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IDEyLjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAxOC43NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogMzEuMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiAzNy41JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogNDMuNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IDU2LjI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IDYyLjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogNjguNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTMge1xuICAgIGhlaWdodDogODEuMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTQge1xuICAgIGhlaWdodDogODcuNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xNSB7XG4gICAgaGVpZ2h0OiA5My43NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xNiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA2LjI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxMi41JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAxOC43NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDMxLjI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiAzNy41JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiA0My43NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IDU2LjI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogNjIuNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDY4Ljc1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTMge1xuICAgICAgaGVpZ2h0OiA4MS4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xNCB7XG4gICAgICBoZWlnaHQ6IDg3LjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTUge1xuICAgICAgaGVpZ2h0OiA5My43NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xNiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA2LjI1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDEyLjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMTguNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogMzEuMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogMzcuNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA0My43NSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA1Ni4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogNjIuNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogNjguNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTMge1xuICAgICAgaGVpZ2h0OiA4MS4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTE0IHtcbiAgICAgIGhlaWdodDogODcuNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTE1IHtcbiAgICAgIGhlaWdodDogOTMuNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xNiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA2LjI1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxMi41JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAxOC43NSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDMxLjI1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiAzNy41JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA0My43NSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDU2LjI1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogNjIuNSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDY4Ljc1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTMge1xuICAgICAgaGVpZ2h0OiA4MS4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xNCB7XG4gICAgICBoZWlnaHQ6IDg3LjUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTUge1xuICAgICAgaGVpZ2h0OiA5My43NSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xNiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA2LjI1JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTIuNSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDE4Ljc1JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiAzMS4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDM3LjUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA0My43NSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogNTYuMjUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogNjIuNSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA2OC43NSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTMge1xuICAgICAgaGVpZ2h0OiA4MS4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTQge1xuICAgICAgaGVpZ2h0OiA4Ny41JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xNSB7XG4gICAgICBoZWlnaHQ6IDkzLjc1JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xNiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTAuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTFyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTFyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+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+IC54eGxhcmdlLTE2IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwdnc7IH1cblxuLmNlbGwgLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMC41cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDYuMjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTIuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygxOC43NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYygzMS4yNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYygzNy41JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDQzLjc1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDU2LjI1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg2Mi41JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg2OC43NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDgxLjI1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTQge1xuICAgIGhlaWdodDogY2FsYyg4Ny41JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTUge1xuICAgIGhlaWdodDogY2FsYyg5My43NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTE2IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE4Ljc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYygzMS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDM3LjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg0My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTYuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg2OC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEzIHtcbiAgICAgIGhlaWdodDogY2FsYyg4MS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTE0IHtcbiAgICAgIGhlaWdodDogY2FsYyg4Ny41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkzLjc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygxOC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYygzMS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYygzNy41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQzLjc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg2Mi41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg2OC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgxLjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTE0IHtcbiAgICAgIGhlaWdodDogY2FsYyg4Ny41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTE1IHtcbiAgICAgIGhlaWdodDogY2FsYyg5My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxMi41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTguNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMxLjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzcuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQzLjc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg1Ni4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg2Mi41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY4Ljc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgxLjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDg3LjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTMuNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxMi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg1Ni4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg2Mi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDg3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNi4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxMi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDM3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDg3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTE2IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg0My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg1Ni4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEzIHtcbiAgICAgIGhlaWdodDogY2FsYyg4MS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxMi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygxOC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYygzNy41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg0My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEzIHtcbiAgICAgIGhlaWdodDogY2FsYyg4MS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDg3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTE1IHtcbiAgICAgIGhlaWdodDogY2FsYyg5My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAwLjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDFyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMnJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAycmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxcmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAycmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAycmVtKTsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSwgaDEsICNjb250YWN0LW92ZXJsYXkgLmNvbnRhY3RfdGl0bGUsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX3RlbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfZW1haWwsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2FkZHJlc3MsXG5oMixcbmgzLFxuLmNoYXItd3JhcHBlcjpiZWZvcmUsXG5oNCxcbmg1LFxuaDYsXG4uYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLCAjY29udGFjdC1vdmVybGF5IC5jb250YWN0X3RpdGxlLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV90ZWwsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2VtYWlsLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9hZGRyZXNzLCAuaDEsXG5oMiwgLmgyLFxuaDMsXG4uY2hhci13cmFwcGVyOmJlZm9yZSwgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNixcbi5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwicG9wcGluc2JvbGRcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgI2NvbnRhY3Qtb3ZlcmxheSAuY29udGFjdF90aXRsZSBzbWFsbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfdGVsIHNtYWxsLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9lbWFpbCBzbWFsbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcyBzbWFsbCwgLmgxIHNtYWxsLFxuICBoMiBzbWFsbCwgLmgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgLmNoYXItd3JhcHBlcjpiZWZvcmUgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsXG4gIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSBzbWFsbCwgLmg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogI0RGREZERjsgfVxuXG5oMSwgI2NvbnRhY3Qtb3ZlcmxheSAuY29udGFjdF90aXRsZSwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfdGVsLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9lbWFpbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcywgLmgxIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuXG5oMyxcbi5jaGFyLXdyYXBwZXI6YmVmb3JlLCAuaDMge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5cbmg2LFxuLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLCAuaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIGgxLCAjY29udGFjdC1vdmVybGF5IC5jb250YWN0X3RpdGxlLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV90ZWwsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2VtYWlsLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9hZGRyZXNzLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG4gIFxuICBoMyxcbiAgLmNoYXItd3JhcHBlcjpiZWZvcmUsIC5oMyB7XG4gICAgZm9udC1zaXplOiAxLjQzNzVyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICBcbiAgaDYsXG4gIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSwgLmg2IHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMzMTM5NDE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMmEzMTM4OyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RGREZERjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREZERkRGOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzMxMzk0MTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzMxMzk0MTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDAwMDA7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RGREZERjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RGREZERjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREZERkRGO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjMzEzOTQxOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMxMzk0MTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMsXG4gIC5jaGFyLXdyYXBwZXI6YmVmb3JlIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMsXG4gIC5jaGFyLXdyYXBwZXI6YmVmb3JlIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cbi5idXR0b24sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuNGVtIDFlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMi41cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzOTQxO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiwgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzOTQxO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24udGlueSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC50aW55LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC50aW55Lmdmb3JtX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5zbWFsbC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAuc21hbGwuZ2Zvcm1fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5sYXJnZS5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAubGFyZ2UuZ2Zvcm1fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5leHBhbmRlZC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAuZXhwYW5kZWQuZ2Zvcm1fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LnByaW1hcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLnByaW1hcnkuZ2Zvcm1fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzOTQxO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LnByaW1hcnkuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAucHJpbWFyeS5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5wcmltYXJ5LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNzJlMzQ7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5zZWNvbmRhcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLnNlY29uZGFyeS5nZm9ybV9idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMDUxNmI7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuc2Vjb25kYXJ5LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnNlY29uZGFyeS5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBkNDE1NjtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24uc3VjY2VzcywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5zdWNjZXNzLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC5zdWNjZXNzLmdmb3JtX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZFQjUzMztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5zdWNjZXNzLmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuc3VjY2Vzcy5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5zdWNjZXNzLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg5MTI5O1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi53YXJuaW5nLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0Lndhcm5pbmcuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLndhcm5pbmcuZ2Zvcm1fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmYjAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0Lndhcm5pbmcuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAud2FybmluZy5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC53YXJuaW5nLmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M5MDA7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLmFsZXJ0LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmFsZXJ0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC5hbGVydC5nZm9ybV9idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmFsZXJ0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmFsZXJ0Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5hbGVydC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5hbGVydC5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbltkaXNhYmxlZF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXTpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbltkaXNhYmxlZF06Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTM5NDE7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5wcmltYXJ5LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLnByaW1hcnkuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeVt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLnByaW1hcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5wcmltYXJ5Lmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLnByaW1hcnkuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLnByaW1hcnkuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnlbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTM5NDE7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQuc2Vjb25kYXJ5LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLnNlY29uZGFyeS5nZm9ybV9idXR0b24sIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnkuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnlbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEwNTE2YjtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQuc3VjY2Vzcy5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5zdWNjZXNzLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3NbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3Mge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5zdWNjZXNzLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuc3VjY2Vzcy5nZm9ybV9idXR0b24sIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5zdWNjZXNzLmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuc3VjY2Vzcy5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5zdWNjZXNzLmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuc3VjY2Vzcy5nZm9ybV9idXR0b246Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkVCNTMzO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC53YXJuaW5nLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLndhcm5pbmcuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZ1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0ud2FybmluZyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLndhcm5pbmcuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC53YXJuaW5nLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLndhcm5pbmcuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC53YXJuaW5nLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLndhcm5pbmcuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC53YXJuaW5nLmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmdbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZiMDA7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5hbGVydC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5hbGVydC5nZm9ybV9idXR0b24sIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbltkaXNhYmxlZF0uYWxlcnRbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLmFsZXJ0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuYWxlcnQuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLmFsZXJ0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuYWxlcnQuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLmFsZXJ0LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuYWxlcnQuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0W3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi5ob2xsb3csIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuZ2Zvcm1fYnV0dG9uIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzEzOTQxO1xuICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5nZm9ybV9idXR0b24sIC5idXR0b24uaG9sbG93OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5kaXNhYmxlZC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuZGlzYWJsZWQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LmRpc2FibGVkLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmRpc2FibGVkLmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5kaXNhYmxlZC5nZm9ybV9idXR0b246Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYnV0dG9uW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5nZm9ybV9idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmJ1dHRvbltkaXNhYmxlZF06aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5idXR0b25bZGlzYWJsZWRdOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lmdmb3JtX2J1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTkxZDIxO1xuICAgICAgY29sb3I6ICMxOTFkMjE7IH1cbiAgICAgIC5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5idXR0b246aG92ZXIuZGlzYWJsZWRbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmhvdmVyW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYnV0dG9uOmhvdmVyW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lmdmb3JtX2J1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5idXR0b246Zm9jdXMuZGlzYWJsZWRbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5nZm9ybV9idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmZvY3VzW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYnV0dG9uOmZvY3VzW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lmdmb3JtX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzEzOTQxO1xuICAgICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LnByaW1hcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnByaW1hcnkuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMTM5NDE7XG4gICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cucHJpbWFyeS5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cucHJpbWFyeS5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE5MWQyMTtcbiAgICAgICAgY29sb3I6ICMxOTFkMjE7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cucHJpbWFyeS5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMTM5NDE7XG4gICAgICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LnNlY29uZGFyeS5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTA1MTZiO1xuICAgICAgY29sb3I6ICMxMDUxNmI7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnNlY29uZGFyeS5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnNlY29uZGFyeS5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwODI5MzY7XG4gICAgICAgIGNvbG9yOiAjMDgyOTM2OyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnNlY29uZGFyeS5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzEwNTE2YjtcbiAgICAgICAgICBjb2xvcjogIzEwNTE2YjsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3MuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2RUI1MzM7XG4gICAgICBjb2xvcjogIzZFQjUzMzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuc3VjY2Vzcy5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zdWNjZXNzLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuc3VjY2Vzcy5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zdWNjZXNzLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzM3NWIxYTtcbiAgICAgICAgY29sb3I6ICMzNzViMWE7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zdWNjZXNzLmdmb3JtX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuc3VjY2Vzcy5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zdWNjZXNzLmdmb3JtX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2RUI1MzM7XG4gICAgICAgICAgY29sb3I6ICM2RUI1MzM7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy53YXJuaW5nLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy53YXJuaW5nLmdmb3JtX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmYjAwO1xuICAgICAgY29sb3I6ICNmZmZiMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93Lndhcm5pbmcuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cud2FybmluZy5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93Lndhcm5pbmcuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cud2FybmluZy5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDdlMDA7XG4gICAgICAgIGNvbG9yOiAjODA3ZTAwOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cud2FybmluZy5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy53YXJuaW5nLmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cud2FybmluZy5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmYjAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZmYjAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmFsZXJ0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5hbGVydC5nZm9ybV9idXR0b24ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYWxlcnQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuYWxlcnQuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYWxlcnQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuYWxlcnQuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5hbGVydC5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5hbGVydC5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5hbGVydC5nZm9ybV9idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5hbGVydC5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uY2xlYXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMxMzk0MTtcbiAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmRpc2FibGVkLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmRpc2FibGVkLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5kaXNhYmxlZC5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5kaXNhYmxlZC5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuZGlzYWJsZWQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b25bZGlzYWJsZWRdW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYnV0dG9uW2Rpc2FibGVkXTpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzE5MWQyMTtcbiAgICAgIGNvbG9yOiAjMTkxZDIxOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbjpob3Zlci5kaXNhYmxlZFt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246aG92ZXJbZGlzYWJsZWRdW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbjpmb2N1cy5kaXNhYmxlZFt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246Zm9jdXNbZGlzYWJsZWRdW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMxMzk0MTtcbiAgICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5kaXNhYmxlZC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5kaXNhYmxlZC5nZm9ybV9idXR0b24sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbltkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246aG92ZXIuZGlzYWJsZWRbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbjpob3ZlcltkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246Zm9jdXMuZGlzYWJsZWRbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbjpmb2N1c1tkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIucHJpbWFyeS5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzEzOTQxO1xuICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5wcmltYXJ5LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIucHJpbWFyeS5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5wcmltYXJ5LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIucHJpbWFyeS5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxOTFkMjE7XG4gICAgICAgIGNvbG9yOiAjMTkxZDIxOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIucHJpbWFyeS5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMxMzk0MTtcbiAgICAgICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnByaW1hcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnByaW1hcnkuZGlzYWJsZWQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5LmRpc2FibGVkLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5wcmltYXJ5LmJ1dHRvbltkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnByaW1hcnkuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnByaW1hcnkuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5zZWNvbmRhcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTA1MTZiO1xuICAgICAgY29sb3I6ICMxMDUxNmI7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeS5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeS5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwODI5MzY7XG4gICAgICAgIGNvbG9yOiAjMDgyOTM2OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMDUxNmI7XG4gICAgICAgICAgY29sb3I6ICMxMDUxNmI7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeS5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b24sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZC5nZm9ybV9idXR0b24sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5zZWNvbmRhcnkuYnV0dG9uW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeS5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5zdWNjZXNzLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2RUI1MzM7XG4gICAgICBjb2xvcjogIzZFQjUzMzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3MuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zdWNjZXNzLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3MuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zdWNjZXNzLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzM3NWIxYTtcbiAgICAgICAgY29sb3I6ICMzNzViMWE7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zdWNjZXNzLmdmb3JtX2J1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNkVCNTMzO1xuICAgICAgICAgIGNvbG9yOiAjNkVCNTMzOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuc3VjY2Vzcy5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3MuYnV0dG9uW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuc3VjY2Vzcy5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuc3VjY2Vzcy5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIud2FybmluZywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci53YXJuaW5nLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZiMDA7XG4gICAgICBjb2xvcjogI2ZmZmIwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLndhcm5pbmcuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci53YXJuaW5nLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLndhcm5pbmcuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci53YXJuaW5nLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwN2UwMDtcbiAgICAgICAgY29sb3I6ICM4MDdlMDA7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci53YXJuaW5nLmdmb3JtX2J1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmYjAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZmYjAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIud2FybmluZy5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIud2FybmluZy5kaXNhYmxlZC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLndhcm5pbmcuYnV0dG9uW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIud2FybmluZy5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIud2FybmluZy5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuYWxlcnQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYWxlcnQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuYWxlcnQuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5hbGVydC5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5hbGVydC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5hbGVydC5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuYWxlcnQuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYWxlcnQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5hbGVydC5nZm9ybV9idXR0b24sIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYWxlcnQuZGlzYWJsZWQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5hbGVydC5kaXNhYmxlZC5nZm9ybV9idXR0b24sIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmFsZXJ0LmJ1dHRvbltkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYWxlcnQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5hbGVydC5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuYWxlcnQuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5hbGVydC5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmFsZXJ0LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuYWxlcnQuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuYWxlcnQuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZHJvcGRvd24uYnV0dG9uW3R5cGU9c3VibWl0XTo6YWZ0ZXIsXG4gIC5nZm9ybV93cmFwcGVyIC5kcm9wZG93bi5nZm9ybV9idXR0b246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRyb3Bkb3duLmhvbGxvdy5idXR0b25bdHlwZT1zdWJtaXRdOjphZnRlcixcbiAgLmdmb3JtX3dyYXBwZXIgLmRyb3Bkb3duLmhvbGxvdy5nZm9ybV9idXR0b246OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMzEzOTQxOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAuZHJvcGRvd24uaG9sbG93LnByaW1hcnkuZ2Zvcm1fYnV0dG9uOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzMxMzk0MTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAuZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeS5nZm9ybV9idXR0b246OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMTA1MTZiOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAuZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzZFQjUzMzsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlcixcbiAgLmdmb3JtX3dyYXBwZXIgLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nLmdmb3JtX2J1dHRvbjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmZiMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAuZHJvcGRvd24uaG9sbG93LmFsZXJ0Lmdmb3JtX2J1dHRvbjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5hcnJvdy1vbmx5LmJ1dHRvblt0eXBlPXN1Ym1pdF06OmFmdGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAuYXJyb3ctb25seS5nZm9ybV9idXR0b246OmFmdGVyIHtcbiAgICB0b3A6IC0wLjFlbTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG5hLmJ1dHRvbjpob3Zlcixcbi5nZm9ybV93cmFwcGVyIGEuZ2Zvcm1fYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyxcbi5nZm9ybV93cmFwcGVyIGEuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjREZERkRGO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMHB4IDBweCByZ2JhKDAsIDAsIDAsIDApO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzEzOTQxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm94LXNoYWRvdzogMCAwIDBweCAjREZERkRGO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNERkRGREY7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RGREZERjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtIDAgMCAwLjE4NzVyZW07IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAuMTg3NXJlbSAwLjE4NzVyZW0gMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNERkRGREY7XG4gIGJhY2tncm91bmQ6ICNERkRGREY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RGREZERjsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RGREZERjtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjg0OSwgNTcsIDY1JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzEzOTQxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm94LXNoYWRvdzogMCAwIDBweCAjREZERkRGO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RGREZERjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZWRlYjsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbSAwLjE4NzVyZW0gMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4xODc1cmVtIDAuMTg3NXJlbTsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAwO1xuICBib3JkZXI6IDBweCBzb2xpZCAjREZERkRGO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMzEzOTQxOyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDBweCBzb2xpZCAjREZERkRGO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwLjE4NzVyZW0gMC4xODc1cmVtOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbiAgYm9yZGVyOiAwcHggc29saWQgI0RGREZERjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6ICMzMTM5NDE7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMHB4IHNvbGlkICNERkRGREY7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMzEzOTQxO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYmFkZ2UucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzMxMzk0MTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMTA1MTZiO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjNkVCNTMzO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmYjAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBjb2xvcjogI0RGREZERjsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI0RGREZERjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cCBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuYnV0dG9uLWdyb3VwIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAgLmdmb3JtX2J1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmxhc3QtY2hpbGRbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAgaW5wdXQuYnV0dG9uOmxhc3QtY2hpbGRbdHlwZT1zdWJtaXRdLFxuICAgIC5idXR0b24tZ3JvdXAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpsYXN0LWNoaWxkLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwIC5nZm9ybV9idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24sIC5idXR0b24tZ3JvdXAudGlueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC50aW55IGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5idXR0b24tZ3JvdXAudGlueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLnRpbnkgLmdmb3JtX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnNtYWxsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnNtYWxsIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zbWFsbCAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmxhcmdlIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLmxhcmdlIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5sYXJnZSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAucHJpbWFyeSBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5nZm9ybV9idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTM5NDE7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAucHJpbWFyeSBpbnB1dC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjcyZTM0O1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5nZm9ybV9idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMDUxNmI7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgaW5wdXQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZDQxNTY7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkVCNTMzO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b246aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgaW5wdXQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU4OTEyOTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAud2FybmluZyBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5nZm9ybV9idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZiMDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAud2FybmluZyBpbnB1dC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOTAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLmFsZXJ0IGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5hbGVydCAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLmFsZXJ0IGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5hbGVydCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5hbGVydCBpbnB1dC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5idXR0b24tZ3JvdXAuYWxlcnQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5hbGVydCAuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5nZm9ybV9idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b246bGFzdC1jaGlsZFt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkIGlucHV0LmJ1dHRvbjpsYXN0LWNoaWxkW3R5cGU9c3VibWl0XSxcbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmxhc3QtY2hpbGQsIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuZ2Zvcm1fYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmxhc3QtY2hpbGRbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgaW5wdXQuYnV0dG9uOmxhc3QtY2hpbGRbdHlwZT1zdWJtaXRdLFxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmxhc3QtY2hpbGQsIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmdmb3JtX2J1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmxhc3QtY2hpbGRbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGlucHV0LmJ1dHRvbjpsYXN0LWNoaWxkW3R5cGU9c3VibWl0XSxcbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b246bGFzdC1jaGlsZCwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmdmb3JtX2J1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5nZm9ybV9idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5tZW51IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgbGkge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgYSxcbiAgLm1lbnUgLmJ1dHRvbixcbiAgLm1lbnUgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5tZW51IGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5tZW51IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sXG4gIC5nZm9ybV93cmFwcGVyIC5tZW51IC5nZm9ybV9idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBzZWxlY3QsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51LCAubWVudS5ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVudS52ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVudS5leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5zaW1wbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVudS5zaW1wbGUgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZW51LnNpbXBsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUueGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LnhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUueGxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS54eGxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS54eGxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5tZW51IC5hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubWVudS5hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSAuc3VibWVudSBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMHJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMzMTM5NDE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMzEzOTQxLCAwIDE0cHggMCAjMzEzOTQxO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzMxMzk0MSwgMCAxNHB4IDAgIzMxMzk0MTsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzAwMDAwMCwgMCAxNHB4IDAgIzAwMDAwMDtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzMxMzk0MSwgMCAxNHB4IDAgIzMxMzk0MTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAwcmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDByZW07IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzEzOTQxOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzMxMzk0MTsgfVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMzEzOTQxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzMxMzk0MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuICAucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4gIC5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuICAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICMzMTM5NDE7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICMxMDUxNmI7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICM2RUI1MzM7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmZiMDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMzEzOTQxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICMzMTM5NDE7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMzIwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzIwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMjBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMyMHB4KTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDMyMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzIwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMjBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMyMHB4KTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI4MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI4MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yODBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyODBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI4MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjgwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjgwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI4MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMyMHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMjBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMjBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAzMjBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDMyMHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMyMHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzIwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzIwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMyMHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzIwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDMyMHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMyMHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMjBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzIwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMyMHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMyMHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDMyMHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMzIwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMjBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMyMHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMjBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzIwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMzIwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzIwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGNvbG9yOiAjMzEzOTQxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0LFxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsZXg6IDEgMSAwcHg7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi8qXG4gIE15IGN1c3RvbSBzdHlsZXM6XG4gIEFkZCB5b3VyIHNjc3MgZmlsZXMgYmVsb3cgdG8gc3RydWN0dXJlIHlvdXIgcHJvamVjdCBzdHlsZXNcbiovXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjE3NTliO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwOyB9XG5cbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cblxuYm9keS5hZG1pbi1iYXIuZi10b3BiYXItZml4ZWQgLnN0aWNreS5maXhlZCB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuYm9keS5hZG1pbi1iYXIub2ZmY2FudmFzIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICB0b3A6IDIuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjkzNzVlbSkge1xuICAgIGJvZHkuYWRtaW4tYmFyLm9mZmNhbnZhcyAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICAgIHRvcDogMnJlbTsgfSB9XG5cbi53cC1jYXB0aW9uID4gZmlnY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjOTk5O1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7IH1cblxucC53cC1jYXB0aW9uLXRleHQge1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICM2NjY7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDA7IH1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW46IDA7IH1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvb3BlbnNhbnMtcmVndWxhci13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL29wZW5zYW5zLWJvbGQtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvb3BlbnNhbnMtYm9sZC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbi8qISBHZW5lcmF0ZWQgYnkgRm9udCBTcXVpcnJlbCAoaHR0cHM6Ly93d3cuZm9udHNxdWlycmVsLmNvbSkgb24gSnVseSA1LCAyMDIzICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvcG9wcGlucy1ib2xkLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3BvcHBpbnMtYm9sZC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNibGFjayc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvcG9wcGlucy1ibGFjay13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9wb3BwaW5zLWJsYWNrLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc3JlZ3VsYXInO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3BvcHBpbnMtcmVndWxhci13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9wb3BwaW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zbWVkaXVtJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9wb3BwaW5zLW1lZGl1bS13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9wb3BwaW5zLW1lZGl1bS13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvcG9wcGlucy1zZW1pYm9sZC13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9wb3BwaW5zLXNlbWlib2xkLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAubW9iaWxlLW1lbnUsXG4gIC5zaXRlLXRpdGxlLWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5kZXNrdG9wLW1lbnUsXG4gIC5zaWRlYmFyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2l0ZS1kZXNrdG9wLXRpdGxlIGEge1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLm1lbnUge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLm1lbnUgLmN1cnJlbnRfcGFnZV9pdGVtIGEsXG4gIC5tZW51IC5jdXJyZW50LXBhZ2UtYW5jZXN0b3IgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuXG4ubW9iaWxlLW1lbnUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50aXRsZS1iYXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5tZW51LWljb24tYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICMzMTM5NDE7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjIgZWFzZTtcbiAgbWFyZ2luLWxlZnQ6IDhweDsgfVxuICAubWVudS1pY29uLWJ1dHRvbjpob3ZlciwgLm1lbnUtaWNvbi1idXR0b246Zm9jdXMsIC5tZW51LWljb24tYnV0dG9uOmFjdGl2ZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjMTA1MTZiOyB9XG4gICAgLm1lbnUtaWNvbi1idXR0b246aG92ZXIgc3BhbiwgLm1lbnUtaWNvbi1idXR0b246Zm9jdXMgc3BhbiwgLm1lbnUtaWNvbi1idXR0b246YWN0aXZlIHNwYW4ge1xuICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgLm1lbnUtaWNvbi1idXR0b24gYnV0dG9uOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbi1idXR0b24gc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcyA+IHVsLm1lbnUge1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcGFkZGluZzogMXJlbTsgfVxuICAgIC5vZmYtY2FudmFzID4gdWwubWVudSBhIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAub2ZmLWNhbnZhcyAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfVxuXG4udG9wLWJhciAuY2hpbGRuYXYge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAudG9wLWJhciAuY2hpbGRuYXYge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC50b3AtYmFyIC5jaGlsZG5hdiwgLnRvcC1iYXIgLmNoaWxkbmF2IHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC50b3AtYmFyIC5jaGlsZG5hdiBhIHtcbiAgICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjg1KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAudG9wLWJhciAuY2hpbGRuYXYgPiBsaSB7XG4gICAgbWFyZ2luOiAwIDAuMTI1cmVtOyB9XG4gICAgLnRvcC1iYXIgLmNoaWxkbmF2ID4gbGkgPiBhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMzEzOTQxOyB9XG4gICAgLnRvcC1iYXIgLmNoaWxkbmF2ID4gbGkuaXMtYWN0aXZlIGEsXG4gICAgLnRvcC1iYXIgLmNoaWxkbmF2ID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG5cbi5kcmlsbGRvd24ge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuICAuZHJpbGxkb3duIC5oZWlnaHQtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBjdWJpYy1iZXppZXIoMC42MSwgMC4wMDUsIDAuMzYsIDEuMDEpOyB9XG4gIC5kcmlsbGRvd24gLmNoaWxkbmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZHJpbGxkb3duIC5jaGlsZG5hdi5yZWFkeSB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC42MSwgMC4wMDUsIDAuMzYsIDEuMDEpLCBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZHJpbGxkb3duIC5jaGlsZG5hdltkYXRhLWRlcHRoPVwiMVwiXSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gICAgLmRyaWxsZG93biAuY2hpbGRuYXZbZGF0YS1kZXB0aD1cIjJcIl0ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAlKTsgfVxuICAgIC5kcmlsbGRvd24gLmNoaWxkbmF2W2RhdGEtZGVwdGg9XCIzXCJdIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzAwJSk7IH1cbiAgICAuZHJpbGxkb3duIC5jaGlsZG5hdltkYXRhLWRlcHRoPVwiNFwiXSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMCUpOyB9XG4gICAgLmRyaWxsZG93biAuY2hpbGRuYXZbZGF0YS1kZXB0aD1cIjVcIl0ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MDAlKTsgfVxuICAgIC5kcmlsbGRvd24gLmNoaWxkbmF2IC5jaGlsZHJlbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgLmRyaWxsZG93biAuY2hpbGRuYXYgbGlbY2xhc3MqPVwiY3VycmVudFwiXSAuY2hpbGRyZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZHJpbGxkb3duIC5jaGlsZG5hdiA+IGxpID4gYSB7XG4gICAgICBib3JkZXItbGVmdDogMC4xODc1cmVtIHNvbGlkIHZhcigtLW1haW4tY29sb3IpOyB9XG4gIC5kcmlsbGRvd24gbGkucGFnZV9pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREZERkRGOyB9XG4gICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW1faGFzX2NoaWxkcmVuID4gYTpub3QoLmJhY2spIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjYyNXJlbSk7IH1cbiAgICAuZHJpbGxkb3duIGxpLnBhZ2VfaXRlbSBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMi42MjVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gICAgICAuZHJpbGxkb3duIGxpLnBhZ2VfaXRlbSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH0gfVxuICAgICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gYS5iYWNrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAgICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gYS5iYWNrIHN2ZyB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgd2lkdGg6IDAuNTYyNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDAuODc1cmVtO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7IH1cbiAgICAgICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gYS5iYWNrOmhvdmVyIHN2ZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOyB9XG4gICAgICAgIC5kcmlsbGRvd24gbGkucGFnZV9pdGVtIGEuYmFjayBkaXYge1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjEyNXJlbSk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gYSAqIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZHJpbGxkb3duIGxpLnBhZ2VfaXRlbSBzcGFuIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjIzLCAyMjMsIDIyMywgMC4yKTtcbiAgICAgIHdpZHRoOiAyLjYyNXJlbTtcbiAgICAgIGhlaWdodDogMWZyO1xuICAgICAgZmxleDogMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuZHJpbGxkb3duIGxpLnBhZ2VfaXRlbSBzcGFuOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAuZHJpbGxkb3duIGxpLnBhZ2VfaXRlbSBzcGFuIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAwLjg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjg3NXJlbTsgfVxuICAgIC5kcmlsbGRvd24gbGkucGFnZV9pdGVtOmxhc3Qtb2YtdHlwZSBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLm9mZi1jYW52YXMge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIGhlaWdodDogMy43NXJlbTtcbiAgICBtaW4taGVpZ2h0OiAzLjc1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIyMywgMjIzLCAyMjMsIDAuMSk7IH1cbiAgICAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi1sYW5nc3dpdGNoIC5tZW51LXNwcmFjaGF1c3dhaGwtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxOyB9XG4gICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCBhIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbWFyZ2luOiA0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzMS4yNXJlbTtcbiAgICAgIHdpZHRoOiAxLjg3NXJlbTtcbiAgICAgIGhlaWdodDogMS44NzVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LWxhbmdzd2l0Y2ggYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMxMDUxNmI7IH1cbiAgICAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi1sYW5nc3dpdGNoIGJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDE2cHggMTZweCAxNnB4IGF1dG87XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCBidXR0b24gc3BhbiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH1cbiAgICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LWxhbmdzd2l0Y2ggYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCBidXR0b246aG92ZXIgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LWxhbmdzd2l0Y2ggYnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxLjMxMjVyZW07IH1cbiAgLm9mZi1jYW52YXMgLmRyaWxsZG93biAuaGVpZ2h0LXdyYXBwZXIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMjMsIDIyMywgMjIzLCAwLjEpOyB9XG4gIC5vZmYtY2FudmFzIC5kcmlsbGRvd24sIC5vZmYtY2FudmFzIC5kcmlsbGRvd24gYSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLm9mZi1jYW52YXMgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIyMywgMjIzLCAyMjMsIDAuMSk7IH1cbiAgICAub2ZmLWNhbnZhcyAuZHJpbGxkb3duIGxpLnBhZ2VfaXRlbSBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyYTMxMzg7IH1cbiAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbWVudSB1bCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogOHB4OyB9XG4gICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbWVudSB1bCBsaSBhIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAgICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbWVudSB1bCBsaSBhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgbWFyZ2luOiAwIDhweDsgfVxuICAgICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbWVudSB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAgICAgICAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi1tZW51IHVsIGxpIGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbWVudSB1bCBsaTpsYXN0LW9mLXR5cGUgYTphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LXNlYXJjaCB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBtYXJnaW46IDI0cHggYXV0bzsgfVxuICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LXNlYXJjaCAuaW5wdXQtZ3JvdXAge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGRkZGRkY7IH1cbiAgICAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi1zZWFyY2ggLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtc2VhcmNoIC5pbnB1dC1ncm91cC1idXR0b24gc3ZnIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKSB0cmFuc2xhdGUoNXB4LCA1cHgpOyB9XG5cbi5vZmYtY2FudmFzLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAub2ZmLWNhbnZhcy1mb290ZXIgLmZiIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBiYWNrZ3JvdW5kOiAjM0I1OTk4O1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5vZmYtY2FudmFzLWZvb3RlciAuc2VydmljZW5hdi1sb2dvcyB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2NHB4OyB9XG4gICAgLm9mZi1jYW52YXMtZm9vdGVyIC5zZXJ2aWNlbmF2LWxvZ29zIGltZyB7XG4gICAgICBtYXJnaW46IDhweDsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi50b3AtYmFyIGEge1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7IH1cblxuLnRvcC1iYXIgLm1lbnUgbGkge1xuICBtYXJnaW46IDAgMC42MjVyZW07IH1cbiAgLnRvcC1iYXIgLm1lbnUgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIC5tZW51IGxpOm5vdCgubWVudS10ZXh0KSBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjMzEzOTQxO1xuICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2U7IH1cblxuLnRvcC1iYXIgI21lbnUtc3ByYWNoYXVzd2FobCAqIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNDksIDU3LCA2NSwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG4udG9wLWJhciAjbWVudS1zcHJhY2hhdXN3YWhsIGxpIHtcbiAgbWFyZ2luOiAwIDAuMTI1cmVtOyB9XG5cbi50b3AtYmFyICNtZW51LXNwcmFjaGF1c3dhaGwgYSB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzMxMzk0MTtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UtaW47IH1cbiAgLnRvcC1iYXIgI21lbnUtc3ByYWNoYXVzd2FobCBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ5LCA1NywgNjUsIDAuMSk7IH1cblxuLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUge1xuICBib3JkZXI6IDA7IH1cblxuLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgLmhhcy1zdWJtZW51LmlzLWRvd24tYXJyb3cgYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cblxuLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgLmhhcy1zdWJtZW51LmlzLWRvd24tYXJyb3cgPiBhOjphZnRlciB7XG4gIGJvcmRlcjogMDsgfVxuXG4udG9wLWJhciAuZHJvcGRvd24ubWVudTpmaXJzdC1jaGlsZCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2l0ZS1uYXZpZ2F0aW9uIHtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuLnBvc3QtbmF2aWdhdGlvbjo6YmVmb3JlLCAucG9zdC1uYXZpZ2F0aW9uOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxOyB9XG5cbi5wb3N0LW5hdmlnYXRpb246OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLm5hdi1wcmV2aW91cyB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5uYXYtbmV4dCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG5ib2R5I3RpbnltY2Uge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogNzVyZW07XG4gIHBhZGRpbmc6IDEuMjVyZW0gIWltcG9ydGFudDsgfVxuICBib2R5I3RpbnltY2UgYSB7XG4gICAgY29sb3I6ICMxMDUxNmIgIWltcG9ydGFudDsgfVxuXG5AdXNlIFwic2FzczptYXRoXCI7XG4ucGFnaW5hdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiA2NHB4IDAgMTZweCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnaW5hdGlvbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIC5wYWdpbmF0aW9uICoge1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgY29sb3I6ICMzMTM5NDE7XG4gICAgbWFyZ2luOiAwIDhweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOyB9XG4gICAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVyczpub3QoLnByZXYpOm5vdCgubmV4dCkge1xuICAgICAgd2lkdGg6IDIuMTg3NXJlbTtcbiAgICAgIGhlaWdodDogMi4xODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMucHJldiwgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5uZXh0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLnByZXYgc3ZnLCAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLm5leHQgc3ZnIHtcbiAgICAgICAgbWFyZ2luOiAwIDhweDsgfVxuICAgICAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5wcmV2IHBhdGgsIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMubmV4dCBwYXRoIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgICAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5wcmV2OmhvdmVyIHBhdGgsIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMubmV4dDpob3ZlciBwYXRoIHtcbiAgICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLnByZXYgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5uZXh0IHN2ZyB7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgICAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzOm5vdCgubmV4dCk6bm90KC5wcmV2KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5wYWdpbmF0aW9uIGE6bm90KC5wcmV2KTpub3QoLm5leHQpOmhvdmVyLFxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgYmFja2dyb3VuZDogIzEwNTE2YjtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAucGFnaW5hdGlvbiBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzEwNTE2YjsgfVxuXG51bC5wYWdpbmF0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gIHVsLnBhZ2luYXRpb24gbGkge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgdWwucGFnaW5hdGlvbiBsaSA+ICoge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgICAgd2lkdGg6IDEuODc1cmVtO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTI1cmVtO1xuICAgICAgcGFkZGluZzogMC4zMTI1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMzEzOTQxO1xuICAgICAgbWFyZ2luOiAwLjMxMjVyZW07IH1cbiAgICAgIHVsLnBhZ2luYXRpb24gbGkgPiAqOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzMxMzk0MTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgdWwucGFnaW5hdGlvbiBsaSBhIHtcbiAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgdWwucGFnaW5hdGlvbiBsaSAuY3VycmVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxOyB9XG4gICAgICB1bC5wYWdpbmF0aW9uIGxpIC5jdXJyZW50LCB1bC5wYWdpbmF0aW9uIGxpIC5jdXJyZW50IHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4jY29udGFjdC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHotaW5kZXg6IDEwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICNjb250YWN0LW92ZXJsYXk6YmVmb3JlLCAjY29udGFjdC1vdmVybGF5OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgd2hpdGUgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gICAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgei1pbmRleDogMTAxOyB9XG4gICNjb250YWN0LW92ZXJsYXk6YWZ0ZXIge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAjY29udGFjdC1vdmVybGF5IC5kZXNjIHtcbiAgICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjYpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBtYXJnaW46IDE2cHggMCAwIDA7IH1cbiAgI2NvbnRhY3Qtb3ZlcmxheSAuc2Nyb2xsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMTZweCAwO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAvKmRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Ki9cbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNjb250YWN0LW92ZXJsYXkgLnNjcm9sbCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgI2NvbnRhY3Qtb3ZlcmxheS5vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAjY29udGFjdC1vdmVybGF5Lm9wZW4gLnNjcm9sbCB7XG4gICAgICBvdmVyZmxvdzogYXV0bzsgfVxuICAjY29udGFjdC1vdmVybGF5IC5jb250YWN0X3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gICNjb250YWN0LW92ZXJsYXkgaW1nIHtcbiAgICB3aWR0aDogNC4wNjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDMycHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAjY29udGFjdC1vdmVybGF5IGltZyB7XG4gICAgICAgIHdpZHRoOiA1LjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNjb250YWN0LW92ZXJsYXkgaW1nIHtcbiAgICAgICAgd2lkdGg6IDcuNXJlbTsgfSB9XG4gICNjb250YWN0LW92ZXJsYXkgc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIuMjVyZW07XG4gICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgIHRvcDogMTZweDtcbiAgICByaWdodDogMzJweDtcbiAgICB6LWluZGV4OiAxMDI7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNjb250YWN0LW92ZXJsYXkgc3ZnIHtcbiAgICAgICAgdG9wOiAzMnB4O1xuICAgICAgICByaWdodDogMzJweDtcbiAgICAgICAgd2lkdGg6IDMuMzc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDMuMzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjY29udGFjdC1vdmVybGF5IHN2ZyB7XG4gICAgICAgIHRvcDogNjRweDtcbiAgICAgICAgcmlnaHQ6IDY0cHg7IH0gfVxuICAgICNjb250YWN0LW92ZXJsYXkgc3ZnOmhvdmVyIHJlY3Qge1xuICAgICAgZmlsbDogIzEwNTE2YjsgfVxuICAjY29udGFjdC1vdmVybGF5IGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAjY29udGFjdC1vdmVybGF5IHAge1xuICAgIGNvbG9yOiByZ2JhKDQ5LCA1NywgNjUsIDAuNik7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNjb250YWN0LW92ZXJsYXkgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9IH1cbiAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCB7XG4gICAgcGFkZGluZzogMCAxNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA2NHJlbTtcbiAgICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjY29udGFjdC1vdmVybGF5IC5ncmlkIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNjb250YWN0LW92ZXJsYXkgLmdyaWQge1xuICAgICAgICBwYWRkaW5nOiAxNnB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjY29udGFjdC1vdmVybGF5IC5ncmlkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCA+IGRpdiB7XG4gICAgICBmbGV4OiAxIDEgMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAjY29udGFjdC1vdmVybGF5IC5ncmlkID4gZGl2IHtcbiAgICAgICAgICBmbGV4OiAxIDEgNTAlOyB9IH1cbiAgICAjY29udGFjdC1vdmVybGF5IC5ncmlkID4gZGl2Omxhc3Qtb2YtdHlwZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCA+IGRpdjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTsgfSB9XG4gICAgICAjY29udGFjdC1vdmVybGF5IC5ncmlkID4gZGl2Omxhc3Qtb2YtdHlwZSBkaXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCA+IGRpdjpsYXN0LW9mLXR5cGUgZGl2IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4gICAgICAjY29udGFjdC1vdmVybGF5IC5ncmlkID4gZGl2Omxhc3Qtb2YtdHlwZSAuYnV0dG9uLFxuICAgICAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCA+IGRpdjpsYXN0LW9mLXR5cGUgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCA+IGRpdjpsYXN0LW9mLXR5cGUgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiAxMC42NjY2N3B4IDE2cHg7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAjY29udGFjdC1vdmVybGF5IC5ncmlkID4gZGl2Omxhc3Qtb2YtdHlwZSAuYnV0dG9uLFxuICAgICAgICAgICNjb250YWN0LW92ZXJsYXkgLmdyaWQgPiBkaXY6bGFzdC1vZi10eXBlIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyICNjb250YWN0LW92ZXJsYXkgLmdyaWQgPiBkaXY6bGFzdC1vZi10eXBlIC5nZm9ybV9idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9IH1cbiAgI2NvbnRhY3Qtb3ZlcmxheSAuaG9tZV9zdWJ0aXRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfdGVsLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9lbWFpbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cbiAgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfdGVsIHtcbiAgICBmb250LXNpemU6IDIuMzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX3RlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy43NXJlbTsgfSB9XG4gICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2VtYWlsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2VtYWlsIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjA2MjVyZW07IH0gfVxuICAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9hZGRyZXNzIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH0gfVxuICAgICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2FkZHJlc3MgZGl2IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcyBhIHtcbiAgICAgIGNvbG9yOiByZ2JhKDQ5LCA1NywgNjUsIDAuNik7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbmh0bWwuY29udGFjdC1pcy1vcGVuW2RhdGEtd2hhdGlucHV0PSd0b3VjaCddIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7IH1cbiAgaHRtbC5jb250YWN0LWlzLW9wZW5bZGF0YS13aGF0aW5wdXQ9J3RvdWNoJ10gI2NvbnRhY3Qtb3ZlcmxheS5vcGVuIC5zY3JvbGwge1xuICAgIG92ZXJmbG93OiBzY3JvbGw7IH1cblxuLmNhcmQtd3JhcHBlciB7XG4gIG1hcmdpbjogNDBweCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jYXJkLXdyYXBwZXIge1xuICAgICAgbWFyZ2luOiA0OHB4IDA7XG4gICAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLThweDsgfSB9XG4gIC5jYXJkLXdyYXBwZXIgPiAqIHtcbiAgICB3aWR0aDogY2FsYyggNTAlIC0gMTZweCk7XG4gICAgbWFyZ2luOiA4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAuY2FyZC13cmFwcGVyID4gKiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCAzMyUgLSAxNnB4KTsgfSB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgIC5jYXJkLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIzMHB4LCAxZnIpKTtcbiAgICAgIGdyaWQtZ2FwOiAwLjkzNzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jYXJkLXdyYXBwZXIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgICAuY2FyZC13cmFwcGVyIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogLW1zLWdyaWQpIHtcbiAgICAuY2FyZC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLmNhcmQtd3JhcHBlciA+ICoge1xuICAgICAgICBmbGV4OiAwIDEgNDglO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfSB9XG5cbi5jYXJkIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuICAuY2FyZDpob3ZlciAua2FjaGVsLW1ldGEsIC5jYXJkOmhvdmVyIC5rYWNoZWwtbWV0YSBoNSBzdmcge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1haW4tY29sb3IpO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5rYWNoZWwtaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAua2FjaGVsLWltYWdlOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6ICMzMTM5NDE7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOyB9XG4gIC5rYWNoZWwtaW1hZ2U6aG92ZXI6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDAuODsgfVxuICAua2FjaGVsLWltYWdlOmhvdmVyIC5tZXRhIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTA1MTZiOyB9XG4gICAgLmthY2hlbC1pbWFnZTpob3ZlciAubWV0YSwgLmthY2hlbC1pbWFnZTpob3ZlciAubWV0YSBzdmcge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmthY2hlbC1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5rYWNoZWwtaW1hZ2UgLmthY2hlbC1tZXRhIHtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMi41NjI1cmVtO1xuICAgIG1heC13aWR0aDogODUlOyB9XG4gICAgLmthY2hlbC1pbWFnZSAua2FjaGVsLW1ldGEgaDUge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtOyB9XG4gICAgICAua2FjaGVsLWltYWdlIC5rYWNoZWwtbWV0YSBoNSBzdmcge1xuICAgICAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtO1xuICAgICAgICBtaW4td2lkdGg6IDAuNzVyZW07IH1cbiAgICAua2FjaGVsLWltYWdlIC5rYWNoZWwtbWV0YSBpbWcge1xuICAgICAgbWFyZ2luOiAwOyB9XG5cbi5ibG9nIC53cmFwcGVyLS1uZXdzIHtcbiAgZ3JpZC1nYXA6IDE2cHg7IH1cblxuLndyYXBwZXItLW5ld3Mge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tbGVmdDogLTIuNjY2NjdweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMi42NjY2N3B4OyB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgIC53cmFwcGVyLS1uZXdzIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87IH0gfVxuICBAc3VwcG9ydHMgKGRpc3BsYXk6IC1tcy1ncmlkKSB7XG4gICAgLndyYXBwZXItLW5ld3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIC53cmFwcGVyLS1uZXdzIC5jYXJkIHtcbiAgICBib3JkZXItYm90dG9tOiAwLjE4NzVyZW0gc29saWQgdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDEgMSAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC53cmFwcGVyLS1uZXdzIC5jYXJkIHtcbiAgICAgICAgZmxleDogMSAxIDUwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLndyYXBwZXItLW5ld3MgLmNhcmQge1xuICAgICAgICBmbGV4OiAxIDEgMjUlOyB9IH1cbiAgICAud3JhcHBlci0tbmV3cyAuY2FyZDpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjE4NzVyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAgICAgLndyYXBwZXItLW5ld3MgLmNhcmQ6aG92ZXIsIC53cmFwcGVyLS1uZXdzIC5jYXJkOmhvdmVyIC5uZXdzLW1ldGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTA1MTZiOyB9XG4gICAgICAud3JhcHBlci0tbmV3cyAuY2FyZDpob3ZlciAubmV3cy1tZXRhLCAud3JhcHBlci0tbmV3cyAuY2FyZDpob3ZlciAuZGVzY3JpcHRpb24sIC53cmFwcGVyLS1uZXdzIC5jYXJkOmhvdmVyIHNwYW4sIC53cmFwcGVyLS1uZXdzIC5jYXJkOmhvdmVyIGg1IHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLndyYXBwZXItLW5ld3MgaDUsIC53cmFwcGVyLS1uZXdzIC5kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzogMCAxNnB4OyB9XG4gIC53cmFwcGVyLS1uZXdzIGg1IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGNvbG9yOiAjMzEzOTQxO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxuICAud3JhcHBlci0tbmV3cyAubmV3cy1rYWNoZWwtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgLndyYXBwZXItLW5ld3MgLm5ld3Mta2FjaGVsLWltYWdlIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLndyYXBwZXItLW5ld3MgLm5ld3Mta2FjaGVsLWltYWdlIC5uZXdzLW1ldGEge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgIHBhZGRpbmc6IDhweCAxNnB4IDAgMTZweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGNvbG9yOiByZ2JhKDQ5LCA1NywgNjUsIDAuOSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gIC53cmFwcGVyLS1uZXdzIHNwYW4ge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC53cmFwcGVyLS1uZXdzIHNwYW4gc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cblxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSg0OSwgNTcsIDY1LCAwLjMpOyB9XG5cbi5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDY0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAxLjQzNzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uZW1iZWQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZW1iZWQtY29udGFpbmVyIGlmcmFtZSxcbi5lbWJlZC1jb250YWluZXIgb2JqZWN0LFxuLmVtYmVkLWNvbnRhaW5lciBlbWJlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi50b3AtYmFyIC50b3AtYmFyLWlubmVyd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItaW5uZXJ3cmFwcGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuXG4udG9wLWJhciAudG9wLWJhci10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSB7XG4gICAgICB0b3A6IC0zcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSB7XG4gICAgLypcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDExIDE1KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBwYWRkaW5nOiByZW0tY2FsYygxMiAxNCk7IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7cGFkZGluZzogcmVtLWNhbGMoMjAgMzAgMjAgMjApO31cbiAgICAgICAgICAgICovXG4gICAgcGFkZGluZzogMC4zMTI1cmVtIDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDJyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTZweDsgfSB9XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSBpbWcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiA5LjM3NXJlbTtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSBhIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiA3LjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAgICAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSBhIGltZyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSBhIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiAxMC42MjVyZW07XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQ1cHgpOyB9IH1cbiAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSBhOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTc1cHg7XG4gICAgICBoZWlnaHQ6IDE3NXB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYTpiZWZvcmUge1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIHdpZHRoOiAxNzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDE3NXB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLTU3JSwgLTU1JSk7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSBhOmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgtNzMlLCAtNzMlKTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIGE6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC00NSUsIC00NSUpOyB9IH1cblxuLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGZsZXg6IGluaGVyaXQ7IH1cblxuLnRvcC1iYXIgLm1vYmlsZS1wYXRjaGVzIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50b3AtYmFyIC5tb2JpbGUtcGF0Y2hlcyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnRvcC1iYXIgLm1vYmlsZS1wYXRjaGVzIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tc2hvcC1jb2xvcik7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAuNzEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDE2cHggOHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50b3AtYmFyIC5tb2JpbGUtcGF0Y2hlcyBhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLnRvcC1iYXIgLm1vYmlsZS1wYXRjaGVzIGEgc3ZnIHtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cbiAgLnRvcC1iYXIgLm1vYmlsZS1wYXRjaGVzIGEucGF0Y2gtZWd1aWNoZXQge1xuICAgIGNvbG9yOiAjZmY2YjZiO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cblxuLnNlcnZpY2VuYXYsIC5zZXJ2aWNlbmF2ICoge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLnNlcnZpY2VuYXYge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtYXJnaW46IDEuMjVyZW0gMDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnNlcnZpY2VuYXYge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi5zZXJ2aWNlbmF2IC5zZXJ2aWNlbmF2LXNlYXJjaCB7XG4gIG1hcmdpbjogMCAxLjg3NXJlbSAwIDA7XG4gIG1heC13aWR0aDogMTEuMjVyZW07XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5zZXJ2aWNlbmF2IC5zZXJ2aWNlbmF2LWxvZ29zID4gKiB7XG4gIG1hcmdpbi1sZWZ0OiAxLjg3NXJlbTsgfVxuXG4uc2VydmljZW5hdiAuc2VydmljZW5hdi1sYW5nc3dpdGNoIGxpIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5zZXJ2aWNlbmF2IC5zZXJ2aWNlbmF2LWxhbmdzd2l0Y2ggbGkgYSB7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNERkRGREY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuc2VydmljZW5hdiAuc2VydmljZW5hdi1sYW5nc3dpdGNoIGxpIGE6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMzMTM5NDE7IH1cblxuLnNlcnZpY2VuYXYgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3BhY2l0eTogMC41O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBtYXJnaW46IDAgMC4yNXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAuc2VydmljZW5hdiAuc2VydmljZW5hdi1sYW5nc3dpdGNoIGEgaW1nIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuICAuc2VydmljZW5hdiAuc2VydmljZW5hdi1sYW5nc3dpdGNoIGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLnBhZ2UtdGVtcGxhdGUtYW5saWVnZW4gLmVudHJ5LXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5hbmxpZWdlbi1saXN0IHNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5hbmxpZWdlbi1saXN0IGgzLCAuYW5saWVnZW4tbGlzdCAuY2hhci13cmFwcGVyOmJlZm9yZSB7XG4gIGNvbG9yOiAjMzEzOTQxOyB9XG5cbi5hbmxpZWdlbi1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuYW5saWVnZW4taGVhZGVyID4gKiB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gIC5hbmxpZWdlbi1oZWFkZXIgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogMTUuNjI1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAzMnB4IGF1dG8gMCBhdXRvOyB9XG4gICAgLmFubGllZ2VuLWhlYWRlciAuaW5wdXQtZ3JvdXAgaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmFubGllZ2VuLWhlYWRlciAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgd2lkdGg6IDEuMzc1cmVtO1xuICAgIGhlaWdodDogMS4zNzVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOyB9XG4gICAgLmFubGllZ2VuLWhlYWRlciAuaW5wdXQtZ3JvdXAtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgLmFubGllZ2VuLWhlYWRlciAuaW5wdXQtZ3JvdXAtYnV0dG9uIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgfVxuXG4uY2hhcm1lbnUge1xuICBjb2xvcjogIzMxMzk0MTtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5jaGFybWVudSA+ICoge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDIuMTI1cmVtO1xuICAgIGhlaWdodDogMi4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjQpOyB9XG4gIC5jaGFybWVudSBhIHtcbiAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgICAuY2hhcm1lbnUgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5jaGFyLXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAzMnB4OyB9XG4gIC5jaGFyLXdyYXBwZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogIzMxMzk0MTtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtY2hhcik7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5jaGFyLXdyYXBwZXI6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4OyB9IH1cbiAgLmNoYXItd3JhcHBlciAuYnV0dG9uLCAuY2hhci13cmFwcGVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuY2hhci13cmFwcGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5jaGFyLXdyYXBwZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmNoYXItd3JhcHBlciAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjYyNXJlbTtcbiAgICBtYXJnaW46IDA7IH1cblxuLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSB7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuYW5saWVnZW46bm90KC5yZXN1bHRzLWl0ZW0pLmV2ZW4ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTgxLCAxODAsIDE2OCwgMC4xKTsgfVxuICAuYW5saWVnZW46bm90KC5yZXN1bHRzLWl0ZW0pIC5hbmxpZWdlbi10aXRsZS13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxMC42NjY2N3B4IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMSAxIDc1JTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgIC5hbmxpZWdlbjpub3QoLnJlc3VsdHMtaXRlbSkgLmFubGllZ2VuLXRpdGxlLXdyYXBwZXIgPiAqIHtcbiAgICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSAuYW5saWVnZW4tdGl0bGUtd3JhcHBlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgICAgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSAuYW5saWVnZW4tdGl0bGUtd3JhcHBlciA+ICoge1xuICAgICAgICAgIGZsZXg6IDEgMSA1MCU7IH0gfVxuICAgIC5hbmxpZWdlbjpub3QoLnJlc3VsdHMtaXRlbSkgLmFubGllZ2VuLXRpdGxlLXdyYXBwZXIgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsgfVxuICAgICAgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSAuYW5saWVnZW4tdGl0bGUtd3JhcHBlciBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgICAgICAuYW5saWVnZW46bm90KC5yZXN1bHRzLWl0ZW0pIC5hbmxpZWdlbi10aXRsZS13cmFwcGVyIGEge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA4cHg7IH0gfVxuICAuYW5saWVnZW46bm90KC5yZXN1bHRzLWl0ZW0pIC5hbmxpZWdlbi1saW5rLXdyYXBwZXIge1xuICAgIGZsZXg6IDEgMSAyNSU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSAuYW5saWVnZW4tbGluay13cmFwcGVyIC5idXR0b24sIC5hbmxpZWdlbjpub3QoLnJlc3VsdHMtaXRlbSkgLmFubGllZ2VuLWxpbmstd3JhcHBlciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSAuYW5saWVnZW4tbGluay13cmFwcGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuYW5saWVnZW46bm90KC5yZXN1bHRzLWl0ZW0pIC5hbmxpZWdlbi1saW5rLXdyYXBwZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSAuYW5saWVnZW4tbGluay13cmFwcGVyIC5nZm9ybV9idXR0b24ge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH1cblxuLnBhcnRuZXItaW5uZXJ3cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogMTVweDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjYwcHgsIDFmcikpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiAtbXMtZ3JpZCkge1xuICAgIC5wYXJ0bmVyLWlubmVyd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAucGFydG5lci1pbm5lcndyYXBwZXIgPiAqIHtcbiAgICAgICAgZmxleDogMSAxIDMzLjMzJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhcnRuZXItaW5uZXJ3cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ4cHg7IH0gfVxuICAucGFydG5lci1pbm5lcndyYXBwZXIgPiAqIHtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgLnBhcnRuZXItaW5uZXJ3cmFwcGVyIC5wYXJ0bmVyLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAucGFydG5lci1pbm5lcndyYXBwZXIgLnBhcnRuZXItaXRlbSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE4Ljc1cmVtOyB9IH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC5wYXJ0bmVyLWlubmVyd3JhcHBlciAucGFydG5lci1pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAgIC5wYXJ0bmVyLWlubmVyd3JhcHBlciAucGFydG5lci1pdGVtIGltZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgLnBhcnRuZXItaW5uZXJ3cmFwcGVyIC5wYXJ0bmVyLWl0ZW0gcCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgY29sb3I6IHJnYmEoNDksIDU3LCA2NSwgMC42KTsgfVxuICAgIC5wYXJ0bmVyLWlubmVyd3JhcHBlciAucGFydG5lci1pdGVtIGg2LCAucGFydG5lci1pbm5lcndyYXBwZXIgLnBhcnRuZXItaXRlbSAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5wYXJ0bmVyLWlubmVyd3JhcHBlciAucGFydG5lci1pdGVtIC5lbnRyeS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAgIC5wYXJ0bmVyLWlubmVyd3JhcHBlciAucGFydG5lci1pdGVtIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH1cbiAgICAgIC5wYXJ0bmVyLWlubmVyd3JhcHBlciAucGFydG5lci1pdGVtIHNwYW4gc3ZnIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICAucGFydG5lci1pbm5lcndyYXBwZXIgLnBhcnRuZXItaXRlbSBzcGFuIHBhdGgge1xuICAgICAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgICAucGFydG5lci1pbm5lcndyYXBwZXIgLnBhcnRuZXItaXRlbTpob3ZlciBzcGFuIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIC5wYXJ0bmVyLWlubmVyd3JhcHBlciAucGFydG5lci1pdGVtIC5pbm5lci1tZXRhIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5tYWdhemluLWlubmVyd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gIC5tYWdhemluLWlubmVyd3JhcHBlciA+ICoge1xuICAgIGZsZXg6IDEgMSAzMy4zMyU7IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgLm1hZ2F6aW4taW5uZXJ3cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMTZweDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDE2MHB4LCAxZnIpKTsgfSB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogLW1zLWdyaWQpIHtcbiAgICAubWFnYXppbi1pbm5lcndyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1hZ2F6aW4taW5uZXJ3cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ4cHg7IH0gfVxuICAubWFnYXppbi1pbm5lcndyYXBwZXIgLm1hZ2F6aW4taXRlbSB7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1hZ2F6aW4taW5uZXJ3cmFwcGVyIC5tYWdhemluLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAubWFnYXppbi1pbm5lcndyYXBwZXIgLm1hZ2F6aW4taXRlbSB7XG4gICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgLm1hZ2F6aW4taW5uZXJ3cmFwcGVyIC5tYWdhemluLWl0ZW0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLm1hZ2F6aW4taW5uZXJ3cmFwcGVyIC5tYWdhemluLWl0ZW0gaW1nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNERkRGREY7XG4gICAgICBib3gtc2hhZG93OiAzcHggM3B4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgIC5tYWdhemluLWlubmVyd3JhcHBlciAubWFnYXppbi1pdGVtIGg2LCAubWFnYXppbi1pbm5lcndyYXBwZXIgLm1hZ2F6aW4taXRlbSAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5tYWdhemluLWlubmVyd3JhcHBlciAubWFnYXppbi1pdGVtIC5lbnRyeS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAgIC5tYWdhemluLWlubmVyd3JhcHBlciAubWFnYXppbi1pdGVtOmhvdmVyIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMxMzk0MTsgfVxuXG4uc2VhcmNoLXJlc3VsdHMtd3JhcHBlciB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnNlYXJjaC1yZXN1bHRzLXdyYXBwZXIgLmRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjYpOyB9XG4gIC5zZWFyY2gtcmVzdWx0cy13cmFwcGVyIC5jcnVtYiB7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlYXJjaC1yZXN1bHRzLXdyYXBwZXIgLmNydW1iIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAuc2VhcmNoLXJlc3VsdHMtd3JhcHBlciBhIHtcbiAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgICAuc2VhcmNoLXJlc3VsdHMtd3JhcHBlciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gIC5zZWFyY2gtcmVzdWx0cy13cmFwcGVyIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciBsaSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuc2VhcmNoLXJlc3VsdHMtd3JhcHBlciAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5zZWFyY2gtcmVzdWx0cy13cmFwcGVyIC5hcC1pdGVtIHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNERkRGREY7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTsgfVxuICAuaW5wdXQtZ3JvdXAgaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5pbnB1dC1ncm91cCBpbnB1dDpub3QoW3R5cGU9c3VibWl0XSk6Zm9jdXMge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIGZsZXg6IHVuc2V0OyB9XG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEuNTYyNXJlbTtcbiAgICBoZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICBjb2xvcjogIzMxMzk0MTtcbiAgICBtYXJnaW4tbGVmdDogMC4xODc1cmVtO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogIzEwNTE2YjsgfVxuICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0IHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24gc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSB0cmFuc2xhdGUoMTJweCwgN3B4KTsgfVxuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24gc3ZnOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5idXR0b24sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24ge1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMxMzk0MTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG4gIC5idXR0b246aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cblxuLmluZm9ib3gtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMxMzk0MTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaW5mb2JveC13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH0gfVxuICAuaW5mb2JveC13cmFwcGVyIGg0IHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmluZm9ib3gtd3JhcHBlciBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gIC5pbmZvYm94LXdyYXBwZXIgYSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgLmluZm9ib3gtd3JhcHBlciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLmluZm9ib3gtd3JhcHBlciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5pbmZvYm94LXdyYXBwZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cbiAgLmluZm9ib3gtd3JhcHBlciAuaW5uZXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTZweCAzMnB4IDE2cHggMTZweDsgfVxuICAuaW5mb2JveC13cmFwcGVyIC5pbmZvYm94LWNsb3NlIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICBwYWRkaW5nOiAxNnB4OyB9XG4gICAgLmluZm9ib3gtd3JhcHBlciAuaW5mb2JveC1jbG9zZTpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOyB9XG5cbltkYXRhLWZhbmN5Ym94XSBwaWN0dXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIFtkYXRhLWZhbmN5Ym94XSBwaWN0dXJlOmJlZm9yZSwgW2RhdGEtZmFuY3lib3hdIHBpY3R1cmU6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsgfVxuICBbZGF0YS1mYW5jeWJveF0gcGljdHVyZTpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2U7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDsgfVxuICBbZGF0YS1mYW5jeWJveF0gcGljdHVyZTphZnRlciB7XG4gICAgY29udGVudDogXCIrXCI7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsO1xuICAgIHdpZHRoOiAyLjVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjY1KSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBib3JkZXItcmFkaXVzOiAyLjVyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgW2RhdGEtZmFuY3lib3hdIHBpY3R1cmU6aG92ZXI6YWZ0ZXIsIFtkYXRhLWZhbmN5Ym94XSBwaWN0dXJlOmhvdmVyOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG5maWd1cmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBmaWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNiwgODEsIDEwNywgMC4xKTtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgY29sb3I6ICMzMTM5NDE7IH1cblxuLnBhdGNoIHtcbiAgcGFkZGluZzogOHB4IDE2cHggOHB4IDE2cHg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kOiAjMTA1MTZiO1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICB0b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGF0Y2gge1xuICAgICAgcGFkZGluZzogMjFweCAxNnB4IDE2cHggMTZweDsgfSB9XG4gIC5wYXRjaDpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAzcHggc29saWQgI2ZmZmIwMDsgfVxuICAucGF0Y2ggc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB3aWR0aDogMS4xMjVyZW07XG4gICAgaGVpZ2h0OiAxLjEyNXJlbTsgfVxuICAucGF0Y2g6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLmtvcGZiaWxkLXdyYXBwZXIgLnBhdGNoLWVzaG9wIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2hvcC1jb2xvcik7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAua29wZmJpbGQtd3JhcHBlciAucGF0Y2gtZXNob3Age1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi5rb3BmYmlsZC13cmFwcGVyIC5wYXRjaC1jb250YWN0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2hvcC1jb2xvcik7IH1cblxuLmtvcGZiaWxkLXdyYXBwZXIgLnBhdGNoLWVndWljaGV0IHtcbiAgYmFja2dyb3VuZDogI2ZmNmI2YjtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAua29wZmJpbGQtd3JhcHBlciAucGF0Y2gtZWd1aWNoZXQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmtvcGZiaWxkLXdyYXBwZXIgLnBhdGNoLWVndWljaGV0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4ua29wZmJpbGQtd3JhcHBlciAucGF0Y2gtZXh0cmEge1xuICBib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAua29wZmJpbGQtd3JhcHBlciAucGF0Y2gtZXh0cmEge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi8qKioqKioqKioqKiogRU1CRUQgUExVR0lOICoqKioqKioqKioqKi9cbi5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMDUxNmI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAzMnB4OyB9IH1cbiAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE2LCA4MSwgMTA3LCAwLjcpOyB9XG4gICAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyOmhvdmVyICoge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyICoge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBoeXBoZW5zOiBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciAqIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfSB9XG4gIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciBoMywgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIC5jaGFyLXdyYXBwZXI6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIGgzLCAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgLmNoYXItd3JhcHBlcjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciBhIHtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjNlbTtcbiAgICB0ZXh0LWRlY29yYXRpb24tc3R5bGU6IGRvdHRlZDtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAxcHg7IH1cbiAgICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIGltZyB7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDMwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfSB9XG4gIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lcltkYXRhLXR5cGU9XCJlbWJlZC10d2l0dGVyXCJdIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMCU7IH1cbiAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIGlucHV0IHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNzUpO1xuICAgIGJvcmRlcjogMDsgfVxuICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMnB4OyB9IH1cbiAgICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgbGFiZWwgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgbGFiZWwgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgLmVtYmVkLXByaXZhY3ktaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciAuZW1iZWQtcHJpdmFjeS1sb2dvIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4ucmVzcG9uc2l2ZS1pbWFnZW1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnJlc3BvbnNpdmUtaW1hZ2VtYXAgLmltYXAtaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5yZXNwb25zaXZlLWltYWdlbWFwIC5pbWFwLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLyogbnVyIHNpY2h0YmFyLCBuaWNodCBrbGlja2VuLWJsb2NrZW4gKi8gfVxuXG4ucmVzcG9uc2l2ZS1pbWFnZW1hcCAuaW1hcC1zaGFwZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAxNjAsIDI1NSwgMC4yNSk7XG4gIG91dGxpbmU6IDJweCBzb2xpZCByZ2JhKDAsIDE2MCwgMjU1LCAwLjc1KTtcbiAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG5cbi5yZXNwb25zaXZlLWltYWdlbWFwIC5pbWFwLXNoYXBlLS1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA5OTk5cHg7IH1cblxuLnRvcC1iYXItcmlnaHQgLnBhZ2UtaXRlbS0xMTM1NiwgLnRvcC1iYXItcmlnaHQgLnBhZ2UtaXRlbS0xMTU5MyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpLnBhZ2UtaXRlbS0xMTU5Myxcbi5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiBsaS5wYWdlLWl0ZW0tMTEzNTYge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJvZHkud29vY29tbWVyY2UgLm1haW4tY29udGFpbmVyIGEsIGJvZHkud29vY29tbWVyY2UgLm1haW4tY29udGFpbmVyIC5iYWNrIHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS1zaG9wLWNvbG9yKTsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC5tYWluLWNvbnRhaW5lciAuY2hpbGRuYXYgYTpub3QoLmJhY2spIHtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIGJvZHkud29vY29tbWVyY2UgLm1haW4tY29udGFpbmVyIC5jaGlsZG5hdiBhOm5vdCguYmFjaykge1xuICAgICAgY29sb3I6ICMzMTM5NDE7IH0gfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC5tYWluLWNvbnRhaW5lciAuYmFjazpob3ZlciwgYm9keS53b29jb21tZXJjZSAubWFpbi1jb250YWluZXIgLmJhY2s6aG92ZXIgc3ZnIHtcbiAgY29sb3I6ICNGRkZGRkY7IH1cblxuYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbixcbmJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5nZm9ybV9idXR0b24sXG5ib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdCxcbmJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5hbHQuZ2Zvcm1fYnV0dG9uLFxuLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmFsdC5nZm9ybV9idXR0b24sXG5ib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24sXG5ib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5nZm9ybV9idXR0b24sXG4uZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5nZm9ybV9idXR0b24sXG5ib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0LFxuYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uYWx0Lmdmb3JtX2J1dHRvbixcbi5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmFsdC5nZm9ybV9idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaG9wLWNvbG9yKTtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbjpkaXNhYmxlZCxcbiAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmdmb3JtX2J1dHRvbjpkaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmdmb3JtX2J1dHRvbjpkaXNhYmxlZCwgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5nZm9ybV9idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSwgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbi5kaXNhYmxlZCxcbiAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmRpc2FibGVkLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6ZGlzYWJsZWQsXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkLFxuICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQuZGlzYWJsZWQsXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5hbHQuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLFxuICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkLFxuICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5nZm9ybV9idXR0b246ZGlzYWJsZWQsXG4gIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmRpc2FibGVkLFxuICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5kaXNhYmxlZC5nZm9ybV9idXR0b24sXG4gIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdDpkaXNhYmxlZCxcbiAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdC5kaXNhYmxlZCxcbiAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbiB7XG4gICAgb3BhY2l0eTogMC42OyB9XG4gICAgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbjpkaXNhYmxlZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkLCBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uOmRpc2FibGVkOmhvdmVyLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5nZm9ybV9idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5nZm9ybV9idXR0b246ZGlzYWJsZWQ6aG92ZXIsIGJvZHkud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5nZm9ybV9idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSwgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5nZm9ybV9idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLCBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmRpc2FibGVkLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5kaXNhYmxlZC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5kaXNhYmxlZC5nZm9ybV9idXR0b24sIGJvZHkud29vY29tbWVyY2UgYS5idXR0b24uZGlzYWJsZWQ6aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmRpc2FibGVkLmdmb3JtX2J1dHRvbjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmRpc2FibGVkLmdmb3JtX2J1dHRvbjpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdDpkaXNhYmxlZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdDpkaXNhYmxlZDpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZDpob3ZlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZDpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdC5kaXNhYmxlZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdC5kaXNhYmxlZDpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbjpob3ZlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbjpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246ZGlzYWJsZWQsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uZ2Zvcm1fYnV0dG9uOmRpc2FibGVkLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246ZGlzYWJsZWQ6aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uZ2Zvcm1fYnV0dG9uOmRpc2FibGVkOmhvdmVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmdmb3JtX2J1dHRvbjpkaXNhYmxlZDpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uZGlzYWJsZWQsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uZGlzYWJsZWQ6aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uOmhvdmVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmRpc2FibGVkLmdmb3JtX2J1dHRvbjpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmRpc2FibGVkLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWQsXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmRpc2FibGVkOmhvdmVyLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWQ6aG92ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZDpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0LmRpc2FibGVkLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmFsdC5kaXNhYmxlZC5nZm9ybV9idXR0b24sXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0LmRpc2FibGVkOmhvdmVyLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmFsdC5kaXNhYmxlZC5nZm9ybV9idXR0b246aG92ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaG9wLWNvbG9yKTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIGJvZHkud29vY29tbWVyY2UgYS5idXR0b246aG92ZXIsXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5nZm9ybV9idXR0b246aG92ZXIsIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5nZm9ybV9idXR0b246aG92ZXIsXG4gIGJvZHkud29vY29tbWVyY2UgYS5idXR0b24uYWx0OmhvdmVyLFxuICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuYWx0Lmdmb3JtX2J1dHRvbjpob3ZlcixcbiAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmFsdC5nZm9ybV9idXR0b246aG92ZXIsXG4gIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbjpob3ZlcixcbiAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uZ2Zvcm1fYnV0dG9uOmhvdmVyLFxuICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5nZm9ybV9idXR0b246aG92ZXIsXG4gIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5hbHQ6aG92ZXIsXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmFsdC5nZm9ybV9idXR0b246aG92ZXIsXG4gIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmFsdC5nZm9ybV9idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTM5NDE7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuYm9keS53b29jb21tZXJjZSAud2lkZ2V0X3Nob3BwaW5nX2NhcnQge1xuICBtYXJnaW46IDMycHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNERkRGREY7IH1cblxuYm9keS53b29jb21tZXJjZSAuc2t1X3dyYXBwZXIsIGJvZHkud29vY29tbWVyY2UgLnBvc3RlZF9pbiwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4ud29vY29tbWVyY2UtZXJyb3IgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgfVxuICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gICAgd2lkdGg6IGNhbGMoIDEwMCUgLSAxNnB4KSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogOHB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMjMsIDIyMywgMjIzLCAwLjM1KTtcbiAgICBwYWRkaW5nOiA4cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qge1xuICAgICAgICB3aWR0aDogY2FsYyggMzMuMzMlIC0gMTZweCkgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qge1xuICAgICAgICB3aWR0aDogY2FsYyggMjUlIC0gMTZweCkgIWltcG9ydGFudDsgfSB9XG4gICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Q6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCBwOmVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCBhLmJ1dHRvbixcbiAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuZ2Zvcm1fd3JhcHBlciBhLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgYS5nZm9ybV9idXR0b24ge1xuICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgKyAxNnB4KTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC04cHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4OyB9XG4gICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgaDIud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSB7XG4gICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0OmhvdmVyIGEuYnV0dG9uLFxuICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0OmhvdmVyIC5nZm9ybV93cmFwcGVyIGEuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdDpob3ZlciBhLmdmb3JtX2J1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzOTQxOyB9XG5cbi5zaW5nbGUtcHJvZHVjdCAubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYm9keS53b29jb21tZXJjZS1wYWdlLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0IHtcbiAgZGlzcGxheTogZmxleDsgfVxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3QgLnByb2R1Y3QgcC5wcmljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMC4zNzVyZW07XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJzsgfVxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3QgLnByb2R1Y3QgZGl2Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxNi4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDMycHg7XG4gICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIGJvZHkud29vY29tbWVyY2UtcGFnZS5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdCBkaXYud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5IGZpZ3VyZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjREZERkRGOyB9XG4gIGJvZHkud29vY29tbWVyY2UtcGFnZS5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdCBkaXYuc3VtbWFyeSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxubGkud2NfcGF5bWVudF9tZXRob2QucGF5bWVudF9tZXRob2Rfb2dvbmUgbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgbGkud2NfcGF5bWVudF9tZXRob2QucGF5bWVudF9tZXRob2Rfb2dvbmUgbGFiZWwgaW1nIHtcbiAgICB3aWR0aDogODBweDsgfVxuXG4jY3VzdG9tZXJfZGV0YWlscyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiAxNnB4IDMycHg7IH1cbiAgI2N1c3RvbWVyX2RldGFpbHMgLmNvbC0xIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAjY3VzdG9tZXJfZGV0YWlscyAuY29sLTIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI2N1c3RvbWVyX2RldGFpbHMgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzX19maWVsZC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICNjdXN0b21lcl9kZXRhaWxzIC5hZGRyZXNzLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAjY3VzdG9tZXJfZGV0YWlscyAjYmlsbGluZ19jb21wYW55X2ZpZWxkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAjY3VzdG9tZXJfZGV0YWlscyAjYmlsbGluZ19wb3N0Y29kZV9maWVsZCxcbiAgICAjY3VzdG9tZXJfZGV0YWlscyAjYmlsbGluZ19jaXR5X2ZpZWxkLFxuICAgICNjdXN0b21lcl9kZXRhaWxzICNiaWxsaW5nX2NvdW50cnlfZmllbGQge1xuICAgICAgd2lkdGg6IDMwJTsgfVxuICAgICNjdXN0b21lcl9kZXRhaWxzICNiaWxsaW5nX2VtYWlsX2ZpZWxkLFxuICAgICNjdXN0b21lcl9kZXRhaWxzICNiaWxsaW5nX3Bob25lX2ZpZWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgI2N1c3RvbWVyX2RldGFpbHMgLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDM5cHg7IH1cbiAgICAjY3VzdG9tZXJfZGV0YWlscyAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgICAgaGVpZ2h0OiAzOXB4OyB9XG4gICAgICAjY3VzdG9tZXJfZGV0YWlscyAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4OyB9XG4gICAgICAjY3VzdG9tZXJfZGV0YWlscyAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICAgIGhlaWdodDogMzVweDsgfVxuXG4jb3JkZXJfcmV2aWV3X2hlYWRpbmcsXG4jb3JkZXJfcGF5bWVudF9oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMzJweDsgfVxuXG4ud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ud29vY29tbWVyY2Utb3JkZXItZGV0YWlscy10aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAud29vY29tbWVyY2Utb3JkZXItZGV0YWlscy10aXRsZSBidXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbmJvZHkud29vY29tbWVyY2UtY2hlY2tvdXQgLnNob3BfdGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uY2FydF90b3RhbHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNhcnRfdG90YWxzIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi53b29jb21tZXJjZS1jYXJ0IC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IGEuY2hlY2tvdXQtYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2hlY2tvdXQtb3RoZXIge1xuICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnOyB9XG5cbi53b29jb21tZXJjZSAud2lkZ2V0X3Nob3BwaW5nX2NhcnQgLmNhcnRfbGlzdCBsaSBhLnJlbW92ZSwgLndvb2NvbW1lcmNlLndpZGdldF9zaG9wcGluZ19jYXJ0IC5jYXJ0X2xpc3QgbGkgYS5yZW1vdmUge1xuICBsaW5lLWhlaWdodDogMC43MzsgfVxuXG4ud29vY29tbWVyY2UgdWwuY2FydF9saXN0IGxpIGltZywgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RfbGlzdF93aWRnZXQgbGkgaW1nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcywgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzLCAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIHtcbiAgYm9yZGVyLWJvdHRvbTogMHB4OyB9XG5cbi53b29jb21tZXJjZSAjb3JkZXJfcmV2aWV3IC5sZWdhbCB7XG4gIG1hcmdpbjogMTZweCAwOyB9XG4gIC53b29jb21tZXJjZSAjb3JkZXJfcmV2aWV3IC5sZWdhbCBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveCB7XG4gIG1hcmdpbi1yaWdodDogMjBweDsgfVxuXG4uYXJjaGl2LXZpZXcgaDIsIC5hcmNoaXYtdmlldyBoMiBhIHtcbiAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpOyB9XG5cbi5hcmNoaXYtdmlldyAuZ3JpZC13cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiA0NC41cmVtOyB9XG5cbi5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNERkRGREY7XG4gIHBhZGRpbmc6IDE2cHggMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDE2cHggMDsgfSB9XG4gIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtIDA7IH1cblxuLnBhcmVudC1uZXdzYXJjaGl2IC53cmFwcGVyLS1uZXdzIHtcbiAgZ3JpZC1nYXA6IDE2cHg7IH1cblxuLnNpbmdsZSAucG9zdC10aHVtYi13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2luZ2xlIC5iYWNrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDE2cHggMCAxNnB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNpbmdsZSBoZWFkZXIgLmJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc2luZ2xlIC5pbm5lcm1ldGEtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtNC4zNzVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IC0zLjc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5zaW5nbGUgLmlubmVybWV0YS13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5zaW5nbGUgLmlubmVybWV0YS13cmFwcGVyIHAge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjkzNzVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zcmVndWxhcicsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnNpbmdsZSAuaW5uZXJtZXRhLXdyYXBwZXIgcCB7XG4gICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5zaW5nbGUgLmlubmVybWV0YS13cmFwcGVyIGEge1xuICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgLnNpbmdsZSAuaW5uZXJtZXRhLXdyYXBwZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2luZ2xlIC5pbm5lcm1ldGEtd3JhcHBlciAuZGF0ZSB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC5zaW5nbGUgLmlubmVybWV0YS13cmFwcGVyIC5wcmludCBzdmcge1xuICAgIG1hcmdpbjogMCAwLjI1cmVtIDAgMDsgfVxuICAuc2luZ2xlIC5pbm5lcm1ldGEtd3JhcHBlciAuc2hhcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG4gICAgLnNpbmdsZSAuaW5uZXJtZXRhLXdyYXBwZXIgLnNoYXJlIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAuc2luZ2xlIC5pbm5lcm1ldGEtd3JhcHBlciAuc2hhcmUgYS5mYWNlYm9vayB7XG4gICAgICAgIG1hcmdpbjogMCAwLjE4NzVyZW07IH1cblxuLyoqKioqKiBQUklOVCBTVFlMRVNIRUVUICoqKioqKioqKi9cbkBtZWRpYSBwcmludCB7XG4gIC50b3AtYmFyLXJpZ2h0LFxuICAudGl0bGUtYmFyLFxuICAua29wZmJpbGQtd3JhcHBlcixcbiAgLnNpdGUtaGVhZGVyOmFmdGVyLFxuICAuc2lkZWJhcixcbiAgLmlubmVybWV0YS13cmFwcGVyLFxuICAuZm9vdGVyLFxuICAuY2FyZC13cmFwcGVyIGltZyxcbiAgLmZsZXhpYmxlLWZvcm0td3JhcHBlcixcbiAgLmZsZXhpYmxlLW9lbWJlZC13cmFwcGVyLFxuICAuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyLFxuICAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyLFxuICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIsXG4gIC5hcC10aHVtYiBhOmFmdGVyLFxuICAuZmlsdGVyLXdyYXBwZXIsXG4gIC5hbmxpZWdlbi1oZWFkZXIsXG4gICNjb250YWN0LW92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBpbWcge1xuICAgIGZpbHRlcjogZ3JleXNjYWxlKDEwMCUpICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSBhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA3LjE4NzVyZW07IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIGE6YmVmb3JlLCAudG9wLWJhciAudG9wLWJhci10aXRsZSBhOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAudG9wLWJhciAudG9wLWJhci1pbm5lcndyYXBwZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIGgxLmVudHJ5LXRpdGxlLCAjY29udGFjdC1vdmVybGF5IC5lbnRyeS10aXRsZS5jb250YWN0X3RpdGxlLCAjY29udGFjdC1vdmVybGF5IC5lbnRyeS10aXRsZS5sYXJnZV90ZWwsICNjb250YWN0LW92ZXJsYXkgLmVudHJ5LXRpdGxlLmxhcmdlX2VtYWlsLCAjY29udGFjdC1vdmVybGF5IC5lbnRyeS10aXRsZS5sYXJnZV9hZGRyZXNzIHtcbiAgICBmb250LXNpemU6IDI2cHQ7IH1cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5mbGV4aWJsZS1saW5rcy13cmFwcGVyIC5idXR0b24tZ3JvdXAsIC5mbGV4aWJsZS1saW5rcy13cmFwcGVyIC5idXR0b24tZ3JvdXAgbGksIC5mbGV4aWJsZS1saW5rcy13cmFwcGVyIC5idXR0b24tZ3JvdXAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuLyogUGxhY2Vob2xkZXIgKi9cbi50b3AtYmFyIC5jaGlsZG5hdiA+IGxpID4gYSwgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gYSwgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCBhLCAud3JhcHBlci0tbmV3cyAubmV3cy1rYWNoZWwtaW1hZ2UgLm5ld3MtbWV0YSwgLnRvcC1iYXIgLmNoaWxkbmF2LCAuYW5saWVnZW4tbGlzdCBoMywgLmNoYXJtZW51LCAuY2hhci13cmFwcGVyOmJlZm9yZSwgLmhvbWUgLmhvbWVfc3VidGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5yZXN1bHRzLWl0ZW0gdWwsIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciB1bCwgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBkaXYgdWwge1xuICBtYXJnaW46IDE2cHggMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5yZXN1bHRzLWl0ZW0gdWwgbGksIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciB1bCBsaSwgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBkaXYgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInO1xuICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJlc3VsdHMtaXRlbSB1bCBsaSwgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIHVsIGxpLCAuZmxleGlibGUtaW5mb2JveC13cmFwcGVyIGRpdiB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9IH1cbiAgICAucmVzdWx0cy1pdGVtIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCksIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciB1bCBsaTpub3QoOmxhc3QtY2hpbGQpLCAuZmxleGlibGUtaW5mb2JveC13cmFwcGVyIGRpdiB1bCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgLnJlc3VsdHMtaXRlbSB1bCBsaTpiZWZvcmUsIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciB1bCBsaTpiZWZvcmUsIC5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIgZGl2IHVsIGxpOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEuODc1cmVtO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMicgaGVpZ2h0PScxMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbD0nY3VycmVudENvbG9yJyBmaWxsLW9wYWNpdHk9JzAuMjUnIGQ9J003LjU4NyAzLjk1TDUuMDUgMS40MTUgNi40NjYgMGw0Ljk1IDQuOTVMNi40NjUgOS45IDUuMDUgOC40ODcgNy41ODcgNS45NSAwIDUuOTUxdi0yeicgZmlsbC1ydWxlPSdldmVub2RkJy8lM0UlM0Mvc3ZnJTNFXCIpIGxlZnQgOHB4IG5vLXJlcGVhdDsgfVxuICAgIC5yZXN1bHRzLWl0ZW0gdWwgbGkgdWwsIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciB1bCBsaSB1bCwgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBkaXYgdWwgbGkgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5hbmxpZWdlbi1saXN0LCAuaG9tZSAud3JhcHBlci0tbnVldHpsaWNoZXMsIC5ob21lIC53cmFwcGVyLS1nYWxlcmllbiwgLmFwLXdyYXBwZXIgPiAqLCAuZmxleGlibGUtZm9ybS13cmFwcGVyLCAuZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgfSB9XG5cbi8qIElEUyBmb3IgdGhlIGNvbG9yIHNjaGVtZSAqL1xuaHRtbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG5oNSxcbmg2LFxuLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5hIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICBhOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDNweCBzb2xpZCAjY2M0YjM3O1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uc2l0ZS1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNpdGUtaGVhZGVyOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI0ZGRkZGRiA0cHgsIHRyYW5zcGFyZW50IDElKSBjZW50ZXIsIGxpbmVhci1ncmFkaWVudCgjRkZGRkZGIDRweCwgdHJhbnNwYXJlbnQgMSUpIGNlbnRlciwgcmdiYSg0OSwgNTcsIDY1LCAwLjYpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IDVweDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG51LCAqW3N0eWxlKj1cInVuZGVybGluZVwiXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07IH1cblxuLmtvcGZiaWxkLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjMzEzOTQxIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICBoZWlnaHQ6IDcuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmtvcGZiaWxkLXdyYXBwZXIge1xuICAgICAgaGVpZ2h0OiAxMC42MjVyZW07IH0gfVxuICAua29wZmJpbGQtd3JhcHBlciBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAua29wZmJpbGQtd3JhcHBlciAub3V0ZXItZ3JpZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAua29wZmJpbGQtd3JhcHBlciAuZ3JpZC13cmFwcGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmtvcGZiaWxkLXdyYXBwZXIgLmdyaWQtd3JhcHBlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gICAgICAua29wZmJpbGQtd3JhcHBlciAuZ3JpZC13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lOyB9IH1cbiAgICAua29wZmJpbGQtd3JhcHBlciAuZ3JpZC13cmFwcGVyID4gKjpub3QoLnRvcC1iYXItcmlnaHQpIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5iYWNrIHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOyB9XG4gIC5iYWNrIHN2ZyB7XG4gICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpO1xuICAgIG1hcmdpbi1yaWdodDogMC4zNzVyZW07IH1cbiAgLmJhY2s6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTsgfVxuXG4uZ3JpZC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogYXV0bzsgfVxuICAuZ3JpZC13cmFwcGVyID4gKjpub3QoLnRvcC1iYXItcmlnaHQpIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAuZ3JpZC13cmFwcGVyIC5zaWRlYmFyIHtcbiAgICBmbGV4OiAxIDAgMTguNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmdyaWQtd3JhcHBlciAuc2lkZWJhciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTZweDsgfSB9XG5cbi5tYWluLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWFpbi1jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICAubWFpbi1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLm1haW4tY29udGVudCB7XG4gICAgICBmbGV4OiAwIDAgNDMuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tYWluLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAubWFpbi1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1haW4tY29udGVudC5mdWxsLXdpZHRoIC5lbnRyeS1jb250ZW50ID4gaGVhZGVyIHtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAubWFpbi1jb250ZW50LmZ1bGwtd2lkdGggLmVudHJ5LWNvbnRlbnQgPiBoZWFkZXIsIC5tYWluLWNvbnRlbnQuZnVsbC13aWR0aCAuZW50cnktY29udGVudCA+IGhlYWRlciAuaW50cm86YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5tYWluLWNvbnRlbnQuZnVsbC13aWR0aCB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLm1haW4tY29udGFpbmVyIHtcbiAgcGFkZGluZzogMy4xMjVyZW0gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5pbm5lcm1ldGEtd3JhcHBlciB7XG4gIHRvcDogLTEuODc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmlubmVybWV0YS13cmFwcGVyIHAge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5pbm5lcm1ldGEtd3JhcHBlciBhIHtcbiAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cblxuLm1haW4tY29udGVudDpub3QoLnN0ZXVlcnNhZXR6ZS13cmFwcGVyKSAuZW50cnktY29udGVudCBhOm5vdCguYnV0dG9uKSB7XG4gIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlOyB9XG4gIC5tYWluLWNvbnRlbnQ6bm90KC5zdGV1ZXJzYWV0emUtd3JhcHBlcikgLmVudHJ5LWNvbnRlbnQgYTpub3QoLmJ1dHRvbik6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm1haW4tY29udGVudDpub3QoLnN0ZXVlcnNhZXR6ZS13cmFwcGVyKSAuZW50cnktY29udGVudCBhOm5vdCguYnV0dG9uKTpob3ZlciB7XG4gICAgY29sb3I6ICMzMTM5NDE7IH1cblxuaDEuZW50cnktdGl0bGUsICNjb250YWN0LW92ZXJsYXkgLmVudHJ5LXRpdGxlLmNvbnRhY3RfdGl0bGUsICNjb250YWN0LW92ZXJsYXkgLmVudHJ5LXRpdGxlLmxhcmdlX3RlbCwgI2NvbnRhY3Qtb3ZlcmxheSAuZW50cnktdGl0bGUubGFyZ2VfZW1haWwsICNjb250YWN0LW92ZXJsYXkgLmVudHJ5LXRpdGxlLmxhcmdlX2FkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4uaW50cm8ge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjYpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmludHJvIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9IH1cbiAgLmludHJvOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogNHJlbTtcbiAgICBoZWlnaHQ6IDAuMTI1cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1haW4tY29sb3IpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDMycHg7IH1cblxuLyoqKioqKioqKiBGTEVYSUJMRSBDT05URU5UICoqKioqKioqKioqL1xuYm9keTpub3QoLnNlYXJjaC1yZXN1bHRzKSAuZmxleGlibGUtY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBib2R5Om5vdCguc2VhcmNoLXJlc3VsdHMpIC5mbGV4aWJsZS1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7IH0gfVxuICBib2R5Om5vdCguc2VhcmNoLXJlc3VsdHMpIC5mbGV4aWJsZS1jb250ZW50LmhhbGYge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgYm9keTpub3QoLnNlYXJjaC1yZXN1bHRzKSAuZmxleGlibGUtY29udGVudC5oYWxmIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfSB9XG4gIGJvZHk6bm90KC5zZWFyY2gtcmVzdWx0cykgLmZsZXhpYmxlLWNvbnRlbnQuYWx0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGJvZHk6bm90KC5zZWFyY2gtcmVzdWx0cykgLmZsZXhpYmxlLWNvbnRlbnQuYWx0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDsgfSB9XG5cbi8qKioqKiogRk9PVEVSICoqKioqKioqL1xuLmZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDMycHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDk2cHg7IH0gfVxuICAuZm9vdGVyIC5jaGlsZG5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZm9vdGVyIC5jaGlsZG5hdiBhIHtcbiAgICAgIG1hcmdpbjogMCAwLjkzNzVyZW07XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOyB9XG4gICAgICAuZm9vdGVyIC5jaGlsZG5hdiBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMzMTM5NDEgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9vdGVyIC5jaGlsZG5hdiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6ICMzMTM5NDE7IH1cbiAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIGFydGljbGUge1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDMycHggMTZweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAzMnB4IGF1dG8gMCBhdXRvOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgYXJ0aWNsZSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciBhcnRpY2xlID4gKiB7XG4gICAgICAgIGZsZXg6IDE7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciBhcnRpY2xlID4gKiB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciBhcnRpY2xlID4gKjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsgfSB9XG4gICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIGFydGljbGUsIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgYXJ0aWNsZSBhIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwIDAuMzEyNXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsgfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciB1bCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC50b3RvcCB7XG4gICAgICAgIG9yZGVyOiAzOyB9XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLnRvdG9wIGEge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLnNvY2lhbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLnNvY2lhbCB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgb3JkZXI6IDI7IH0gfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuc29jaWFsIGEge1xuICAgICAgICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuc29jaWFsIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuc29jaWFsIGEgc3ZnIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuY29weXJpZ2h0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuY29weXJpZ2h0IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuY29weXJpZ2h0IGxpIHtcbiAgICAgICAgbWFyZ2luOiA1LjMzMzMzcHggMDsgfVxuXG4uaG9tZSB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuICAuaG9tZSAuZm9vdGVyLWNvbnRhaW5lciBhcnRpY2xlIHtcbiAgICBtYXgtd2lkdGg6IDkwcmVtOyB9XG4gIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIHtcbiAgICBtaW4taGVpZ2h0OiAyNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE4Ljc1cmVtO1xuICAgICAgICAvKlxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMCk7IFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH0qLyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjhlbSkge1xuICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAzNy41cmVtOyB9IH1cbiAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiB7XG4gICAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cbiAgICAgIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiBsaSB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICAgICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYgbGkgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGhlaWdodDogNC4zNzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpID4gYSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMzJweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA1cmVtOyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYgbGkgPiBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAxLjg3NXJlbTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICAgICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpID4gYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjgpOyB9XG4gICAgICAgICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYgbGkgPiBhOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAwLjVyZW07IH1cbiAgICAgICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYgbGkgPiBhOmJlZm9yZSwgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpID4gYTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDsgfVxuICAgICAgICAgIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiBsaSA+IGE6YmVmb3JlIHtcbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKC0yMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICovIH1cbiAgICAgICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYgbGkgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDAuMjVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcik7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgICAgICAgIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiBsaSA+IGEge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiBsaSA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IC5pcy1hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgIC5ob21lIC5zaXRlLWhlYWRlcjphZnRlciB7XG4gICAgICBoZWlnaHQ6IDVyZW07IH0gfVxuICAuaG9tZSAuaG9tZV9zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICMxMDUxNmI7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhvbWUgLmhvbWVfc3VidGl0bGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMjVyZW07IH1cbiAgICAgICAgLmhvbWUgLmhvbWVfc3VidGl0bGU6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMTA1MTZiO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiAxLjg3NXJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgLTAuNjVlbSk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC02cHg7IH0gfVxuICAuaG9tZSAuaG9tZV90aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjMxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmhvbWUgLmhvbWVfdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMuNXJlbTsgfSB9XG4gIC5ob21lIC5ob21lX2Rlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07XG4gICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgLmhvbWUgLndyYXBwZXIge1xuICAgIHBhZGRpbmc6IDMycHggMDtcbiAgICAvKi5tZXRhIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8yICRncmlkLW1lZGl1bTtcbiAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgei1pbmRleDogNjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgfVxuICAgIH0qLyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmhvbWUgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiA5NnB4IDA7IH0gfVxuICAgIC5ob21lIC53cmFwcGVyIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjUlIDFmcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdiB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjsgfSB9XG4gICAgLmhvbWUgLndyYXBwZXIuZ3JheSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE4MSwgMTgwLCAxNjgsIDAuMSk7IH1cbiAgICAuaG9tZSAud3JhcHBlciAuYWZ0ZXJidXR0b24ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogMzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlciAuYWZ0ZXJidXR0b24ge1xuICAgICAgICAgIG1hcmdpbjogMCAxNnB4IDAgYXV0bzsgfSB9XG4gICAgLmhvbWUgLndyYXBwZXIgLmJ1dHRvbiwgLmhvbWUgLndyYXBwZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5ob21lIC53cmFwcGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmhvbWUgLndyYXBwZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmhvbWUgLndyYXBwZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAxMC42NjY2N3B4IDE2cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMTA1MTZiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgIGNvbG9yOiAjMTA1MTZiOyB9XG4gICAgICAuaG9tZSAud3JhcHBlciAuYnV0dG9uOmhvdmVyLCAuaG9tZSAud3JhcHBlciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmhvbWUgLndyYXBwZXIgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5ob21lIC53cmFwcGVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b246aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5ob21lIC53cmFwcGVyIC5nZm9ybV9idXR0b246aG92ZXIge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMzEzOTQxO1xuICAgICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5ob21lIC53cmFwcGVyLS1uZXVpZ2tlaXRlbiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMnB4OyB9IH1cbiAgICAuaG9tZSAud3JhcHBlci0tbmV1aWdrZWl0ZW4gLm1haW4tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV1aWdrZWl0ZW4gLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1uZXVpZ2tlaXRlbiAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1uZXVpZ2tlaXRlbiAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7IH0gfVxuICAgICAgLmhvbWUgLndyYXBwZXItLW5ldWlna2VpdGVuIC5tYWluLWNvbnRhaW5lciAuYWZ0ZXJidXR0b24ge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLW5ldWlna2VpdGVuIC5tYWluLWNvbnRhaW5lciAuYWZ0ZXJidXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgICAgLmhvbWUgLndyYXBwZXItLW5ldWlna2VpdGVuIC5tYWluLWNvbnRhaW5lciAuYnV0dG9uLCAuaG9tZSAud3JhcHBlci0tbmV1aWdrZWl0ZW4gLm1haW4tY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuaG9tZSAud3JhcHBlci0tbmV1aWdrZWl0ZW4gLm1haW4tY29udGFpbmVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuaG9tZSAud3JhcHBlci0tbmV1aWdrZWl0ZW4gLm1haW4tY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5ob21lIC53cmFwcGVyLS1uZXVpZ2tlaXRlbiAubWFpbi1jb250YWluZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAubWFpbi1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIC5iYW5uZXItd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTM5NDE7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2hhZG93OiAxMHB4IDEwcHggMzBweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1iYW5uZXIgLmJhbm5lci13cmFwcGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMTMwcHg7IH0gfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIC5iYW5uZXItd3JhcHBlciA+ICoge1xuICAgICAgICAgIGdyaWQtYXJlYTogMSAvIDE7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1iYW5uZXIgLmlubmVyLWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMzJweDtcbiAgICAgICAgZ2FwOiAzMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAuaW5uZXItY29udGVudCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1iYW5uZXIgLmlubmVyLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2U7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjgpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAuaG9tZV9zdWJ0aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAuaG9tZV9zdWJ0aXRsZTphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIC5ibG9jay1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDUuNnB4OyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIC5iYW5uZXItdGl0bGUge1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAuYmFubmVyLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtOyB9IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1iYW5uZXIgc3Bhbi5idXR0b24sXG4gICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIC5nZm9ybV93cmFwcGVyIHNwYW4uZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuaG9tZSAud3JhcHBlci0tYmFubmVyIHNwYW4uZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAxMi44cHggMTZweCA5LjZweCAxNnB4O1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciBzcGFuLmJ1dHRvbjpob3ZlcixcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAuZ2Zvcm1fd3JhcHBlciBzcGFuLmdmb3JtX2J1dHRvbjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmhvbWUgLndyYXBwZXItLWJhbm5lciBzcGFuLmdmb3JtX2J1dHRvbjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIGE6aG92ZXIgLmlubmVyLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ5LCA1NywgNjUsIDAuOTUpOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLmNsYWltLXdyYXBwZXIgLmFmdGVyYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGU6bm90KC5jb3VudC0zKSAubWFpbi1jb250YWluZXIucm93LTIgLmFmdGVyYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZTpub3QoLmNvdW50LTMpIC5jbGFpbS13cmFwcGVyIC5hZnRlcmJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUuY291bnQtMyAuYWZ0ZXJidXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZS5jb3VudC0zIC5tYWluLWNvbnRhaW5lci5yb3ctMiB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMjUlOyB9IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAuYWZ0ZXJidXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAubWFpbi1jb250YWluZXIucm93LTIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC5tYWluLWNvbnRhaW5lciAuYnV0dG9uLCAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLm1haW4tY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLm1haW4tY29udGFpbmVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLm1haW4tY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAubWFpbi1jb250YWluZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLmNsYWltLXdyYXBwZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLmNsYWltLXdyYXBwZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAud3JhcHBlci0taW5uZXJwcm9qZWt0ZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC53cmFwcGVyLS1pbm5lcnByb2pla3RlIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLndyYXBwZXItLWlubmVycHJvamVrdGUge1xuICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAud3JhcHBlci0taW5uZXJwcm9qZWt0ZSAuY2FyZCB7XG4gICAgICAgICAgbWFyZ2luOiA4cHg7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC53cmFwcGVyLS1pbm5lcnByb2pla3RlIC5jYXJkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNnB4O1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC53cmFwcGVyLS1pbm5lcnByb2pla3RlIC5jYXJkIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDUwJSAtIDE2cHgpOyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLndyYXBwZXItLWlubmVycHJvamVrdGUgLmNhcmQge1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMzMlIC0gMTZweCk7IH0gfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLndyYXBwZXItLWlubmVycHJvamVrdGUgZmlndXJlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC53cmFwcGVyLS1pbm5lcnByb2pla3RlIHBpY3R1cmUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLndyYXBwZXItLWlubmVycHJvamVrdGUgcGljdHVyZSB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHggOHB4IDE1cHg7IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAud3JhcHBlci0taW5uZXJwcm9qZWt0ZSBwaWN0dXJlIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDMwcHggOHB4IDMwcHg7IH0gfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLndyYXBwZXItLWlubmVycHJvamVrdGUgaW1nIHtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMC45Mzc1cmVtO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAud3JhcHBlci0taW5uZXJwcm9qZWt0ZSBpbWcge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLndyYXBwZXItLWlubmVycHJvamVrdGUgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDhweDsgfVxuICAgIC5ob21lIC53cmFwcGVyLS1uZXdzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLW5ld3Mge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLThweDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDc1JTsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyAuY2FyZCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgbWFyZ2luOiA4cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1uZXdzIC5jYXJkIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREZERkRGO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgKyAzMnB4KTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4OyB9XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyAuY2FyZCBoNSwgLmhvbWUgLndyYXBwZXItLW5ld3MgLmNhcmQgc3BhbiB7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1uZXdzIC5jYXJkIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1uZXdzIC5jYXJkIC5uZXdzLWthY2hlbC1pbWFnZSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDguMTI1cmVtOyB9XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyAuY2FyZCBzcGFuOm5vdCgubmV3cy1tZXRhKSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1uZXdzIC5jYXJkIC5uZXdzLW1ldGEge1xuICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgYm90dG9tOiAxNnB4OyB9XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyAuY2FyZDpob3ZlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLW5ld3MgLmNhcmQ6aG92ZXIgaDUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTsgfVxuICAgICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyAuY2FyZDpob3ZlciBzcGFuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0OyB9IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyAuY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyggNTAlIC0gMTZweCk7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLW5ld3MgLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDMzJSAtIDE2cHgpOyB9IH1cbiAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAubWFpbi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgLm1haW4tY29udGFpbmVyID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAubWFpbi1jb250YWluZXIgPiBkaXYge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICAgIG1hcmdpbjogMCA4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgLm1haW4tY29udGFpbmVyID4gZGl2IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAubWFpbi1jb250YWluZXIgPiBkaXYge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDE2cHgpOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIC5tYWluLWNvbnRhaW5lciA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAxNnB4KTsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAuYWZ0ZXJidXR0b24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIC5hZnRlcmJ1dHRvbiBhIHtcbiAgICAgICAgICBtYXJnaW46IDE2cHggMCAwIDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgLmFmdGVyYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyB1bCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBjb2x1bW4tZ2FwOiAzMnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIHVsIHtcbiAgICAgICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyB1bCB7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiA0O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDMycHg7IH0gfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgdWwgbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIHVsIGEge1xuICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgICAgY29sb3I6ICMxMDUxNmI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTInIGhlaWdodD0nMTAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J003LjU4NyAzLjk1TDUuMDUgMS40MTUgNi40NjYgMGw0Ljk1IDQuOTVMNi40NjUgOS45IDUuMDUgOC40ODcgNy41ODcgNS45NSAwIDUuOTUxdi0yeicgZmlsbD0nI0ZGRkZGRicgZmlsbC1ydWxlPSdldmVub2RkJy8+JTNDL3N2ZyUzRVwiKSBjZW50ZXIgbGVmdCBuby1yZXBlYXQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyB1bCBhOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMicgaGVpZ2h0PScxMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTcuNTg3IDMuOTVMNS4wNSAxLjQxNSA2LjQ2NiAwbDQuOTUgNC45NUw2LjQ2NSA5LjkgNS4wNSA4LjQ4NyA3LjU4NyA1Ljk1IDAgNS45NTF2LTJ6JyBmaWxsPScjMDAwMDAwJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLz4lM0Mvc3ZnJTNFXCIpIGNlbnRlciBsZWZ0IG5vLXJlcGVhdDtcbiAgICAgICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIHVsIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAuYnV0dG9uLCAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTZweDsgfVxuICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIC5maWx0ZXItYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMC42NjY2N3B4IDY0cHggMTAuNjY2NjdweCAzMnB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBib3JkZXItcmFkaXVzOiAzMS4yNXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMxMDUxNmI7XG4gICAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jMWU1Nzk5KzAsMWU1Nzk5KzUwLDI5ODlkOCs1MCwyMDdjY2ErMTAwICovXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMScgaGVpZ2h0PSc4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNOS41NDcgMEw1LjUgNC4xMTUgMS40NTMgMCAwIDEuNDc4bDUuNSA1LjU5M0wxMSAxLjQ3OCA5LjU0NyAwJyBmaWxsPSclMjMxMDUxNmInIGZpbGwtcnVsZT0nZXZlbm9kZCcvPiUzQy9zdmclM0VcIikgY2VudGVyIHJpZ2h0IDE2cHggbm8tcmVwZWF0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIC5maWx0ZXItYnV0dG9ucyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmhvbWUgLndyYXBwZXItLW51ZXR6bGljaGVzIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1udWV0emxpY2hlcyB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgICAgLmhvbWUgLndyYXBwZXItLW51ZXR6bGljaGVzIC5ob21lX3N1YnRpdGxlLCAuaG9tZSAud3JhcHBlci0tbnVldHpsaWNoZXMgLmhvbWVfdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tbnVldHpsaWNoZXMgLmhvbWVfc3VidGl0bGU6YWZ0ZXIsIC5ob21lIC53cmFwcGVyLS1udWV0emxpY2hlcyAuaG9tZV90aXRsZTphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLW51ZXR6bGljaGVzIC5rYWNoZWwtbWV0YSBoNSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tbnVldHpsaWNoZXMgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiB3cmFwIHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1udWV0emxpY2hlcyAubWFpbi1jb250YWluZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1udWV0emxpY2hlcyAubWFpbi1jb250YWluZXIgPiBhIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAtIDE2cHgpO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLW51ZXR6bGljaGVzIC5tYWluLWNvbnRhaW5lciA+IGEge1xuICAgICAgICAgICAgICBtYXJnaW46IDhweDsgfSB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLW51ZXR6bGljaGVzIC5tYWluLWNvbnRhaW5lciA+IGEge1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMzMlIC0gMTZweCk7IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1udWV0emxpY2hlcyAubWFpbi1jb250YWluZXIgPiBhIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDI1JSAtIDE2cHgpOyB9IH1cbiAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciAuYnV0dG9uLCAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyIC5nZm9ybV9idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nOiAzMnB4O1xuICAgICAgICAgIC8qJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW0qMTU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHN0cm9uZyB7Y29sb3I6ICR3aGl0ZTt9XG4gICAgICAgICAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9Ki8gfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYge1xuICAgICAgICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYge1xuICAgICAgICAgICAgICBwYWRkaW5nOiA0OHB4IDY0cHggNDhweCAxNnB4OyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdiB7XG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2ID4gKiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2OmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2IC5pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5LjM3NXJlbTsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdiAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH0gfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYgLmltYWdlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM1JTsgfSB9XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYgLmltYWdlIGltZyB7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAuMTg3NXJlbSAwLjE4NzVyZW0gMC4yNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYgc3Ryb25nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAxNnB4IDA7IH1cbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYgcCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdiAubW9yZSB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2IC5tb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9IH1cbiAgICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdiAubW9yZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMycHg7IH0gfVxuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2IC5tb3JlOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdjpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxOyB9XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZTphZnRlciB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzMxMzk0MTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUlOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzJweDsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgd2lkdGg6IDI1JTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyIC5pbm5lcmNvbnRlbnQge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgLmJ1dHRvbiwgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyIC5ob21lX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyIGlmcmFtZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAjcGxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAjcGxheSBpbWcge1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgI3BsYXkgc3ZnIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgIHdpZHRoOiA2LjM3NXJlbTtcbiAgICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyICNwbGF5IHN2ZyBlbGxpcHNlIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICAgICAgICBmaWxsOiAjMTA1MTZiOyB9XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyICNwbGF5IHN2ZyBwYXRoIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICAgICAgICBmaWxsOiAjRkZGRkZGOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAjcGxheTpob3ZlciBzdmcgZWxsaXBzZSB7XG4gICAgICAgICAgZmlsbDogI0ZGRkZGRjsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgI3BsYXk6aG92ZXIgc3ZnIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICMxMDUxNmI7IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyICNwbGF5LmlzLXBsYXlpbmcge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyIC5lbWJlZC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEuMjVyZW07XG4gICAgICAgIGxlZnQ6IDEuMjVyZW07XG4gICAgICAgIGJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgcmlnaHQ6IDEuMjVyZW07XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3gtc2hhZG93OiAyNXB4IDI1cHggMzBweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAjdmlkZW8tbGFuZ3VhZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyICN2aWRlby1sYW5ndWFnZSBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIG1hcmdpbjogNHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG4gICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIC8qXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuOSk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9Ki8gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDhweDsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcGFydG5lciAqIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcGFydG5lciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42ODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIGgyIGJyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjE4NzVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjkzNzVyZW07IH1cbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIGgyIGJyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIHAge1xuICAgICAgICAgIG1heC13aWR0aDogMjEuODc1cmVtO1xuICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcGFydG5lciAuYnV0dG9uLCAuaG9tZSAud3JhcHBlci0tcGFydG5lciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIC5nZm9ybV9idXR0b24ge1xuICAgICAgICBtYXJnaW46IDEycHggYXV0byAwIGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgLmJ1dHRvbiwgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIC5ob21lX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgLmhvbWVfc3VidGl0bGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgLmhvbWVfc3VidGl0bGU6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4gLm1haW4tY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogOTByZW07XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4gLm1haW4tY29udGFpbmVyIC5rYWNoZWwtaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1nYWxlcmllbiAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwIDMycHggMzJweCAzMnB4OyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1nYWxlcmllbiAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSBoMiB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4gLm1haW4tY29udGFpbmVyID4gZGl2OmZpcnN0LW9mLXR5cGUgLmJ1dHRvbixcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLWdhbGVyaWVuIC5tYWluLWNvbnRhaW5lciA+IGRpdjpmaXJzdC1vZi10eXBlIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5ob21lIC53cmFwcGVyLS1nYWxlcmllbiAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1nYWxlcmllbiAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4gLm1haW4tY29udGFpbmVyID4gLmNhcmQge1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4gLm1haW4tY29udGFpbmVyID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IDMzJTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4gLm1haW4tY29udGFpbmVyID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTsgfSB9XG5cbi5mbGV4aWJsZS1pZnJhbWUtd3JhcHBlciBpZnJhbWUge1xuICBib3JkZXI6IG5vbmU7IH1cblxuLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIgdWw6bm90KC5idXR0b24tZ3JvdXApIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZmxleGlibGUtbGlua3Mtd3JhcHBlciB1bDpub3QoLmJ1dHRvbi1ncm91cCkgbGkge1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwOyB9XG4gIC5mbGV4aWJsZS1saW5rcy13cmFwcGVyIHVsOm5vdCguYnV0dG9uLWdyb3VwKSBhIHtcbiAgICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIgdWw6bm90KC5idXR0b24tZ3JvdXApIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMzMTM5NDE7IH1cblxuLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIgLmJ1dHRvbi1ncm91cCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIgLmJ1dHRvbi1ncm91cCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIgLmJ1dHRvbi1ncm91cCA+ICoge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuZmxleGlibGUtbGlua3Mtd3JhcHBlciAuYnV0dG9uLWdyb3VwIGxpIHtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW07IH1cbiAgLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIgLmJ1dHRvbi1ncm91cCBhIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5yZXN1bHRzLWl0ZW0gcCxcbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBwIHtcbiAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNyZWd1bGFyJzsgfVxuXG4ucmVzdWx0cy1pdGVtIGEsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsgfVxuICAucmVzdWx0cy1pdGVtIGE6aG92ZXIsXG4gIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzMxMzk0MTsgfVxuXG4ucmVzdWx0cy1pdGVtIGg0LCAucmVzdWx0cy1pdGVtIGg1LCAucmVzdWx0cy1pdGVtIGg2LCAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgaDQsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgaDUsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgaDYsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLFxuLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIC5lbnRyeS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cblxuLnJlc3VsdHMtaXRlbSBoNCxcbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBoNCB7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc2JsYWNrJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLnJlc3VsdHMtaXRlbSBoMSwgLnJlc3VsdHMtaXRlbSAjY29udGFjdC1vdmVybGF5IC5jb250YWN0X3RpdGxlLCAjY29udGFjdC1vdmVybGF5IC5yZXN1bHRzLWl0ZW0gLmNvbnRhY3RfdGl0bGUsIC5yZXN1bHRzLWl0ZW0gI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfdGVsLCAjY29udGFjdC1vdmVybGF5IC5yZXN1bHRzLWl0ZW0gLmxhcmdlX3RlbCwgLnJlc3VsdHMtaXRlbSAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9lbWFpbCwgI2NvbnRhY3Qtb3ZlcmxheSAucmVzdWx0cy1pdGVtIC5sYXJnZV9lbWFpbCwgLnJlc3VsdHMtaXRlbSAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9hZGRyZXNzLCAjY29udGFjdC1vdmVybGF5IC5yZXN1bHRzLWl0ZW0gLmxhcmdlX2FkZHJlc3MsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgaDEsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgI2NvbnRhY3Qtb3ZlcmxheSAuY29udGFjdF90aXRsZSxcbiNjb250YWN0LW92ZXJsYXkgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIC5jb250YWN0X3RpdGxlLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX3RlbCxcbiNjb250YWN0LW92ZXJsYXkgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIC5sYXJnZV90ZWwsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfZW1haWwsXG4jY29udGFjdC1vdmVybGF5IC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciAubGFyZ2VfZW1haWwsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcyxcbiNjb250YWN0LW92ZXJsYXkgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIC5sYXJnZV9hZGRyZXNzIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4ucmVzdWx0cy1pdGVtIGgyLCAucmVzdWx0cy1pdGVtIGgzLCAucmVzdWx0cy1pdGVtIC5jaGFyLXdyYXBwZXI6YmVmb3JlLCAucmVzdWx0cy1pdGVtIGg1LFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGgyLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGgzLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIC5jaGFyLXdyYXBwZXI6YmVmb3JlLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGg1IHtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG4ucmVzdWx0cy1pdGVtIGg0LCAucmVzdWx0cy1pdGVtIGg2LCAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgaDQsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgaDYsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLFxuLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIC5lbnRyeS10aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJlc3VsdHMtaXRlbSBoNCxcbiAgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGg0IHtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9IH1cblxuLmZsZXhpYmxlLWZ1bGx3aWR0aC13cmFwcGVyIC5jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mbGV4aWJsZS1mdWxsd2lkdGgtd3JhcHBlciAuY2FwdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogNS42MjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMTZweDsgfSB9XG5cbi5mbGV4aWJsZS1mdWxsd2lkdGgtd3JhcHBlciBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciB1bCBsaSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNERkRGREY7XG4gICAgcGFkZGluZzogMC42ODc1cmVtIDA7IH1cbiAgICAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RGREZERjsgfVxuXG4uZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTsgfVxuXG4uZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgLmlubmVybWV0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjYpO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tdG9wOiAwLjQzNzVyZW07IH1cblxuLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIC5maWxlLWljb24ge1xuICBmbGV4OiAwIDAgMi4xODc1cmVtO1xuICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gIHBhZGRpbmctdG9wOiAwLjE4NzVyZW07IH1cblxuLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIC5kb3dubG9hZC1jYXRzIHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjMzEzOTQxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciAuZG93bmxvYWQtY2F0cyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIC5kb3dubG9hZC1jYXRzIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciAuZG93bmxvYWQtY2F0cyBzcGFuIHtcbiAgICBtYXJnaW46IDAgMC4zMTI1cmVtOyB9XG5cbi5mbGV4aWJsZS1oYWxmd2lkdGgtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZmxleGlibGUtaGFsZndpZHRoLXdyYXBwZXIgPiAqIHtcbiAgICB3aWR0aDogNDklO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZsZXhpYmxlLXRoaXJkd2lkdGgtd3JhcHBlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxleGlibGUtdGhpcmR3aWR0aC13cmFwcGVyIC5mbGV4aWJsZS10aGlyZHdpZHRoLWltZyB7XG4gICAgbWF4LXdpZHRoOiAzNC4zNzVyZW07IH1cbiAgLmZsZXhpYmxlLXRoaXJkd2lkdGgtd3JhcHBlciAuY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mbGV4aWJsZS10aGlyZHdpZHRoLXdyYXBwZXIgLmNhcHRpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogNS42MjVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNnB4OyB9IH1cblxuLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItaXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cblxuLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIGltZyB7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciBpbWcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9IH1cblxuLmFwLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5hcC13cmFwcGVyID4gKiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjREZERkRGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNERkRGREY7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RGREZERjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYXAtd3JhcHBlciA+ICoge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuYXAtd3JhcHBlciA+ICoge1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9IH1cbiAgLmFwLXdyYXBwZXIgaDYsIC5hcC13cmFwcGVyIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSwgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmFwLXdyYXBwZXIgLmVudHJ5LXRpdGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5hcC13cmFwcGVyIGg2LCAuYXAtd3JhcHBlciAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5hcC13cmFwcGVyIC5lbnRyeS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIC5hcC13cmFwcGVyIGEge1xuICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5hcC13cmFwcGVyIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgLmFwLXdyYXBwZXIgLmFwLW1ldGEge1xuICAgIHBhZGRpbmc6IDEuNDM3NXJlbTsgfVxuICAuYXAtd3JhcHBlciAuYXAtZnVua3Rpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHJnYmEoNDksIDU3LCA2NSwgMC42KTsgfVxuICAuYXAtd3JhcHBlciAuYXAtY29udGFjdCB7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG4gIC5hcC13cmFwcGVyIC5pcy1hbnNwcmVjaHBhcnRuZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFwLXdyYXBwZXIgLmlzLWFuc3ByZWNocGFydG5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH0gfVxuICAgIC5hcC13cmFwcGVyIC5pcy1hbnNwcmVjaHBhcnRuZXIgLmFwLXRodW1iIHtcbiAgICAgIGZsZXg6IDAgMCA3LjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmFwLXdyYXBwZXIgLmlzLWluc3RpdHV0aW9uZW4ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmFwLXdyYXBwZXIgLmlzLWluc3RpdHV0aW9uZW4gaDYsIC5hcC13cmFwcGVyIC5pcy1pbnN0aXR1dGlvbmVuIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSwgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmFwLXdyYXBwZXIgLmlzLWluc3RpdHV0aW9uZW4gLmVudHJ5LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9IH1cbiAgLmFwLXdyYXBwZXIgLmlzLWluc3RpdHV0aW9uZW46bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgYm9yZGVyLXRvcDogMDsgfVxuICAuYXAtd3JhcHBlciAuaXMtaW5zdGl0dXRpb25lbiAuYXAtdGh1bWIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDExLjI1cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAxLjQzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFwLXdyYXBwZXIgLmlzLWluc3RpdHV0aW9uZW4gLmFwLXRodW1iIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLmFwLXdyYXBwZXIgLmlzLWluc3RpdHV0aW9uZW4gLmFwLXdlYm1haWwge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5hcC13cmFwcGVyIC5pcy1pbnN0aXR1dGlvbmVuIC5hcC13ZWJtYWlsIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxuICAgICAgICAuYXAtd3JhcHBlciAuaXMtaW5zdGl0dXRpb25lbiAuYXAtd2VibWFpbCBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFwLXdyYXBwZXIgLmlzLWluc3RpdHV0aW9uZW4gLmFwLXdlYm1haWwgPiAqIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9IH1cblxuLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciAuY2FyZC13cmFwcGVyIHtcbiAgZ3JpZC1hdXRvLXJvd3M6IDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIC5jYXJkLXdyYXBwZXIge1xuICAgICAgZ3JpZC1nYXA6IDAuMDYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciAuY2FyZC13cmFwcGVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuXG4uZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAzLjYyNXJlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE4MSwgMTgwLCAxNjgsIDAuMSk7XG4gIGNvbG9yOiAjMzEzOTQxOyB9XG4gIC5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgYSA+ICoge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIGE6aG92ZXIgaDYsIC5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgYTpob3ZlciAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgYTpob3ZlciAuZW50cnktdGl0bGUge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gIC5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgYTpob3ZlciBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4uZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIC5rYWNoZWwtbm8taW1hZ2UgPiAqIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIC5rYWNoZWwtbm8taW1hZ2UgaDYsIC5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmthY2hlbC1uby1pbWFnZSAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmthY2hlbC1uby1pbWFnZSAuZW50cnktdGl0bGUge1xuICBwYWRkaW5nOiAwLjMxMjVyZW0gMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZmxleDogMSAxIGF1dG87XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1vei1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmthY2hlbC1uby1pbWFnZSBoNiwgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciAua2FjaGVsLW5vLWltYWdlIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSwgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciAua2FjaGVsLW5vLWltYWdlIC5lbnRyeS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmthY2hlbC1uby1pbWFnZSBoNiwgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciAua2FjaGVsLW5vLWltYWdlIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSwgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciAua2FjaGVsLW5vLWltYWdlIC5lbnRyeS10aXRsZSB7XG4gICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMS44NzVyZW07IH0gfVxuXG4uZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIC5rYWNoZWwtbm8taW1hZ2Ugc3BhbiB7XG4gIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTgxLCAxODAsIDE2OCwgMC4xKTtcbiAgd2lkdGg6IDMuNjI1cmVtO1xuICBoZWlnaHQ6IDMuNjI1cmVtO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7IH1cblxuLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNERkRGREY7IH1cbiAgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBoZWFkZXIsIC5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIgaGVhZGVyID4gKiB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuZmxleGlibGUtaW5mb2JveC13cmFwcGVyIGkge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1haW4tY29sb3IpO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIgaDUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICMzMTM5NDE7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuOTM3NXJlbTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9IH1cbiAgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBkaXYge1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zcmVndWxhcic7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIgZGl2IHtcbiAgICAgICAgcGFkZGluZzogMzJweDsgfSB9XG4gIC5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIgYSB7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOyB9XG4gICAgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG5cbi5mbGV4aWJsZS10eHRpbWctd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyID4gKiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgPiAqIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciBhIGg0IHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7IH1cbiAgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIGEgYXJ0aWNsZSB7XG4gICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIGE6aG92ZXIgaDQge1xuICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciBhOmhvdmVyIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTM5NDE7IH1cbiAgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIC5pbWctb3V0ZXItd3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciAuaW1nLWlubmVyLXdyYXBwZXIge1xuICAgIG1pbi13aWR0aDogMTQuMzc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtOyB9XG4gICAgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIC5pbWctaW5uZXItd3JhcHBlci5zbWFsbGVyIHtcbiAgICAgIG1pbi13aWR0aDogNy44MTI1cmVtOyB9XG4gIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciAuaW5uZXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInOyB9XG4gICAgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIC5pbm5lci13cmFwcGVyLmNlbnRlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciAuaW5uZXItd3JhcHBlciBoNCB7XG4gICAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIgLmJ1dHRvbiwgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIC5pbm5lci13cmFwcGVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIC5pbm5lci13cmFwcGVyIC5nZm9ybV9idXR0b24ge1xuICAgICAgZm9udC1mYW1pbHk6IFwicG9wcGluc21lZGl1bVwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5nZm9ybV93cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSg0OSwgNTcsIDY1LCAwLjA1KTtcbiAgcGFkZGluZzogMTZweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDMycHg7IH0gfVxuICAuZ2Zvcm1fd3JhcHBlciBoMy5nZm9ybV90aXRsZSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3RpdGxlLmNoYXItd3JhcHBlcjpiZWZvcmUge1xuICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBpbnB1dCwgLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMxMzk0MTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciBpbnB1dDpmb2N1cywgLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgLmdmb3JtX3dyYXBwZXIgdWwubGVmdF9sYWJlbCBpbnB1dC5tZWRpdW0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9ib2R5IHVsIGxpLmdmaWVsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZ2Zvcm1fYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdOmhvdmVyLFxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZ2Zvcm1fYnV0dG9uW3R5cGU9c3VibWl0XTpob3ZlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbi5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgLmdmb3JtX3dyYXBwZXIgZGl2LnZhbGlkYXRpb25fZXJyb3Ige1xuICBjb2xvcjogI2NjNGIzNztcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNjYzRiMzc7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjY2M0YjM3OyB9XG5cbi5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2M0YjM3O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjNGIzNztcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLmZsZXhpYmxlLWZvcm0td3JhcHBlciAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIC5nZmllbGRfbGFiZWwsIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZmxleGlibGUtZm9ybS13cmFwcGVyIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1idXR0b25dKTpub3QoW3R5cGU9aW1hZ2VdKTpub3QoW3R5cGU9J2ZpbGUnXSksXG4gIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciB0ZXh0YXJlYSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNzsgfVxuXG4uZmxleGlibGUtZm9ybS13cmFwcGVyIC5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGJhY2tncm91bmQ6ICM2RUI1MzM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmZsZXhpYmxlLXRheC1kb3dubG9hZHMtd3JhcHBlciAuY2VsbC5yZXN1bHQtd3JhcHBlciB7XG4gIHdpZHRoOiBjYWxjKDkzLjc1JSAtIDJyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZsZXhpYmxlLXRheC1kb3dubG9hZHMtd3JhcHBlciAuY2VsbC5yZXN1bHQtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5mbGV4aWJsZS10YXgtZG93bmxvYWRzLXdyYXBwZXIgLmZpbHRlci13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAxLjI1cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmZsZXhpYmxlLXRheC1kb3dubG9hZHMtd3JhcHBlciAuZmlsdGVyLXdyYXBwZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5mbGV4aWJsZS10YXgtZG93bmxvYWRzLXdyYXBwZXIgLmZpbHRlci13cmFwcGVyID4gKiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5mbGV4aWJsZS10YXgtZG93bmxvYWRzLXdyYXBwZXIgLmZpbHRlci13cmFwcGVyID4gKiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIC5maWx0ZXItdHlwLXdyYXBwZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmZsZXhpYmxlLXRheC1kb3dubG9hZHMtd3JhcHBlciAuZmlsdGVyLXR5cC13cmFwcGVyIGxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH0gfVxuXG4uZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIC5maWx0ZXItc2VhcmNoLXdyYXBwZXIge1xuICBtYXgtd2lkdGg6IDEwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmZsZXhpYmxlLXRheC1kb3dubG9hZHMtd3JhcHBlciAuZmlsdGVyLXNlYXJjaC13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7IH0gfVxuXG4uZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTI1cmVtO1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBoZWlnaHQ6IDEuODc1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjREZERkRGO1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW0gMC4xODc1cmVtIDEuODc1cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTExLjczMyAxMC40MjhMOS4yNiA3Ljk1NWMuNTk2LS44NjEuODk0LTEuODIuODk0LTIuODc4IDAtLjY4Ny0uMTMzLTEuMzQ1LS40LTEuOTcyYTUuMDc0IDUuMDc0IDAgMCAwLTEuMDgyLTEuNjIzQTUuMDc1IDUuMDc1IDAgMCAwIDcuMDQ5LjQgNC45OSA0Ljk5IDAgMCAwIDUuMDc3IDBDNC4zOSAwIDMuNzMyLjEzMyAzLjEwNS40YTUuMDc1IDUuMDc1IDAgMCAwLTEuNjIzIDEuMDgyQTUuMDc2IDUuMDc2IDAgMCAwIC40IDMuMTA1IDQuOTg5IDQuOTg5IDAgMCAwIDAgNS4wNzdjMCAuNjg4LjEzMyAxLjM0NS40IDEuOTcyYTUuMDc0IDUuMDc0IDAgMCAwIDEuMDgyIDEuNjIzYy40NTQuNDU0Ljk5NS44MTUgMS42MjMgMS4wODJhNC45OSA0Ljk5IDAgMCAwIDEuOTcyLjQgNC45NCA0Ljk0IDAgMCAwIDIuODc3LS44OTRsMi40NzQgMi40NjZjLjE3My4xODMuMzkuMjc0LjY0OS4yNzQuMjUgMCAuNDY2LS4wOTEuNjQ5LS4yNzRhLjg4Ny44ODcgMCAwIDAgLjI3NC0uNjQ5Ljg4My44ODMgMCAwIDAtLjI2Ny0uNjQ5ek03LjEyIDcuMTE5QTIuODg5IDIuODg5IDAgMCAxIDUgOGEyLjg5IDIuODkgMCAwIDEtMi4xMTgtLjg4QTIuODg5IDIuODg5IDAgMCAxIDIgNWMwLS44MjYuMjk0LTEuNTMyLjg4LTIuMTJBMi44ODkgMi44ODkgMCAwIDEgNSAyYTIuODkgMi44OSAwIDAgMSAyLjEyLjg4QzcuNzA1IDMuNDY5IDggNC4xNzUgOCA1YTIuODkgMi44OSAwIDAgMS0uODggMi4xMnonIGZpbGw9JyUyMzk5OTk5OScgZmlsbC1ydWxlPSdub256ZXJvJy8lM0UlM0Mvc3ZnJTNFXCIpIGxlZnQgMTBweCBjZW50ZXIgbm8tcmVwZWF0OyB9XG4gIC5mbGV4aWJsZS10YXgtZG93bmxvYWRzLXdyYXBwZXIgaW5wdXRbdHlwZT0ndGV4dCddOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tYWluLWNvbG9yKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mbGV4aWJsZS10YXgtZG93bmxvYWRzLXdyYXBwZXIgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMCAxLjg3NXJlbTsgfSB9XG5cbi5mbGV4aWJsZS10YXgtZG93bmxvYWRzLXdyYXBwZXIgc2VsZWN0IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGhlaWdodDogMi4xODc1cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDYuMjVyZW07XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1tYWluLWNvbG9yKSB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMScgaGVpZ2h0PSc4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNOS41NDcgMEw1LjUgNC4xMTUgMS40NTMgMCAwIDEuNDc4bDUuNSA1LjU5M0wxMSAxLjQ3OCA5LjU0NyAwJyBmaWxsPSclMjNGRkYnIGZpbGwtcnVsZT0nZXZlbm9kZCcvJTNFJTNDL3N2ZyUzRVwiKSByaWdodCAxMHB4IGNlbnRlciBuby1yZXBlYXQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHdpZHRoOiBhdXRvO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmZsZXhpYmxlLXRheC1kb3dubG9hZHMtd3JhcHBlciBsYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDQ5LCA1NywgNjUsIDAuNik7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cblxuLmRvd25sb2Fkcy10YWJsZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjREZERkRGO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RGREZERjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5kb3dubG9hZHMtdGFibGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0RGREZERjsgfSB9XG4gIC5kb3dubG9hZHMtdGFibGUgaDMsIC5kb3dubG9hZHMtdGFibGUgLmNoYXItd3JhcHBlcjpiZWZvcmUge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmRvd25sb2Fkcy10YWJsZSBoMywgLmRvd25sb2Fkcy10YWJsZSAuY2hhci13cmFwcGVyOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmc6IDRweDsgfSB9XG4gIC5kb3dubG9hZHMtdGFibGUgYSB7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5kb3dubG9hZHMtdGFibGUgYTpudGgtY2hpbGQob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyMywgMjIzLCAyMjMsIDAuMik7IH1cbiAgICAuZG93bmxvYWRzLXRhYmxlIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgICAgIC5kb3dubG9hZHMtdGFibGUgYTpob3ZlciwgLmRvd25sb2Fkcy10YWJsZSBhOmhvdmVyIC5jb2wtdGl0bGUsIC5kb3dubG9hZHMtdGFibGUgYTpob3ZlciAuZGVzYyB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmRvd25sb2Fkcy10YWJsZSBhID4gKiB7XG4gICAgICBwYWRkaW5nOiAwIDEuMjVyZW07IH1cbiAgICAuZG93bmxvYWRzLXRhYmxlIGEgLmNvbC10aXRsZSB7XG4gICAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgICAuZG93bmxvYWRzLXRhYmxlIGEgLmNvbC1jYXQge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgLmRvd25sb2Fkcy10YWJsZSBhIC5jb2wtY2F0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIC5kb3dubG9hZHMtdGFibGUgYSAuZGVzYyB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICAgIGNvbG9yOiByZ2JhKDQ5LCA1NywgNjUsIDAuNyk7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zcmVndWxhcicsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uZG93bmxvYWRzLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDhweDsgfVxuXG4uZmxleGlibGUtY29udGVudC5kb3dubG9hZHMtd3JhcHBlciBhOmhvdmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyB9XG4gIC5mbGV4aWJsZS1jb250ZW50LmRvd25sb2Fkcy13cmFwcGVyIGE6aG92ZXIgLmdyaWQteCB7XG4gICAgYmFja2dyb3VuZDogIzEwNTE2YjsgfVxuXG5ib2R5IC5mbGV4aWJsZS1jb250ZW50LmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgYm9keSAuZmxleGlibGUtY29udGVudC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGJvZHkgLmZsZXhpYmxlLWNvbnRlbnQuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIHVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLThweDsgfSB9XG4gIGJvZHkgLmZsZXhpYmxlLWNvbnRlbnQuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgYm9keSAuZmxleGlibGUtY29udGVudC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGJvZHkgLmZsZXhpYmxlLWNvbnRlbnQuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIGxpIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZzogOHB4OyB9XG4gICAgICAgIGJvZHkgLmZsZXhpYmxlLWNvbnRlbnQuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIGJvZHkgLmZsZXhpYmxlLWNvbnRlbnQuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIGxpIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzJTsgfSB9XG4gICAgYm9keSAuZmxleGlibGUtY29udGVudC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgbGkuZ3JvdyB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICBib2R5IC5mbGV4aWJsZS1jb250ZW50LmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIGJvZHkgLmZsZXhpYmxlLWNvbnRlbnQuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIGE6aG92ZXIgZmlnY2FwdGlvbiB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGg0LCAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGg1LCAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGg2LCAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSwgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciAuZW50cnktdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG5cbi5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDQge1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNibGFjaycsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDEsIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgI2NvbnRhY3Qtb3ZlcmxheSAuY29udGFjdF90aXRsZSwgI2NvbnRhY3Qtb3ZlcmxheSAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIC5jb250YWN0X3RpdGxlLCAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX3RlbCwgI2NvbnRhY3Qtb3ZlcmxheSAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIC5sYXJnZV90ZWwsIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfZW1haWwsICNjb250YWN0LW92ZXJsYXkgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciAubGFyZ2VfZW1haWwsIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcywgI2NvbnRhY3Qtb3ZlcmxheSAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIC5sYXJnZV9hZGRyZXNzIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4uZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGgyLCAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGgzLCAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIC5jaGFyLXdyYXBwZXI6YmVmb3JlLCAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGg1IHtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG4uZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGg0LCAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIGg2LCAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSwgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciAuZW50cnktdGl0bGUge1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH0gfVxuXG4uc3BhY2VyIHtcbiAgaGVpZ2h0OiAxcHg7IH1cbiAgLnNwYWNlci5zbWFsbC1ub25lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zcGFjZXIuc21hbGwtaGFsZiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAuc3BhY2VyLnNtYWxsLW5vcm1hbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICAuc3BhY2VyLnNtYWxsLWRvdWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjRweDsgfVxuICAuc3BhY2VyLnNtYWxsLXRyaXBsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTZweDsgfVxuICAuc3BhY2VyLnNtYWxsLXF1YWQge1xuICAgIG1hcmdpbi1ib3R0b206IDEyOHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNwYWNlci5tZWRpdW0tbm9uZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnNwYWNlci5tZWRpdW0taGFsZiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgICAuc3BhY2VyLm1lZGl1bS1ub3JtYWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgIC5zcGFjZXIubWVkaXVtLWRvdWJsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG4gICAgLnNwYWNlci5tZWRpdW0tdHJpcGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7IH1cbiAgICAuc3BhY2VyLm1lZGl1bS1xdWFkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNwYWNlci5sYXJnZS1ub25lIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc3BhY2VyLmxhcmdlLWhhbGYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgIC5zcGFjZXIubGFyZ2Utbm9ybWFsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH1cbiAgICAuc3BhY2VyLmxhcmdlLWRvdWJsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2NHB4OyB9XG4gICAgLnNwYWNlci5sYXJnZS10cmlwbGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOTZweDsgfVxuICAgIC5zcGFjZXIubGFyZ2UtcXVhZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMjhweDsgfSB9XG5cbi8qIExhenlsb2FkaW5nIHZpYSBMYXp5c2l6ZXMgKi9cbi8qIGZhZGUgaW1hZ2UgaW4gYWZ0ZXIgbG9hZCAqL1xuLyogU3Bpbm5lciBjaGVjayBodHRwOi8vc2FtaGVyYmVydC5uZXQvc3ZnLWxvYWRlcnMvICovXG4ubGF6eWxvYWQsXG4ubGF6eWxvYWRpbmcge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5sYXp5bG9hZGVkIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA2MDBtczsgfVxuXG5pbWcubGF6eWxvYWQ6bm90KFtzcmNdKSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJy4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIFNldHRpbmdzXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxuXG4gIEBpZiAkcHJvdG90eXBlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogZ2V0LWNvbG9yKHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IGdldC1jb2xvcih3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vICBGb3VuZGF0aW9uUHJlc3Mgc2V0dGluZ3MuXG4vLyAgQmFzZWQgb24gRm91bmRhdGlvbiBmb3IgU2l0ZXMgdjYuNC4zXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcbkBpbXBvcnQgJ2dsb2JhbC9jb2xvcnMnO1xuXG4vLyBGT05UU1xuQG1peGluIHJlZ3VsYXIoKSB7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc3JlZ3VsYXInLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbkBtaXhpbiBzZW1pYm9sZCgpIHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgXG59XG5AbWl4aW4gYm9sZCgpIHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuQG1peGluIGJsYWNrKCkge1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNibGFjaycsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBcbn0gXG5cblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMzEzOTQxLFxuICBzZWNvbmRhcnk6ICMxMDUxNmIsIC8vIFN0YXJ0c2VpdGVuZmFyYmUgYWxzIEZhbGxiYWNrXG4gIHN1Y2Nlc3M6ICM2RUI1MzMsXG4gIHdhcm5pbmc6ICNmZmZiMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKTtcbiRjdXJyZW50LWNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTtcblxuXG4kcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLHByaW1hcnkpO1xuJHByaW1hcnktZGFyazogIzQ2NjJBMztcbiRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSxzZWNvbmRhcnkpO1xuJGdyZWVuOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsc3VjY2Vzcyk7XG4kcmVkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsYWxlcnQpO1xuJGdyYXk6ICNERkRGREY7XG4kbGlnaHQtZ3JheTogJGdyYXk7XG4kbWVkaXVtLWdyYXk6ICRncmF5O1xuJGRhcmstZ3JheTogJHByaW1hcnktY29sb3I7IC8vIEFudGhyYXppdFxuJGJsYWNrOiAjMDAwMDAwO1xuJHdoaXRlOiAjRkZGRkZGO1xuJGJsdWU6ICMxMDUxNmI7XG4kdmlvbGV0OiAjMkIxQzVGO1xuJHNob3A6IHZhcigtLXNob3AtY29sb3IpOyBcbiRlZ3VpY2hldDogI2ZmNmI2YjtcbiR3YXJuaW5nOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsd2FybmluZyk7XG5cbiRicm93bjogI0I1QjRBODtcblxuXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRib2R5LWZvbnQtZmFtaWx5OiAncG9wcGluc21lZGl1bScsLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiByZW0tY2FsYygzKTtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMHJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogODAwcHgsXG4gIHhsYXJnZTogMTAyNHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IG1lZGl1bTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlIHh4bGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnO1xuJGhlYWRlci1mb250LXdlaWdodDogbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuMjtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIzKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbGFyZ2U6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDI2KSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDIzKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDIxKSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIyKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudDtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDA7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMHB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gMDtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHdoaXRlO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjQwZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiByZW0tY2FsYyg0MCk7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDA7XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMHB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogMDtcbiRjYXJkLXBhZGRpbmc6IDA7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAwO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMHB4IDBweCByZ2JhKCRibGFjaywgMCk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgMHB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogMDtcbiRtZW51LXNpbXBsZS1tYXJnaW46IDA7XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6IHRyYW5zcGFyZW50O1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAzMjBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyODBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudDtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiB0cmFuc3BhcmVudDtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDApO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWV4cGFuZC1tYXg6IDY7XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0aXRsZWJhci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3I7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDA7XG4kdG9wYmFyLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWU7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW5zOiAxNjtcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiA4cHgsXG4gIG1lZGl1bTogMTZweCxcbiAgeGxhcmdlOiAzMnB4LFxuKTtcbiRncmlkLXNtYWxsOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLHNtYWxsKTtcbiRncmlkLW1lZGl1bTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycyxtZWRpdW0pO1xuJGdyaWQteGxhcmdlOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLHhsYXJnZSk7XG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0cyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXJuIHRoZW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy8gXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaWYgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkZ3JpZC1jb2x1bW5zLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG9sZC16Zi1zaXplICE9IG51bGwge1xuICAgIC8vIFJlc3RvcmUgdGhlIG9sZCBicmVha3BvaW50IHNpemVcbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkLXpmLXNpemU6IG51bGwgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW5nIC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2luZy5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyIG9yIDEvMy5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIG4gb2YgbiBhbmQgbnVtYmVyIGNvdW50c1xuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgJHNpemU6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkc2l6ZSA8IDEge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2Agb3IgYHNocmlua2AuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBiYXNlIHN0eWxlLCBhbGwgb3RoZXJzIGluaGVyaXQgZnJvbSBpdFxuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHdpZHRoLCBoZWlnaHQpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICN7eHktY2VsbC1zaXplKCRzaXplKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJHNpemUpfSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCBvdXIgZ3V0dGVycyBmcm9tIG1hcCBpZiBhdmFpbGFibGUsIGlmIG5vdCBtYXAganVzdCByZXR1cm4gdGhlIHZhbHVlLlxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gIC8vIEJhc2UgZmxleCBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRicmVha3BvaW50LCAkZ3V0dGVycykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcbiAgICAkc2l6ZTogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCBjYWxjKCN7eHktY2VsbC1zaXplKCRuKX0gKyAjeyRndXR0ZXJ9KSwgI3t4eS1jZWxsLXNpemUoJG4pfSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7ICBcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbiAgYS5idXR0b24ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1lbGVtZW50LW5lc3RpbmdcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbiBob3ZlcmVkIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIExlZnRcbiAgICAmLmljb24tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBSaWdodFxuICAgICYuaWNvbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgIH1cblxuICAgIC8vIEljb24gVG9wXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJvdHRvbVxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuICAgIFxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG5cbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8gV0FSTklORzogV2lsbCBiZSByZW1vdmVkIGluIHZlcnNpb24gNi40XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbzogZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkKCkuIGZvdW5kYXRpb24tZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG59XG5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW8pIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgcmVzcG9uc2l2ZS1lbWJlZCgpLiBmbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4kcG9zaXRpb246IGxlZnQsXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4kY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogaW5oZXJpdDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnLCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwubWVudSA+IGxpID4gYSB7IFxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiQGNoYXJzZXQgJ3V0Zi04JztcblxuXG5AaW1wb3J0ICdzZXR0aW5ncyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcbi8vQGltcG9ydCAnbW90aW9uLXVpJztcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3Jtcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcblxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcblxuLy9AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG4vL0BpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xuXG4vKlxuICBNeSBjdXN0b20gc3R5bGVzOlxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXG4qL1xuXG5cbi8vIEdsb2JhbFxuQGltcG9ydCBcImdsb2JhbC9fYWNjZXNzaWJpbGl0eVwiO1xuLy9AaW1wb3J0IFwiZ2xvYmFsL2NvbG9yc1wiO1xuQGltcG9ydCBcImdsb2JhbC93cC1hZG1pblwiO1xuQGltcG9ydCBcImdsb2JhbC93cC1vdmVycmlkZXNcIjtcbkBpbXBvcnQgJ2dsb2JhbC9mb250cyc7XG5cbi8vIE1vZHVsZXNcbkBpbXBvcnQgXCJtb2R1bGVzL25hdmlnYXRpb25cIjtcbi8vQGltcG9ydCBcIm1vZHVsZXMvY29udGVudFwiO1xuLy9AaW1wb3J0IFwibW9kdWxlcy9mb290ZXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2VkaXRvci1zdHlsZVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1vZHVsZXMvY29udGFjdC1vdmVybGF5XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jYXJkc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvYWNjb3JkaW9uXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9yZXNwb25zaXZlLWVtYmVkXCI7XG5AaW1wb3J0IFwibW9kdWxlcy90b3BiYXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3NlcnZpY2VuYXZcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2FubGllZ2VuXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9wYXJ0bmVyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9tYWdhemluXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9zZWFyY2hcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2lucHV0LWdyb3VwXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9idXR0b25zXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9pbmZvYm94XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9mYW5jeWJveFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvcGF0Y2hcIjtcbkBpbXBvcnQgXCJtb2R1bGVzLzItY2xpY2stZW1iZWRcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL29yZ2FuaWdyYW1tXCI7XG5cbi8vIFRlbXBsYXRlc1xuQGltcG9ydCBcInRlbXBsYXRlcy9zaG9wXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL2FyY2hpdmVcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvc2luZ2xlXCI7XG4vL0BpbXBvcnQgXCJ0ZW1wbGF0ZXMva2l0Y2hlbi1zaW5rXCI7XG5cbi8vIExpYnJhcnlcbkBpbXBvcnQgXCJsaWJyYXJ5L3ByaW50XCI7XG5AaW1wb3J0IFwibGlicmFyeS9wbGFjZWhvbGRlclwiO1xuXG4vLyBHbG9iYWxcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdnbG9iYWwvZnJvbnRwYWdlJztcblxuLy8gQmxvY2tzIC8gRmxleGlibGVcbkBpbXBvcnQgJ2Jsb2Nrcy9pZnJhbWUnO1xuQGltcG9ydCAnYmxvY2tzL2xpbmtzJztcbkBpbXBvcnQgJ2Jsb2Nrcy9lZGl0b3InO1xuQGltcG9ydCAnYmxvY2tzL2Z1bGx3aWR0aCc7XG5AaW1wb3J0ICdibG9ja3MvZG93bmxvYWRzJztcbkBpbXBvcnQgJ2Jsb2Nrcy9oYWxmd2lkdGgnO1xuQGltcG9ydCAnYmxvY2tzL3RoaXJkd2lkdGgnO1xuQGltcG9ydCAnYmxvY2tzL2Fuc3ByZWNocGFydG5lcic7XG5AaW1wb3J0ICdibG9ja3MvY2hpbGRwYWdlcyc7XG5AaW1wb3J0ICdibG9ja3MvaW5mb2JveCc7XG5AaW1wb3J0ICdibG9ja3MvdHh0aW1nJztcbkBpbXBvcnQgJ2Jsb2Nrcy9mb3Jtcyc7XG5AaW1wb3J0ICdibG9ja3MvdGF4LWRvd25sb2Fkcyc7XG5AaW1wb3J0ICdibG9ja3MvZ2FsZXJpZSc7XG5AaW1wb3J0ICdibG9ja3Mvendpc2NoZW50aXRlbCc7XG5AaW1wb3J0ICdibG9ja3Mvc3BhY2VyJztcblxuXG4vKiBMYXp5bG9hZGluZyB2aWEgTGF6eXNpemVzICovXG5AaW1wb3J0IFwibW9kdWxlcy9sYXp5bG9hZFwiO1xuIiwiLy8gVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gQWRkcmVzc2VzIHBhcnQgb2YgdGhlbWUtY2hlY2sgaXNzdWUgIzg0MC5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9BdXRvbWF0dGljL19zL2Jsb2IvbWFzdGVyL3N0eWxlLmNzc1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMTc1OWI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7IC8vIEFib3ZlIFdQIHRvb2xiYXIuXG59XG4iLCIvLyBGaXggdGhlIGlzc3VlIHdoZXJlIHRoZSBXUCBhZG1pbi1iYXIgb3ZlcmxhcHMgdGhlIG1vYmlsZSBtZW51XG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG4vLyBNYWtlIHN1cmUgdGhhdCB0aGUgV1AgYWRtaW4tYmFyIGRvZXMgbm90IG92ZXJsYXAgRm91bmRhdGlvbiBjb21wb25lbnRzXG5ib2R5LmFkbWluLWJhciB7XG4gIC8vIE9mZnNldCBzdGlja3kgdG9wIGJhclxuICAmLmYtdG9wYmFyLWZpeGVkIHtcbiAgICAuc3RpY2t5LmZpeGVkIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMyKTtcbiAgICB9XG4gIH1cbiAgLy8gT2Zmc2V0IG1vYmlsZSBvZmYtY2FudmFzIG1lbnVcbiAgJi5vZmZjYW52YXMge1xuICAgIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgICAgdG9wOiByZW0tY2FsYyg0Nik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDc4Mykge1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDMyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi53cC1jYXB0aW9uID4gZmlnY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjOTk5O1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG59XG5cbnAud3AtY2FwdGlvbi10ZXh0e1xuICBmb250LXNpemU6OTAlO1xuICBjb2xvcjogIzY2NjtcbiAgcGFkZGluZzpyZW0tY2FsYygxMCkgMDtcbn1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW46IDA7XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9vcGVuc2Fucy1yZWd1bGFyLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcblxufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9vcGVuc2Fucy1ib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zLWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcblxuXG59XG5cblxuXG4vKiEgR2VuZXJhdGVkIGJ5IEZvbnQgU3F1aXJyZWwgKGh0dHBzOi8vd3d3LmZvbnRzcXVpcnJlbC5jb20pIG9uIEp1bHkgNSwgMjAyMyAqL1xuXG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3BvcHBpbnMtYm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9wb3BwaW5zLWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuXG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYmxhY2snO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9wb3BwaW5zLWJsYWNrLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL3BvcHBpbnMtYmxhY2std2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3JlZ3VsYXInO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9wb3BwaW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvcG9wcGlucy1yZWd1bGFyLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zbWVkaXVtJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvcG9wcGlucy1tZWRpdW0td2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvcG9wcGlucy1tZWRpdW0td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9wb3BwaW5zLXNlbWlib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL3BvcHBpbnMtc2VtaWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuXG5cbiIsIi8vIE5hdmlnYXRpb24gYnJlYWtwb2ludHNcbi5tb2JpbGUtbWVudSxcbi5zaXRlLXRpdGxlLWJhciB7XG4gIEBpbmNsdWRlIGhpZGUtZm9yKHh4bGFyZ2UpO1xufVxuXG4uZGVza3RvcC1tZW51LFxuLnNpZGViYXIge1xuICBAaW5jbHVkZSBzaG93LWZvcih4eGxhcmdlKTtcbn1cblxuLy8gU2l0ZSB0aXRsZVxuLnNpdGUtZGVza3RvcC10aXRsZSBhIHtcbiAgQGluY2x1ZGUgYm9sZDtcbn1cblxuLy8gTUVOVSBERUZBVUxUU1xuLm1lbnUge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIC5jdXJyZW50X3BhZ2VfaXRlbSBhLFxuICAuY3VycmVudC1wYWdlLWFuY2VzdG9yIGEgeyBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG59XG5cbi8vIE1vYmlsZSBtZW51XG4ubW9iaWxlLW1lbnUge1xuICBkaXNwbGF5OiBub25lOyAvLyBwcmV2ZW50cyByZXBhaW50IGNhdXNlZCBieSBKUyBoaWRpbmcgbWVudSBvbmxvYWRcbn1cblxuLy8gVGl0bGUgQmFyXG4udGl0bGUtYmFyIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi5tZW51LWljb24tYnV0dG9uIHsgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgQGluY2x1ZGUgYm9sZDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDkgMCk7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMiBlYXNlO1xuICBtYXJnaW4tbGVmdDogJGdyaWQtbWVkaXVtLzI7XG4gICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgc3BhbiB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxuICB9XG4gIGJ1dHRvbiB7XG4gICAgJjpob3ZlciB7IGN1cnNvcjogcG9pbnRlcjsgIH1cbiAgfVxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEyKTtcbiAgfVxufVxuXG4ub2ZmLWNhbnZhcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gID4gdWwubWVudSB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG4gIH1cblxuICAubWVudSAuYWN0aXZlID4gYSB7IGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH1cblxufVxuXG4vLyBDSElMRE5BViBERUZBVUxUIEZPUiBBTEwgTUVOVVNcbi50b3AtYmFyIHtcbiAgLmNoaWxkbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkgeyBkaXNwbGF5OiBmbGV4O31cbiAgICAmLCB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC44NSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAxMCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICB9XG4gICAgPiBsaSB7XG4gICAgICAgIG1hcmdpbjogMCByZW0tY2FsYygycHgpO1xuICAgICAgICA+IGEgeyAvLyAxc3QgTGV2ZWxcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIEBleHRlbmQgJXVwcGVyY2FzZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmLmlzLWFjdGl2ZSBhLFxuICAgICAgICA+IGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yOyBcbiAgICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cblxuXG4vL0RSSUxMRE9XTlxuXG4uZHJpbGxkb3duIHtcbiAgJHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gICR0cmFuc2l0aW9uLWVhc2luZzogY3ViaWMtYmV6aWVyKDAuNjEwLCAwLjAwNSwgMC4zNjAsIDEuMDEwKTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIC5oZWlnaHQtd3JhcHBlciB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuICB9XG4gIC5jaGlsZG5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJi5yZWFkeXtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZywgb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgICZbZGF0YS1kZXB0aD1cIjFcIl0ge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7fVxuICAgICZbZGF0YS1kZXB0aD1cIjJcIl0ge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwJSk7fVxuICAgICZbZGF0YS1kZXB0aD1cIjNcIl0ge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzAwJSk7fVxuICAgICZbZGF0YS1kZXB0aD1cIjRcIl0ge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwJSk7fVxuICAgICZbZGF0YS1kZXB0aD1cIjVcIl0ge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAwJSk7fVxuICAgIC5jaGlsZHJlbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgfVxuICAgIGxpW2NsYXNzKj1cImN1cnJlbnRcIl0gLmNoaWxkcmVuIHtkaXNwbGF5OiBibG9jazt9XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoMykgc29saWQgJGN1cnJlbnQtY29sb3I7XG4gICAgfVxuICB9XG4gIGxpLnBhZ2VfaXRlbSB7XG4gICAgJHNpemU6IHJlbS1jYWxjKDQyKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgJl9oYXNfY2hpbGRyZW4ge1xuICAgICAgPiBhOm5vdCguYmFjaykge3dpZHRoOiBjYWxjKDEwMCUgLSAjeyRzaXplfSk7fVxuICAgIH1cbiAgICAvLyYuY3VycmVudF9wYWdlX2l0ZW0gIGF7IGNvbG9yOiAkY3VycmVudC1jb2xvcn0gXG4gICAgICBhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWluLWhlaWdodDogJHNpemU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMTIpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICBAZXh0ZW5kICV1cHBlcmNhc2U7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIC8vY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsLjcpO1xuICAgICAgICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsLjgpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBjb2xvcjogJGN1cnJlbnQtY29sb3I7fVxuICAgICAgICAgICAgICAvLyYsKiB7IGNvbG9yOiAkd2hpdGU7IH0gXG4gICAgICAgICAgfVxuICAgICAgICAgICYuYmFjayB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg5KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoMTgpfSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkZ3JheSwwLjIpO1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIGhlaWdodDogMWZyO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAkc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpsYXN0LW9mLXR5cGUgYSB7Ym9yZGVyLWJvdHRvbTogbm9uZTt9XG4gIH1cbn1cblxuLy8gT2ZmIENhbnZhcyBDaGlsZG5hdlxuICAub2ZmLWNhbnZhcyB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIC5zZXJ2aWNlbmF2LWxhbmdzd2l0Y2gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW07XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRtZWRpdW0tZ3JheSwwLjEpO1xuICAgICAgLm1lbnUtc3ByYWNoYXVzd2FobC1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIEBleHRlbmQgJXVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bS80O1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg1MDApO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwwLjIpO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBidXR0b24ge1xuICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtIGF1dG87XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgc3BhbiB7IC8vIFRleHRcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHNwYW4geyBjb2xvcjogJHdoaXRlO31cbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIHN2ZyB7d2lkdGg6IHJlbS1jYWxjKDIxKTt9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRyaWxsZG93biB7XG4gICAgICAuaGVpZ2h0LXdyYXBwZXIge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRtZWRpdW0tZ3JheSwwLjEpO1xuICAgICAgfVxuICAgICAgJiwgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgbGkucGFnZV9pdGVtIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJG1lZGl1bS1ncmF5LDAuMSk7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkcHJpbWFyeS1jb2xvciwzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc2VydmljZW5hdi1tZW51IHVsIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsLjcpO1xuICAgICAgICAgICAgICAmOmFmdGVyIHtjb2xvcjogJHdoaXRlO31cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUgYTphZnRlciB7ZGlzcGxheTogbm9uZTt9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZW5hdi1zZWFyY2gge1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtKjEuNSBhdXRvO1xuICAgICAgLmlucHV0LWdyb3VwIHsgYm9yZGVyOiAwO31cbiAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCR3aGl0ZSwwLjIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAmOmZvY3VzIHtib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO31cbiAgICAgIH1cbiAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAmOmhvdmVyIHsgfVxuICAgICAgICBzdmcge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHRyYW5zbGF0ZSg1cHgsNXB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5vZmYtY2FudmFzLWZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLmZiIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kOiAjM0I1OTk4OyAvL2ZhY2Vib29rIGJsYXVcbiAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8yICRncmlkLW1lZGl1bTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgfVxuICAgIC5zZXJ2aWNlbmF2LWxvZ29zIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjEuNTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkZ3JpZC1tZWRpdW0qNDtcbiAgICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtLzI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0IHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuXG5cblxuLy8gVGFibGV0IGFuZCBkZXNrdG9wIG1lbnVcblxuLnRvcC1iYXIge1xuXG4gIGEge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbiAgfVxuXG4gIC5tZW51IHtcbiAgICBsaSB7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMTApO1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHsgYm9yZGVyLXJpZ2h0OiAwO31cbiAgICAgICY6bm90KC5tZW51LXRleHQpIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2U7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAjbWVudS1zcHJhY2hhdXN3YWhsIHtcbiAgICAqIHtcbiAgICAgICR3aWR0aCA6IDMycHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgIGhlaWdodDogJHdpZHRoO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwwLjEpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuICAgIGxpIHsgbWFyZ2luOiByZW0tY2FsYygwIDIpO31cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZS1pbjtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG4gIC5kcm9wZG93bi5tZW51IC5zdWJtZW51IHsgYm9yZGVyOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51IC5oYXMtc3VibWVudS5pcy1kb3duLWFycm93IGEgeyBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5kcm9wZG93bi5tZW51IC5oYXMtc3VibWVudS5pcy1kb3duLWFycm93ID4gYTo6YWZ0ZXIgeyBib3JkZXI6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnU6Zmlyc3QtY2hpbGQgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4uc2l0ZS1uYXZpZ2F0aW9uIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzogMDsgLy8gcHJldmVudHMgY29udGFpbmVyIHZpc2liaWxpdHkgb24gc21hbGwgc2NyZWVuc1xuICB9XG59XG5cbi8vIFdQIHBvc3QgbmF2aWdhdGlvblxuLnBvc3QtbmF2aWdhdGlvbiB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4ubmF2LXByZXZpb3VzIHtcbiAgZmxvYXQ6bGVmdDtcbn1cblxuLm5hdi1uZXh0IHtcbiAgZmxvYXQ6cmlnaHQ7XG59XG5cblxuXG4iLCJib2R5I3RpbnltY2V7XG4gIGhlaWdodDogYXV0bzsgLy8gRml4IGVkaXRvciBzdHlsZSBidWdcbiAgbWF4LXdpZHRoOiAkZ3JpZC1yb3ctd2lkdGg7IC8vIEdpdmUgdGhlIGVkaXRvciBhIG1heC13aWR0aFxuICBwYWRkaW5nOiByZW0tY2FsYygyMCkgIWltcG9ydGFudDtcbiAgYSB7IGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbn0iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbi5wYWdpbmF0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0qNCAwICRncmlkLW1lZGl1bSAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyAgfVxuICAgICoge1xuICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIG1hcmdpbjogMCAkZ3JpZC1tZWRpdW0qMC41O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG5cbiAgICAucGFnZS1udW1iZXJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgICAgICAgJjpub3QoLnByZXYpOm5vdCgubmV4dCkge1xuICAgICAgICAgICAgJHNpemU6IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjtcblxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgJi5wcmV2LFxuICAgICAgICAmLm5leHQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDsgXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgc3ZnIHsgbWFyZ2luOiAwICRncmlkLW1lZGl1bSowLjU7IH1cbiAgICAgICAgICAgIHBhdGggeyB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO31cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHBhdGggeyBjb2xvcjogJHByaW1hcnktY29sb3I7ICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5wcmV2IHsgXG4gICAgICAgICAgICBzdmcgeyBtYXJnaW4tbGVmdDogMDt9XG4gICAgICAgIH1cbiAgICAgICAgJi5uZXh0IHtcbiAgICAgICAgICAgIHN2ZyB7IFxuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICY6bm90KC5uZXh0KTpub3QoLnByZXYpIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgfVxuICAgIH1cbiAgICBhOm5vdCgucHJldik6bm90KC5uZXh0KTpob3ZlcixcbiAgICAuY3VycmVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICB9XG5cbiAgIFxufVxuXG51bC5wYWdpbmF0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW07XG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygyMDAwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEgeyBjb2xvcjogJHByaW1hcnktY29sb3I7IH1cbiAgICAgICAgLmN1cnJlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAmLCBzcGFuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbn1cblxuIiwiI2NvbnRhY3Qtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgei1pbmRleDogMTAwO1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0NSk7XG4gICAgICAgIHotaW5kZXg6IDEwMTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgICAuZGVzYyB7XG5cdFx0Y29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC42KTtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0gMCAwIDA7XG5cdH1cbiAgICAuc2Nyb2xsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtIDA7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgLypkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyovXG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgJi5vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAuc2Nyb2xsIHtvdmVyZmxvdzogYXV0bzt9XG4gICAgfVxuICAgIC5jb250YWN0X3RpdGxlIHsgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtOyBAZXh0ZW5kIGgxOyB9XG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDY1KTtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDg4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKXsgd2lkdGg6IHJlbS1jYWxjKDEyMCk7IH1cbiAgICB9XG4gICAgc3ZnIHtcbiAgICAgICAgJHNpemU6IHJlbS1jYWxjKDU0KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogJHNpemUvMS41O1xuICAgICAgICBoZWlnaHQ6ICRzaXplLzEuNTtcbiAgICAgICAgdG9wOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIHJpZ2h0OiAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgei1pbmRleDogMTAyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgICAgICB0b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgcmlnaHQ6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSl7XG4gICAgICAgICAgICB0b3A6ICRncmlkLW1lZGl1bSo0OyBcbiAgICAgICAgICAgIHJpZ2h0OiAkZ3JpZC1tZWRpdW0qNDtcbiAgICAgICAgfVxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgcmVjdCB7ZmlsbDogJHNlY29uZGFyeS1jb2xvcjt9XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgcCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNik7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSl7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ncmlkIHtcbiAgICAgICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKXsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMDI0KTtcbiAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSl7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Upe1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICAgICAgICB9XG4gXG4gICAgICAgIH1cbiAgICAgICAgPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMi41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe21hcmdpbjogMCAwIDAgYXV0bzt9XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzEuNSAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmhvbWVfc3VidGl0bGUge3BhZGRpbmctbGVmdDogMDt9XG4gICAgLmxhcmdlX3RlbCwgLmxhcmdlX2VtYWlsLCAubGFyZ2VfYWRkcmVzcyB7XG4gICAgICAgIEBleHRlbmQgaDE7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXttYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMi41O31cbiAgICB9XG4gICAgLmxhcmdlX3RlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzgpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7Zm9udC1zaXplOiByZW0tY2FsYyg2MCk7fVxuICAgIH1cbiAgICAubGFyZ2VfZW1haWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7Zm9udC1zaXplOiByZW0tY2FsYyg0OSk7fVxuICAgIH1cbiAgICAubGFyZ2VfYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHRsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNik7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0fVxuICAgICAgICBkaXYge2Rpc3BsYXk6IGJsb2NrO31cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjYpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmh0bWwuY29udGFjdC1pcy1vcGVuIHtcbiAgICAmW2RhdGEtd2hhdGlucHV0PSd0b3VjaCddIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICNjb250YWN0LW92ZXJsYXkub3BlbiB7XG4gICAgICAgICAgICAuc2Nyb2xsIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNhcmQtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAkZ3JpZC1zbWFsbCo1IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0qMyAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRncmlkLW1lZGl1bS8yO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICB9XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgPiAqIHtcbiAgICAgICAgLy9mbGV4OiAwIDEgMzMuMzMzMyU7XG4gICAgICAgIHdpZHRoOiBjYWxjKCA1MCUgLSAjeyRncmlkLW1lZGl1bX0gKTtcbiAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0vMjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyggMzMlIC0gI3skZ3JpZC1tZWRpdW19ICk7XG4gICAgICAgIH1cbiAgICB9XG4gICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjMwcHgsMWZyKSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICBncmlkLWdhcDogcmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IC1tcy1ncmlkKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICA+ICoge1xuXG4gICAgICAgICAgICBmbGV4OiAwIDEgNDglO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4uY2FyZCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICY6aG92ZXIge1xuICAgICAgICAua2FjaGVsLW1ldGEsIC5rYWNoZWwtbWV0YSBoNSBzdmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5rYWNoZWwtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgICY6YWZ0ZXIge29wYWNpdHk6IDAuODt9XG4gICAgICAgIC5tZXRhIHtcbiAgICAgICAgICAgICYsIHN2ZyB7Y29sb3I6ICR3aGl0ZTt9XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG5cbiAgICAgICAgfVxuICAgIH1cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmthY2hlbC1tZXRhIHtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0MSk7XG4gICAgICAgIG1heC13aWR0aDogODUlO1xuICAgICAgICAvL3RyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMjApO1xuICAgICAgICAgICAgc3ZnIHtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGltZyB7IG1hcmdpbjogMDt9XG4gICAgfVxufVxuXG5cbi8vIE5FV1MgQ0FSRFNcbi5ibG9nIHtcbiAgICAud3JhcHBlci0tbmV3cyB7IGdyaWQtZ2FwOiAkZ3JpZC1zbWFsbCoyO31cbn1cbi53cmFwcGVyLS1uZXdzIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtc21hbGwvMztcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1zbWFsbC8zO1xuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAvLyBHcmlkXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIC8vZ3JpZC1nYXA6ICRncmlkLXNtYWxsKjI7IFxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwxZnIpKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgIH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IC1tcy1ncmlkKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAuY2FyZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDMpIHNvbGlkICRjdXJyZW50LWNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoJGJsYWNrLDAuMTUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZmxleDogMSAxIDUwJTt9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZmxleDogMSAxIDI1JTt9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygzKSBzb2xpZCByZ2JhKCRibGFjaywwLjI1KTtcbiAgICAgICAgICAgICYsIC5uZXdzLW1ldGEgeyBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yOyB9XG4gICAgICAgICAgICAubmV3cy1tZXRhLCAuZGVzY3JpcHRpb24sIHNwYW4sIGg1IHsgY29sb3I6ICR3aGl0ZTsgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGg1LCAuZGVzY3JpcHRpb24geyBwYWRkaW5nOiAwICRncmlkLW1lZGl1bTsgfVxuICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRncmlkLW1lZGl1bS8yO1xuICAgIH1cbiAgICAubmV3cy1rYWNoZWwtaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICAgICAgaW1nIHsgXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5uZXdzLW1ldGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzIgJGdyaWQtbWVkaXVtIDAgJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjkpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIEBleHRlbmQgJXVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgc3ZnIHttYXJnaW4tbGVmdDogJGdyaWQtbWVkaXVtLzI7fVxuICAgIH1cbn1cbiIsIlxuLy8gREVGQVVMVCBBS0tPUkRFT05cbi5hY2NvcmRpb24ge1xuICAgIC5hY2NvcmRpb24taXRlbSB7IGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRwcmltYXJ5LWNvbG9yLC4zKTt9XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bSo0O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgICAgICAvLyY6aG92ZXIgeyB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmVtYmVkLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmVtYmVkLWNvbnRhaW5lciBpZnJhbWUsXG4uZW1iZWQtY29udGFpbmVyIG9iamVjdCxcbi5lbWJlZC1jb250YWluZXIgZW1iZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4iLCIvLyBMT0dPICsgVE9QQkFSXG4udG9wLWJhciB7XG4gICAgLnRvcC1iYXItaW5uZXJ3cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgfVxuICAgIH1cbiAgICAudG9wLWJhci10aXRsZSB7IC8vIExPR09cbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyAgXG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgdG9wOiByZW0tY2FsYygtNDgpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMSAxNSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgcGFkZGluZzogcmVtLWNhbGMoMTIgMTQpOyB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge3BhZGRpbmc6IHJlbS1jYWxjKDIwIDMwIDIwIDIwKTt9XG4gICAgICAgICAgICAqL1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSAxNik7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHsgXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUgMzIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTUwKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBoZWlnaHQ6IHJlbS1jYWxjKDEyMCk7IH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBvbmx5KSB7ICBtYXJnaW4tdG9wOiAtMjBweDsgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkgeyBcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNzApOyBcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQ1cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3NXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTc1cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTc1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTc1cHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLTU3JSwtNTUlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC03MyUsLTczJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLTQ1JSwtNDUlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRvcC1iYXItcmlnaHQgeyAvLyBTRVJWSUNFTkFWXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgZmxleDogaW5oZXJpdDtcbiAgICB9XG4gICAgLmNoaWxkbmF2IHtcbiAgICAgICAgQGV4dGVuZCAldXBwZXJjYXNlO1xuICAgIH1cbiAgICAubW9iaWxlLXBhdGNoZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBkaXNwbGF5OiBub25lO31cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJHNob3A7XG4gICAgICAgICAgICBAaW5jbHVkZSBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAuNzEyNXJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtKjAuNTtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBhLnBhdGNoLWVndWljaGV0IHsgXG4gICAgICAgICAgICAgIGNvbG9yOiAkZWd1aWNoZXQ7IFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gU0VSVklDRU5BVlxuLnNlcnZpY2VuYXYge1xuICAgIC8vIEFsbCBFbGVtZW50c1xuICAgICYsICoge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuICAgIC8vIEp1c3QgU2VydmljZW5hdiBDb250YWluZXJcbiAgICAmIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygyMCAwKTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7IGRpc3BsYXk6IGZsZXg7fSBcbiAgICB9XG4gICAgLy8gU2VhcmNoXG4gICAgLnNlcnZpY2VuYXYtc2VhcmNoIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDMwIDAgMCk7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTgwKTtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgfVxuICAgIC8vIExvZ29zXG4gICAgLnNlcnZpY2VuYXYtbG9nb3Mge1xuICAgICAgICA+ICoge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBMYW5nXG4gICAgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCB7XG4gICAgICAgIGxpIHsgXG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggJGdyYXk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDQpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gQU5MSUVHRU5cbi5wYWdlLXRlbXBsYXRlLWFubGllZ2VuIHtcbiAgICAuZW50cnktdGl0bGUgeyB0ZXh0LWFsaWduOiBjZW50ZXI7fVxufVxuLmFubGllZ2VuLWxpc3Qge1xuICAgIEBleHRlbmQgJXJlc2V0Ym94O1xuICAgIHNtYWxsIHtmb250LXNpemU6IHJlbS1jYWxjKDEyKTt9XG4gICAgaDMge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIEBleHRlbmQgJXVwcGVyY2FzZTtcbiAgICB9XG59XG5cbiAgICAuYW5saWVnZW4taGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgID4gKiB7IG1hcmdpbjogYXV0bzt9XG4gICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI1MCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSoyIGF1dG8gMCBhdXRvO1xuICAgICAgICAgICAgaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICB9XG4gICAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgICAgY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNoYXJtZW51IHtcbiAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgIEBleHRlbmQgJXVwcGVyY2FzZTtcbiAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzQpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNCk7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG5cbiAgICAgICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hhci13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICY6YmVmb3JlIHsgLy8gTGV0dGVyXG4gICAgICAgICAgICBAZXh0ZW5kIGgzLCAldXBwZXJjYXNlO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWNoYXIpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IHBhZGRpbmctbGVmdDogJGdyaWQtc21hbGwqMjsgfVxuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNTBweCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNCAxMCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gQU5MSUVHRU4gSVRFTVNcbiAgICAuYW5saWVnZW46bm90KC5yZXN1bHRzLWl0ZW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgJi5ldmVuIHsgYmFja2dyb3VuZDogcmdiYSgkYnJvd24sMC4xKTsgfVxuXG4gICAgICAgIC5hbmxpZWdlbi10aXRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8xLjUgMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgNzUlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRncmlkLXNtYWxsKjI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICA+ICogeyBmbGV4OiAxIDEgNTAlOyAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yO31cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7IHBhZGRpbmctdG9wOiAkZ3JpZC1tZWRpdW0vMjsgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hbmxpZWdlbi1saW5rLXdyYXBwZXIge1xuICAgICAgICAgICAgZmxleDogMSAxIDI1JTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4iLCIvLyBQQVJUTkVSXG4ucGFydG5lci1pbm5lcndyYXBwZXIge1xuICAgIC8vIEZsZXggRmFsbGJhY2tcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvLyBHcmlkXG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IC1tcy1ncmlkKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgPiAqIHsgZmxleDogMSAxIDMzLjMzJTt9XG4gICAgfVxuICAgIGdyaWQtZ2FwOiAxNXB4O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI2MHB4LDFmcikpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAkZ3JpZC1zbWFsbCoyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXsgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjM7IH1cbiAgICA+ICoge1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDEwcHggMHB4IHJnYmEoJGJsYWNrLDAuMTUpO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkY3VycmVudC1jb2xvcjtcbiAgICB9XG4gICAgLnBhcnRuZXItaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpeyBtaW4taGVpZ2h0OiByZW0tY2FsYygzMDApOyB9XG5cbiAgICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OmdyaWQpIHsgLy8gUmVzZXQgTWFyZ2lucyBpZiBHcmlkIHN1cHBvcnRlZFxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHsgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtOyB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjYpO1xuICAgICAgICB9XG4gICAgICAgIGg2IHsgZm9udC1zaXplOiByZW0tY2FsYygxNyk7ICB9XG4gICAgICAgIHNwYW4geyAvLyBadXIgV2Vic2l0ZVxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgc3ZnIHsgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTt9XG4gICAgICAgICAgICBwYXRoIHsgY29sb3I6ICRjdXJyZW50LWNvbG9yOyB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaW5uZXItbWV0YSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyBNQUdBWklOIEFSQ0hJViBFVVBFTiBFUkxFQkVOXG4ubWFnYXppbi1pbm5lcndyYXBwZXIge1xuICAgIC8vIEZsZXggRmFsbGJhY2tcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICA+ICogeyBmbGV4OiAxIDEgMzMuMzMlO31cbiAgICAvLyBHcmlkXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OmdyaWQpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC1nYXA6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTYwcHgsMWZyKSk7XG4gICAgfVxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogLW1zLWdyaWQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgfVxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAkZ3JpZC1zbWFsbCoyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXsgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjM7IH1cbiAgICAubWFnYXppbi1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXsgd2lkdGg6IDMzJTsgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXsgd2lkdGg6IDI1JTsgfVxuICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6Z3JpZCkgeyAvLyBSZXNldCBNYXJnaW5zIGlmIEdyaWQgc3VwcG9ydGVkXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICAgICAgLy9vYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDNweCAzcHggMTBweCAwIHJnYmEoJGJsYWNrLDAuMTUpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgICAgIGg2IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBTZWFyY2ggb25seVxuLnNlYXJjaC1yZXN1bHRzLXdyYXBwZXIge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNik7XG4gICAgfVxuICAgIC5jcnVtYiB7XG4gICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHRleHQtYWxpZ246IHJpZ2h0O31cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjt9XG4gICAgfVxuICAgIC8vIElmIERvd25sb2FkcyBpbiBTZWFyY2hcbiAgICAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIElmIEFuc3ByZWNocGFydG5lciBpbiBTZWFyY2hcbiAgICAuYXAtaXRlbSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59IiwiLmlucHV0LWdyb3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiAgICBpbnB1dDpub3QoW3R5cGU9c3VibWl0XSkge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pbnB1dC1ncm91cC1maWVsZCB7ZmxleDogdW5zZXQ7fVxuICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyNSk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzKTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICY6aG92ZXIgeyBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjt9XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAmW3R5cGU9XCJzdWJtaXRcIl0geyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDt9XG4gICAgICAgIH1cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSB0cmFuc2xhdGUoMTJweCwgN3B4KTtcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICRjdXJyZW50LWNvbG9yO31cbn1cbiIsIi8vIElORk9CT1ggQkFOTkVSXG4uaW5mb2JveC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyOyB9XG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7ICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTsgIH1cbiAgICB9XG4gICAgYSB7IFxuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwuNyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcCB7IFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDE1KTsgfVxuICAgIH1cbiAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0qMiAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtO1xuICAgIH1cbiAgICAuaW5mb2JveC1jbG9zZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLC42KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiW2RhdGEtZmFuY3lib3hdIHBpY3R1cmUge1xuICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgJjpiZWZvcmUsIFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2U7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICAvL2JhY2tncm91bmQ6IHJnYmEoJGJsYWNrLC42NSkgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICAkc2l6ZTogcmVtLWNhbGMoNDApO1xuICAgICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsO1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLC42NSkgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzaXplO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0b3A6IDUwJTtsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAkc2l6ZSowLjU7XG4gICAgICAgXG5cbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICY6YmVmb3JlIHsgb3BhY2l0eTogMTt9XG4gICAgfVxuICB9XG5cbiAgZmlndXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwuMTUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRzZWNvbmRhcnktY29sb3IsLjEpO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxufSIsIi5wYXRjaCB7XG4gICAgcGFkZGluZzogJGdyaWQtbWVkaXVtKjAuNSAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtKjAuNSAkZ3JpZC1tZWRpdW07IFxuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBAaW5jbHVkZSBib2xkO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHJnYmEoJGJsYWNrLDAuMyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICB0b3A6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogJGdyaWQtbWVkaXVtO1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6ICN7JGdyaWQtbWVkaXVtKzVweH0gJGdyaWQtbWVkaXVtICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW07XG4gICAgICAgIC8vbWFyZ2luOiAwO1xuICAgICAgICAvL3BhZGRpbmc6ICRncmlkLW1lZGl1bSAjeyRncmlkLW1lZGl1bSs1cHh9ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW07XG5cbiAgICB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogM3B4IHNvbGlkICR3YXJuaW5nO1xuICAgIH1cbiAgICBzdmcgeyBcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgJHNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG4ua29wZmJpbGQtd3JhcHBlciB7XG4gICAgLnBhdGNoLWVzaG9we1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2hvcDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZGlzcGxheTogZmxleDt9XG4gICAgfVxuICAgIC5wYXRjaC1jb250YWN0e1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2hvcDtcbiAgICB9XG4gICAgLnBhdGNoLWVndWljaGV0IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGVndWljaGV0O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZGlzcGxheTogZmxleDt9XG4gICAgfVxuICAgIC5wYXRjaC1leHRyYSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZGlzcGxheTogZmxleDt9XG4gICAgfVxufSIsIlxuLyoqKioqKioqKioqKiBFTUJFRCBQTFVHSU4gKioqKioqKioqKioqL1xuXG4ucHJpdmFjeS1lbWJlZC1jb250YWluZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy9taW4taGVpZ2h0OiByZW0tY2FsYygyNTApO1xuICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSowLjUgJGdyaWQtbWVkaXVtKjAuNzU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtKjI7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRzZWNvbmRhcnktY29sb3IsMC43KTtcbiAgICAgICAgKiB7Y29sb3I6ICR3aGl0ZTt9XG4gICAgfTtcblxuICAgICoge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgaHlwaGVuczogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IFxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7IH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjNlbTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBkb3R0ZWQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweDtcbiAgICAgICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTt9XG4gICAgfVxuICAgIGltZyB7IFxuICAgICAgICBtYXgtd2lkdGg6IDIwJTsgXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSowLjU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwJTsgXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmW2RhdGEtdHlwZT1cImVtYmVkLXR3aXR0ZXJcIl0geyBpbWcgeyBtYXgtd2lkdGg6IDEwJTsgfSB9XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS43NSk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogJGdyaWQtbWVkaXVtKjAuNTtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMjsgfVxuICAgICAgICBwIHsgXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpOyBcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpOyB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZW1iZWQtcHJpdmFjeS1pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5lbWJlZC1wcml2YWN5LWxvZ28ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG4iLCIucmVzcG9uc2l2ZS1pbWFnZW1hcCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXgtd2lkdGg6IDEwMCU7IH1cbi5yZXNwb25zaXZlLWltYWdlbWFwIC5pbWFwLWltZyB7IGRpc3BsYXk6YmxvY2s7IG1heC13aWR0aDoxMDAlOyBoZWlnaHQ6YXV0bzsgfVxuXG4ucmVzcG9uc2l2ZS1pbWFnZW1hcCAuaW1hcC1vdmVybGF5IHtcbiAgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0OjA7XG4gIHBvaW50ZXItZXZlbnRzOm5vbmU7IC8qIG51ciBzaWNodGJhciwgbmljaHQga2xpY2tlbi1ibG9ja2VuICovXG59XG5cbi5yZXNwb25zaXZlLWltYWdlbWFwIC5pbWFwLXNoYXBlIHtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMTYwLCAyNTUsIC4yNSk7XG4gIG91dGxpbmU6IDJweCBzb2xpZCByZ2JhKDAsIDE2MCwgMjU1LCAuNzUpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5yZXNwb25zaXZlLWltYWdlbWFwIC5pbWFwLXNoYXBlLS1jaXJjbGUgeyBib3JkZXItcmFkaXVzOiA5OTk5cHg7IH0iLCIudG9wLWJhci1yaWdodCB7XG4gICAgLnBhZ2UtaXRlbS0xMTM1NiwgLnBhZ2UtaXRlbS0xMTU5MyB7ZGlzcGxheTogbm9uZTt9XG59XG4uaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYge1xuICAgIGxpLnBhZ2UtaXRlbS0xMTU5MyxcbiAgICBsaS5wYWdlLWl0ZW0tMTEzNTYge2Rpc3BsYXk6IG5vbmU7fVxuICB9XG4gIFxuYm9keS53b29jb21tZXJjZSB7XG5cbiAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgICBhLCAuYmFjayBzdmcge1xuICAgICAgICAgICAgY29sb3I6ICRzaG9wOyBcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAuY2hpbGRuYXYgYTpub3QoLmJhY2spIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIC5iYWNrOmhvdmVyIHtcbiAgICAgICAgICAgICYsIHN2ZyB7IGNvbG9yOiAkd2hpdGUgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuXG4gICAgLy9mb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInO1xuXG4gICAgYS5idXR0b24sXG4gICAgYS5idXR0b24uYWx0LFxuICAgIGJ1dHRvbi5idXR0b24sXG4gICAgYnV0dG9uLmJ1dHRvbi5hbHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2hvcDsgXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICY6ZGlzYWJsZWQsICY6ZGlzYWJsZWRbZGlzYWJsZWRdLCAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgICYsICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaG9wO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2lkZ2V0X3Nob3BwaW5nX2NhcnQge1xuICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSoyIDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcbiAgICB9XG5cbiAgICAuc2t1X3dyYXBwZXIsIC5wb3N0ZWRfaW4sIC53b29jb21tZXJjZS1vcmRlcmluZyB7ZGlzcGxheTogbm9uZTt9XG5cbiAgICBcbn1cblxuXG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIEBpbmNsdWRlIHNlbWlib2xkO1xufVxuXG4ud29vY29tbWVyY2UtZXJyb3IgbGk6YmVmb3JlIHtkaXNwbGF5OiBub25lO31cblxuLy9hdWZsc2l0dW5nXG4ud29vY29tbWVyY2Uge1xuICAgIHVsLnByb2R1Y3RzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRncmlkLW1lZGl1bTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtO1xuICAgICAgICBsaS5wcm9kdWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAtICN7JGdyaWQtbWVkaXVtfSApICAhaW1wb3J0YW50O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgd2lkdGg6IGNhbGMoIDMzLjMzJSAtICN7JGdyaWQtbWVkaXVtfSApICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkgeyB3aWR0aDogY2FsYyggMjUlIC0gI3skZ3JpZC1tZWRpdW19ICkgICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtLzIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGdyYXksMC4zNSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgICAgICY6YmVmb3JlIHtkaXNwbGF5OiBub25lO31cblxuICAgICAgICAgICAgcDplbXB0eSB7ZGlzcGxheTogbm9uZTt9XG5cbiAgICAgICAgICAgIGEuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSArICN7JGdyaWQtbWVkaXVtfSApO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRncmlkLW1lZGl1bS8yO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMi53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGEuYnV0dG9uIHtiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjt9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLnNpbmdsZS1wcm9kdWN0IHtcbiAgICAubGFiZWwgeyBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbiAgICAucmVsYXRlZC5wcm9kdWN0cyB7ZGlzcGxheTogbm9uZTt9XG59XG5cblxuXG5ib2R5Lndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3Qge1xuICAgIC5wcm9kdWN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLy9mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHAucHJpY2UgeyBcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCA2KTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgICAgICB9XG4gICAgICAgIGRpdi53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDI2MCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgZmlndXJlIHsgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRpdi5zdW1tYXJ5IHt3aWR0aDogYXV0bzt9XG4gICAgfVxufVxuXG5saS53Y19wYXltZW50X21ldGhvZC5wYXltZW50X21ldGhvZF9vZ29uZSBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgfVxuICAgIFxufVxuXG4jY3VzdG9tZXJfZGV0YWlscyB7XG4gICAgLmNvbC0xIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5jb2wtMiB7ZGlzcGxheTogbm9uZTt9XG4gICAgXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0qMjtcblxuICAgIC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkc19fZmllbGQtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuICAgIC5hZGRyZXNzLWZpZWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgI2JpbGxpbmdfY29tcGFueV9maWVsZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAjYmlsbGluZ19wb3N0Y29kZV9maWVsZCxcbiAgICAgICAgI2JpbGxpbmdfY2l0eV9maWVsZCxcbiAgICAgICAgI2JpbGxpbmdfY291bnRyeV9maWVsZCB7d2lkdGg6IDMwJTt9XG5cbiAgICAgICAgI2JpbGxpbmdfZW1haWxfZmllbGQsXG4gICAgICAgICNiaWxsaW5nX3Bob25lX2ZpZWxkIHt3aWR0aDogMTAwJTt9XG4gICAgfVxuXG4gICAgLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAzOXB4O1xuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDM5cHg7XG4gICAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHsgbGluZS1oZWlnaHQ6IDM1cHg7IH1cbiAgICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgeyBoZWlnaHQ6IDM1cHg7IH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4jb3JkZXJfcmV2aWV3X2hlYWRpbmcsXG4jb3JkZXJfcGF5bWVudF9oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMjtcbn1cblxuLndvb2NvbW1lcmNlLW9yZGVyLW92ZXJ2aWV3IGxpOmJlZm9yZSB7ZGlzcGxheTogbm9uZTt9XG5cbi53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG59XG5cbkBtZWRpYSBwcmludCB7XG4gICAgLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMtdGl0bGUgYnV0dG9uIHtkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7fVxufVxuXG5cbmJvZHkud29vY29tbWVyY2UtY2hlY2tvdXQgLnNob3BfdGFibGUge2JhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O31cblxuLmNhcnRfdG90YWxzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaDIge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlLWNhcnQgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQge1xuICAgIGEuY2hlY2tvdXQtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5jaGVja291dC1vdGhlciB7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbn1cblxuLndvb2NvbW1lcmNlIC53aWRnZXRfc2hvcHBpbmdfY2FydCAuY2FydF9saXN0IGxpIGEucmVtb3ZlLCAud29vY29tbWVyY2Uud2lkZ2V0X3Nob3BwaW5nX2NhcnQgLmNhcnRfbGlzdCBsaSBhLnJlbW92ZSB7XG4gICAgbGluZS1oZWlnaHQ6IDAuNzM7XG59XG5cbi53b29jb21tZXJjZSB1bC5jYXJ0X2xpc3QgbGkgaW1nLCAud29vY29tbWVyY2UgdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBpbWcgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuXG4jYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcywgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzLCAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIHtcbiAgICBib3JkZXItYm90dG9tOiAwcHg7XG59XG5cbi53b29jb21tZXJjZSB7XG4gICAgI29yZGVyX3JldmlldyAubGVnYWwge1xuICAgICAgICBtYXJnaW46IDE2cHggMDtcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZvcm0gLmZvcm0tcm93IC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveCB7IG1hcmdpbi1yaWdodDogMjBweDsgfVxufVxuXG5cbiIsIi8vIEFSQ0hJViBWSUVXIFNURVVFUlPDhFRaRSBVTkQgU0VBUkNIIFJFU1VMVEFURVxuLmFyY2hpdi12aWV3IHtcbiAgICBoMiB7XG4gICAgICAgICYsYSB7XG4gICAgICAgICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdyaWQtd3JhcHBlciB7IG1heC13aWR0aDogcmVtLWNhbGMoNzEyKTt9XG4gICAgLnJlc3VsdHMtaXRlbSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtc21hbGwqMiAwO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0gMDsgfVxuICAgICAgICAuZW50cnktdGl0bGUge1xuICAgICAgICAgICAgQGV4dGVuZCBoNjtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDUgMCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8mOmxhc3Qtb2YtdHlwZSB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTt9XG4gICAgICAgIC8vJjpudGgtY2hpbGQob2RkKSB7IGJhY2tncm91bmQ6IHJnYmEoJGdyYXksMC4xKTsgfVxuICAgICAgICAvLyY6bnRoLWNoaWxkKGV2ZW4pIHsgYmFja2dyb3VuZDogcmdiYSgkZ3JheSwwLjIpOyB9XG4gICAgfVxufVxuXG4vLyBORVdTQVJDSElWXG4ucGFyZW50LW5ld3NhcmNoaXYge1xuICAgIC53cmFwcGVyLS1uZXdzIHsgZ3JpZC1nYXA6ICRncmlkLW1lZGl1bTt9XG59XG4iLCJcblxuLy8gU0lOR0xFIE5FV1MgREVUQUlMXG4uc2luZ2xlIHtcbiAgICAucG9zdC10aHVtYi13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuYmFjayB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46ICRncmlkLXNtYWxsKjIgMCAkZ3JpZC1zbWFsbCoyIDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgaGVhZGVyIC5iYWNrIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbiAgICAuaW5uZXJtZXRhLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoLTcwKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoLTYwKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzIDE1KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlZ3VsYXI7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyAgbWFyZ2luOiBhdXRvOyB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRjdXJyZW50LWNvbG9yOyB9XG4gICAgICAgICB9XG4gICAgICAgIC5kYXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnByaW50IHtcbiAgICAgICAgICAgIHN2ZyB7IG1hcmdpbjogcmVtLWNhbGMoMCA0IDAgMCk7fVxuICAgICAgICB9XG4gICAgICAgIC5zaGFyZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICYuZmFjZWJvb2sgeyBtYXJnaW46IHJlbS1jYWxjKDAgMyk7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJcbi8qKioqKiogUFJJTlQgU1RZTEVTSEVFVCAqKioqKioqKiovXG5AbWVkaWEgcHJpbnQge1xuICAgIC50b3AtYmFyLXJpZ2h0LFxuICAgIC50aXRsZS1iYXIsXG4gICAgLmtvcGZiaWxkLXdyYXBwZXIsXG4gICAgLnNpdGUtaGVhZGVyOmFmdGVyLFxuICAgIC5zaWRlYmFyLFxuICAgIC5pbm5lcm1ldGEtd3JhcHBlcixcbiAgICAuZm9vdGVyLFxuICAgIC5jYXJkLXdyYXBwZXIgaW1nLFxuICAgIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIsXG4gICAgLmZsZXhpYmxlLW9lbWJlZC13cmFwcGVyLFxuICAgIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIsXG4gICAgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlcixcbiAgICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIsXG4gICAgLmFwLXRodW1iIGE6YWZ0ZXIsXG4gICAgLmZpbHRlci13cmFwcGVyLFxuICAgIC5hbmxpZWdlbi1oZWFkZXIsXG4gICAgI2NvbnRhY3Qtb3ZlcmxheSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgaW1nIHsgZmlsdGVyOiBncmV5c2NhbGUoMTAwJSkgIWltcG9ydGFudDsgfVxuICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIHsgLy9Mb2dvXG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDExNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7ZGlzcGxheTogbm9uZTt9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItaW5uZXJ3cmFwcGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIGgxLmVudHJ5LXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB0O1xuICAgIH1cbiAgICBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lO31cbiAgICAuZmxleGlibGUtbGlua3Mtd3JhcHBlciAuYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgJixsaSxhIHsgZGlzcGxheTogYmxvY2s7IHRleHQtYWxpZ246IGxlZnQ7IHBhZGRpbmc6IDA7IH1cblxuICAgIH1cbn1cbiIsIi8qIFBsYWNlaG9sZGVyICovXG4ldXBwZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTt9XG4lY3VzdG9tYnVsbGV0bGlzdCB7XG4gICAgdWwge1xuICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zcmVndWxhcic7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1sZWZ0OiAkZ3JpZC1tZWRpdW07IH1cbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTsgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzEwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsPSdjdXJyZW50Q29sb3InIGZpbGwtb3BhY2l0eT0nMC4yNScgZD0nTTcuNTg3IDMuOTVMNS4wNSAxLjQxNSA2LjQ2NiAwbDQuOTUgNC45NUw2LjQ2NSA5LjkgNS4wNSA4LjQ4NyA3LjU4NyA1Ljk1IDAgNS45NTF2LTJ6JyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLyUzRSUzQy9zdmclM0VcIikgbGVmdCA4cHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4lcmVzZXRib3gge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRncmlkLW1lZGl1bTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtO1xuICAgIH1cbn0iLCIvKiBJRFMgZm9yIHRoZSBjb2xvciBzY2hlbWUgKi9cbiRpZHM6IChcbiAgICAyLCAvL3N0YXJ0c2VpdGVcbiAgICAyMjYsIC8vIGLDvHJnZXJzZXJ2aWNlXG4gICAgMjMwLCAvLyBsZWJlbiBpbiBldXBlblxuICAgIDIyOCwgLy9wb2xpdGlrIHVuZCB2ZXJ3YWx0dW5nXG4gICAgNzg2LCAvLyDDvGJlciBkaWUgZ2VtZWluZGVcbik7XG5cbmh0bWwgeyAgICBvdmVyZmxvdy14OiBoaWRkZW47fVxuXG4vLyBIRUFETElORVNcbmg1LGg2IHtcbiAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICAvL2NvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTtcbn1cblxuLy8gTElOSyBTRVRUSU5HU1xuYSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAmOmZvY3VzLXZpc2libGUgeyBvdXRsaW5lOiAzcHggc29saWQgJHJlZDsgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9IFxufVxuXG4vLyBIZWFkZXJcbiRkb3QtY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNik7XG5cbi8vIERpbWVuc2lvbnNcbiRkb3Qtc2l6ZTogMXB4O1xuJGRvdC1zcGFjZTogNXB4O1xuLnNpdGUtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy9AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuXHQgICAgYmFja2dyb3VuZDpcblx0XHQgICAgbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkd2hpdGUgKCRkb3Qtc3BhY2UgLSAkZG90LXNpemUpLCB0cmFuc3BhcmVudCAxJSkgY2VudGVyLFxuXHRcdCAgICBsaW5lYXItZ3JhZGllbnQoJHdoaXRlICgkZG90LXNwYWNlIC0gJGRvdC1zaXplKSwgdHJhbnNwYXJlbnQgMSUpIGNlbnRlcixcblx0XHQgICAgcmdiYSgkcHJpbWFyeS1jb2xvciwgMC42KTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkZG90LXNwYWNlICRkb3Qtc3BhY2U7XG4gICAgfVxufVxuXG4vLyBERUZBVUxUIENMQVNTRVMgJiBUQUdTXG5zdHJvbmcsIGIge1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbnUsICpbc3R5bGUqPVwidW5kZXJsaW5lXCJdIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogJGN1cnJlbnQtY29sb3I7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbn1cbi5rb3BmYmlsZC13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDEpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTIwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNzApO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLm91dGVyLWdyaWQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgICAuZ3JpZC13cmFwcGVyIHsgICAgICAgIFxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAvL292ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgLy9wYWRkaW5nOiAkZ3JpZC1tZWRpdW0gMDtcbiAgICAgICAgZ2FwOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBvbmx5KSB7IG1heC13aWR0aDogbm9uZTt9XG4gICAgICAgID4gKjpub3QoLnRvcC1iYXItcmlnaHQpIHsgZmxleDogMCAwIGF1dG87IH1cbiAgICB9XG59XG5cblxuLmJhY2sge1xuICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICBzdmcge1xuICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDYpO1xuICAgIH1cbiAgICAmOmhvdmVyIHsgY29sb3I6ICRjdXJyZW50LWNvbG9yO31cbn1cblxuXG4vLyBHUklEIE1BU1NBQ1JFXG4uZ3JpZC13cmFwcGVyIHsgLy8gVGhlIHdob2xlIHRoaW5nXG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgID4gKjpub3QoLnRvcC1iYXItcmlnaHQpIHsgZmxleDogMCAxIGF1dG87IH1cbiAgICAuc2lkZWJhciB7XG4gICAgICAgIGZsZXg6IDEgMCByZW0tY2FsYygzMDApO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW07fVxuICAgIH1cbn1cbi8vIFNJREVCQVJcbi8vIENPTlRFTlQgQkxPQ0tcbi5tYWluLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtKjM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bSozO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICAgICAgZmxleDogMCAwIHJlbS1jYWxjKDY5OCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1tZWRpdW07XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAmLmZ1bGwtd2lkdGgge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgLmVudHJ5LWNvbnRlbnQgPiBoZWFkZXIge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAmLC5pbnRybzphZnRlciB7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHsgcGFkZGluZzogMDsgfVxuICAgIH1cbn1cblxuXG4vLyBNQUlOXG4ubWFpbi1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUwIDApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vLyBCUkVBRENSVU1CUyAmIFNcbi5pbm5lcm1ldGEtd3JhcHBlciB7XG4gICAgdG9wOiByZW0tY2FsYygtMzApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHAge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMjApO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgfVxuICAgIGEgeyBjb2xvcjogJGN1cnJlbnQtY29sb3I7IH1cbn1cblxuLy8gRU5UUlkgQ09OVEVOVFxuLm1haW4tY29udGVudDpub3QoLnN0ZXVlcnNhZXR6ZS13cmFwcGVyKSAuZW50cnktY29udGVudCB7XG4gICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbiAgICAgICAgJjpmb2N1cyB7IG91dGxpbmU6IDA7fVxuICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yO31cbiAgICB9XG59XG5oMS5lbnRyeS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG4uaW50cm8ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSozO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICB9XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC42KTtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg2NCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMik7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgfVxuXG59XG5cbi8qKioqKioqKiogRkxFWElCTEUgQ09OVEVOVCAqKioqKioqKioqKi9cbmJvZHk6bm90KC5zZWFyY2gtcmVzdWx0cykgLmZsZXhpYmxlLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLXNtYWxsKjM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjM7ICB9XG4gICAgJi5oYWxmIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtc21hbGwqMztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjEuNTsgIH1cbiAgICB9XG4gICAgJi5hbHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1zbWFsbCozO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMzsgIH1cbiAgICB9XG59XG5cblxuLyoqKioqKiBGT09URVIgKioqKioqKiovXG4uZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkZ3JpZC1zbWFsbCo0O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSo2OyB9XG4gICAgLmNoaWxkbmF2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxNSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgICAgICY6aG92ZXIgeyBjb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDt9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZvb3Rlci1jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgYXJ0aWNsZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtKjIgYXV0byAwIGF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHttYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW07fVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYsIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICAgICAgJjpob3ZlciB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwwLjcpO31cbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC50b3RvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICAgICAgYSB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc29jaWFsIHtcblx0ICAgIGRpc3BsYXk6IGZsZXg7XG5cdCAgICBmbGV4LXdyYXA6IHdyYXA7IFxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwwLjcpO31cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNvcHlyaWdodCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtLzMgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLmhvbWUge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAuZm9vdGVyLWNvbnRhaW5lciBhcnRpY2xlIHsgbWF4LXdpZHRoOiByZW0tY2FsYygxNDQwKTsgfVxuICAgIC5rb3BmYmlsZC13cmFwcGVyIHtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDAwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDMwMCk7IFxuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzApOyBcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9Ki9cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQwMCk7IH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgbWluLWhlaWdodDogcmVtLWNhbGMoNTAwKTsgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDIwNDhweCkgeyBtaW4taGVpZ2h0OiByZW0tY2FsYyg2MDApOyB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgLy9tYXJnaW4tYm90dG9tOiAxNjBweDtcbiAgICAgICAgfVxuICAgICAgICAuY2hpbGRuYXYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgLy9ib3R0b206IHJlbS1jYWxjKDgwKTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSg0MSUpO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBcbiAgICAgICAgICAgICAgICBnYXA6ICRncmlkLW1lZGl1bS8yOyBcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy9wYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMC41O1xuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLDEpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDcwKTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoODApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL3doaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDMwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIgeyBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLC44KTsgXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHsgaGVpZ2h0OiByZW0tY2FsYyg4KTt9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAkZ3JpZC1zbWFsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICA+IGE6YWZ0ZXIge2Rpc3BsYXk6IGJsb2NrO31cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaXMtYWN0aXZlIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDc5OXB4KSB7XG4gICAgICAgIC5zaXRlLWhlYWRlcjphZnRlciB7aGVpZ2h0OiByZW0tY2FsYyg4MCk7IH1cbiAgICB9XG5cbi5ob21lX3N1YnRpdGxlIHtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBAZXh0ZW5kICV1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzYpO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwtMC42NWVtKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuLmhvbWVfdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzcpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZm9udC1zaXplOiByZW0tY2FsYyg1Nik7IH1cbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xufVxuLmhvbWVfZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNyk7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xufVxuLndyYXBwZXIge1xuICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyIDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qNiAwOyB9XG4gICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiAgICAgICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW07XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjUlIDFmcjtcbiAgICAgICAgLy9ncmlkLWdhcDogcmVtLWNhbGMoMTZweCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmdyYXkge2JhY2tncm91bmQ6IHJnYmEoJGJyb3duLCAwLjEpO31cblxuICAgIC8qLm1ldGEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzIgJGdyaWQtbWVkaXVtO1xuICAgICAgICBAaW5jbHVkZSBib2xkO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB6LWluZGV4OiA2O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICB9XG4gICAgfSovXG5cbiAgICAuYWZ0ZXJidXR0b24ge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBtYXJnaW46IDAgJGdyaWQtbWVkaXVtIDAgYXV0bzt9XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogMztcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8xLjUgJGdyaWQtbWVkaXVtO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbmV1aWdrZWl0ZW4ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHsgcGFkZGluZy1ib3R0b206ICRncmlkLW1lZGl1bSoyOyB9XG4gICAgICAgIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgICAgID4gZGl2OmZpcnN0LW9mLXR5cGUgeyBcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hZnRlcmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMS41O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICB9XG5cbiAgICAmLS1iYW5uZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgLmJhbm5lci13cmFwcGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMTBweCAxMHB4IDMwcHggMCByZ2JhKCRibGFjaywgMC4yNSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBoZWlnaHQ6IDEzMHB4OyB9XG4gICAgICAgICAgICA+ICogeyBncmlkLWFyZWE6IDEgLyAxOyAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbm5lci1jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgZ2FwOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsLjgpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaG9tZV9zdWJ0aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICAgICAgICAgICAgJjphZnRlciB7IGJvcmRlci1jb2xvcjogJHdoaXRlO31cbiAgICAgICAgfVxuICAgICAgICAuYmxvY2staGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiAkZ3JpZC1tZWRpdW0qMC4zNTtcbiAgICAgICAgfVxuICAgICAgICAuYmFubmVyLXRpdGxlIHtcbiAgICAgICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpOyB9XG4gICAgICAgIH1cbiAgICAgICAgc3Bhbi5idXR0b24ge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSowLjggJGdyaWQtbWVkaXVtICRncmlkLW1lZGl1bSowLjYgJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgJjpob3ZlciB7IGJvcmRlcjogMDt9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAuaW5uZXItY29udGVudDphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsLjk1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1wcm9qZWt0ZSB7XG4gICAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgcmVkO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgLmNsYWltLXdyYXBwZXIge1xuICAgICAgICAgICAgLmFmdGVyYnV0dG9uIHsgZGlzcGxheTogbm9uZTt9XG4gICAgICAgIH1cbiAgICAgICAgJjpub3QoLmNvdW50LTMpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IFxuICAgICAgICAgICAgICAgIC5tYWluLWNvbnRhaW5lci5yb3ctMiAuYWZ0ZXJidXR0b24geyBkaXNwbGF5OiBub25lO31cbiAgICAgICAgICAgICAgICAuY2xhaW0td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIC5hZnRlcmJ1dHRvbiB7IFxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IFxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5jb3VudC0zIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgLmFmdGVyYnV0dG9uIHsgbWFyZ2luLWxlZnQ6ICRncmlkLW1lZGl1bSoxLjU7IH1cbiAgICAgICAgICAgICAgICAubWFpbi1jb250YWluZXIucm93LTIge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyNSU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICAuYWZ0ZXJidXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAmLnJvdy0yIHsgLy8gQWZ0ZXJidXR0b24gICAgXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgLmNsYWltLXdyYXBwZXIgIHsgXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bSowLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICBcbiAgICAgICAgLndyYXBwZXItLWlubmVycHJvamVrdGUge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyBcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICAgICAgICAgIC8vbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IFxuICAgICAgICAgICAgfVxuICAgICAgXG4gICAgICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0qMC41O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoxLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7d2lkdGg6IGNhbGMoIDUwJSAtICN7JGdyaWQtbWVkaXVtfSApOyB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge3dpZHRoOiBjYWxjKCAzMyUgLSAjeyRncmlkLW1lZGl1bX0gKTsgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBpY3R1cmUge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lIDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHggOHB4IDE1cHg7IFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMzBweCA4cHggMzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE3NSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZSA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSowLjU7XG4gICAgICAgICAgICAgICAgLy9AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTsgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbmV3cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgZmxleC13cmFwOiB3cmFwO31cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRncmlkLW1lZGl1bS8yOyBcbiAgICAgICAgICAgIG1heC13aWR0aDogNzUlO1xuICAgICAgICB9XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgKyAjeyRncmlkLW1lZGl1bSoyfSApO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgIGg1LCBzcGFuIHsgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7ZGlzcGxheTogbm9uZTt9XG4gICAgICAgICAgICAgICAgLm5ld3Mta2FjaGVsLWltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTMwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3Bhbjpub3QoLm5ld3MtbWV0YSkge2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgICAgICAgICAgIC5uZXdzLW1ldGEge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGg1IHsgY29sb3I6ICRjdXJyZW50LWNvbG9yO31cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7d2lkdGg6IGNhbGMoIDUwJSAtICN7JGdyaWQtbWVkaXVtfSApOyB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7d2lkdGg6IGNhbGMoIDMzJSAtICN7JGdyaWQtbWVkaXVtfSApOyB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi0tcXVpY2tsaW5rcyB7XG5cbiAgICAgICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAvL21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRncmlkLW1lZGl1bX0pO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge3RleHQtYWxpZ246IGxlZnQ7fVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICA+IGRpdiB7d2lkdGg6IGNhbGMoNzUlIC0gI3skZ3JpZC1tZWRpdW19KTt9XG4gICAgICAgICAgICAgICAgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7d2lkdGg6IGNhbGMoMjUlIC0gI3skZ3JpZC1tZWRpdW19KTt9XG4gICAgICAgICAgICAgICAgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7dGV4dC1hbGlnbjogbGVmdDt9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFmdGVyYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgYSB7IG1hcmdpbjogJGdyaWQtbWVkaXVtIDAgMCAwO31cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge21hcmdpbjogYXV0bzt9XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgY29sdW1uLWdhcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7Y29sdW1uLWNvdW50OiAzO2Rpc3BsYXk6IGJsb2NrO31cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiA0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTInIGhlaWdodD0nMTAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J003LjU4NyAzLjk1TDUuMDUgMS40MTUgNi40NjYgMGw0Ljk1IDQuOTVMNi40NjUgOS45IDUuMDUgOC40ODcgNy41ODcgNS45NSAwIDUuOTUxdi0yeicgZmlsbD0nI3skd2hpdGV9JyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLz4lM0Mvc3ZnJTNFXCIpIGNlbnRlciBsZWZ0IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMicgaGVpZ2h0PScxMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTcuNTg3IDMuOTVMNS4wNSAxLjQxNSA2LjQ2NiAwbDQuOTUgNC45NUw2LjQ2NSA5LjkgNS4wNSA4LjQ4NyA3LjU4NyA1Ljk1IDAgNS45NTF2LTJ6JyBmaWxsPScjeyRibGFja30nIGZpbGwtcnVsZT0nZXZlbm9kZCcvPiUzQy9zdmclM0VcIikgY2VudGVyIGxlZnQgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAkZ3JpZC1tZWRpdW07XG4gICAgICAgIH1cbiAgICAgICAgLmZpbHRlci1idXR0b25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8xLjUgJGdyaWQtbWVkaXVtKjQgJGdyaWQtbWVkaXVtLzEuNSAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg1MDApO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jMWU1Nzk5KzAsMWU1Nzk5KzUwLDI5ODlkOCs1MCwyMDdjY2ErMTAwICovXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMScgaGVpZ2h0PSc4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNOS41NDcgMEw1LjUgNC4xMTUgMS40NTMgMCAwIDEuNDc4bDUuNSA1LjU5M0wxMSAxLjQ3OCA5LjU0NyAwJyBmaWxsPSclMjMxMDUxNmInIGZpbGwtcnVsZT0nZXZlbm9kZCcvPiUzQy9zdmclM0VcIikgY2VudGVyIHJpZ2h0ICRncmlkLW1lZGl1bSBuby1yZXBlYXQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7ZGlzcGxheTogbm9uZTt9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW51ZXR6bGljaGVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGV4dGVuZCAlcmVzZXRib3g7XG4gICAgICAgIC5ob21lX3N1YnRpdGxlLCAuaG9tZV90aXRsZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAmOmFmdGVyIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgfVxuICAgICAgICAua2FjaGVsLW1ldGEgaDUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogd3JhcCByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IHBhZGRpbmc6IDA7fVxuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAvL2JvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAtICN7JGdyaWQtbWVkaXVtfSApO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbjogJGdyaWQtbWVkaXVtLzI7IH1cbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgd2lkdGg6IGNhbGMoIDMzJSAtICN7JGdyaWQtbWVkaXVtfSApIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyB3aWR0aDogY2FsYyggMjUlIC0gI3skZ3JpZC1tZWRpdW19ICkgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLS16d2VpdGVpbGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge2ZsZXgtZGlyZWN0aW9uOiByb3c7fVxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7d2lkdGg6IDUwJTt9XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMyAkZ3JpZC1tZWRpdW0qNCAkZ3JpZC1tZWRpdW0qMyAkZ3JpZC1tZWRpdW07IH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgLy8gcGFzc2FnZSByYXVzIHdlbm4gZS1ndWljaGV0IGhpbnp1a29tbXQgOiBTVEFSVFxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE1MCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHBhc3NhZ2UgcmF1cyB3ZW5uIGUtZ3VpY2hldCBoaW56dWtvbW10IDogRU5ERVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7IG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTsgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLW1lZGl1bSozO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpbWcge2JveC1zaGFkb3c6IHJlbS1jYWxjKDMgMyA0IDApIHJnYmEoJGJsYWNrLDAuMjUpO31cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIC8vY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHAge0BpbmNsdWRlIHNlbWlib2xkO31cbiAgICAgICAgICAgICAgICAubW9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHsgXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgIFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1sZWZ0OiAkZ3JpZC1tZWRpdW0qMjsgfVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtjb2xvcjogJHdoaXRlO31cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gcGFzc2FnZSByYXVzIHdlbm4gZS1ndWljaGV0IGhpbnp1a29tbXQgOiBTVEFSVFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC8vIHBhc3NhZ2UgcmF1cyB3ZW5uIGUtZ3VpY2hldCBoaW56dWtvbW10IDogRU5ERVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIHBhc3NhZ2UgcmF1cyB3ZW5uIGUtZ3VpY2hldCBoaW56dWtvbW10IDogU1RBUlRcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIHBhc3NhZ2UgcmF1cyB3ZW5uIGUtZ3VpY2hldCBoaW56dWtvbW10IDogRU5ERVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBwYXNzYWdlIFJFSU4gd2VubiBlLWd1aWNoZXQgaGluenVrb21tdCA6IFNUQVJUXG4gICAgICAgICAgICAgICAgLyomOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bSoxNTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3Ryb25nIHtjb2xvcjogJHdoaXRlO31cbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0qL1xuICAgICAgICAgICAgICAgIC8vIHBhc3NhZ2UgUkVJTiB3ZW5uIGUtZ3VpY2hldCBoaW56dWtvbW10IDogRU5ERVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtLXp1Z2V6b2dlbmUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAgICAgICAvL2Rpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gZGl2Omxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgICAgICAgLmlubmVyY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnV0dG9uIHsgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgICAuaG9tZV9kZXNjcmlwdGlvbiB7IG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyOyB9XG4gICAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICNwbGF5IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsO1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEwMik7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgICAgIGVsbGlwc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxsaXBzZSB7ZmlsbDogJHdoaXRlO31cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgge2ZpbGw6ICRzZWNvbmRhcnktY29sb3I7fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuaXMtcGxheWluZyB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmVtYmVkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMjVweCAyNXB4IDMwcHggMCByZ2JhKDAsMCwwLDAuMjUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICN2aWRlby1sYW5ndWFnZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bS80O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS1wYXJ0bmVyIHtcbiAgICAgICAgLy9taW4taGVpZ2h0OiA3NXZ3O1xuICAgICAgICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1pbi1oZWlnaHQ6IDM1dnc7fVxuICAgICAgICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7bWluLWhlaWdodDogMjB2dzt9XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bSozO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRncmlkLW1lZGl1bSozO1xuICAgICAgICB9XG4gICAgICAgICoge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI3KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBiciB7ZGlzcGxheTogbm9uZTt9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge2ZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO31cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ3KTtcbiAgICAgICAgICAgICAgICBiciB7ZGlzcGxheTogaW5saW5lO31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygzNTApO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtKjAuNzUgYXV0byAwIGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoxLjU7fVxuICAgICAgICB9XG4gICAgICAgIC8qXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuOSk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9Ki9cbiAgICAgICAgLmhvbWVfdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgICAgIC5ob21lX3N1YnRpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgICY6YWZ0ZXIge2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgICB9XG4gICAgfVxuICAgICYtLWdhbGVyaWVuIHtcbiAgICAgICAgQGV4dGVuZCAlcmVzZXRib3g7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTQ0MCk7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLmthY2hlbC1pbWFnZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRncmlkLW1lZGl1bSoyICRncmlkLW1lZGl1bSoyICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0OCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gLmNhcmQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgd2lkdGg6IDMzJTsgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkgeyB3aWR0aDogMjUlOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG59IiwiLmZsZXhpYmxlLWlmcmFtZS13cmFwcGVyIHtcbiAgICBpZnJhbWUge2JvcmRlcjogbm9uZTt9XG59IiwiXG5cbi5mbGV4aWJsZS1saW5rcy13cmFwcGVyIHtcbiAgICB1bDpub3QoLmJ1dHRvbi1ncm91cCkgeyAvLyBMSU5LTElTVCBTVFlMRVxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDApO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yO31cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYnV0dG9uLWdyb3VwIHsgLy8gQlVUVE9OIFNUWUxFXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAxNSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgIH1cblxuICAgIH1cbn0iLCIucmVzdWx0cy1pdGVtLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIHtcbiAgICBwIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNyZWd1bGFyJztcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxuICAgIH1cbiAgICBAZXh0ZW5kICVjdXN0b21idWxsZXRsaXN0O1xuICAgIGg0LGg1LGg2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgIH1cbiAgICBoNCB7IEBpbmNsdWRlIGJsYWNrO31cblxuICAgIC8vIExpbmUgSGVpZ2h0c1xuICAgIGgxIHsgbGluZS1oZWlnaHQ6IDEuMjt9XG4gICAgaDIsaDMsaDUge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cbiAgICBoNCxoNiB7IGxpbmUtaGVpZ2h0OiAxLjQ7fVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGg0eyBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgfVxufVxuXG4iLCIuZmxleGlibGUtZnVsbHdpZHRoLXdyYXBwZXIge1xuICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC5jYXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAyMCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg5MCk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtJGdyaWQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59IiwiLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIHtcbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMSAwKTtcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTsgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAkY3VycmVudC1jb2xvcjt9XG4gICAgfVxuICAgIC5pbm5lcm1ldGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC42KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDcpO1xuICAgIH1cbiAgICAuZmlsZS1pY29uIHtcbiAgICAgICAgZmxleDogMCAwIHJlbS1jYWxjKDM1KTtcbiAgICAgICAgY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMyk7XG4gICAgICAgIC8vbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgfVxuICAgIC5kb3dubG9hZC1jYXRzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjt9XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIlxuLmZsZXhpYmxlLWhhbGZ3aWR0aC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgID4gKiB7XG4gICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cbiIsIi5mbGV4aWJsZS10aGlyZHdpZHRoLXdyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5mbGV4aWJsZS10aGlyZHdpZHRoLWltZyB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNTUwKTtcbiAgICB9XG5cbiAgICAuY2FwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMjApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoOTApO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSRncmlkLW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgfVxufSIsIi5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciB7XG4gICAgLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMCk7IH1cbiAgICB9XG59XG5cblxuLy8gQU5TUFJFQ0hQQVJUTkVSXG4uYXAtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgID4gKiB7XG4gICAgICAgIC8vZmxleDogMTtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpOyB9XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICBAZXh0ZW5kICVyZXNldGJveDtcblxuICAgIH1cbiAgICBoNiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO31cbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICBAaW5jbHVkZSBib2xkO1xuICAgICAgJjpob3ZlciB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjt9XG4gICAgfVxuICAgIC5hcC1tZXRhIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjMpO1xuICAgIH1cbiAgICAuYXAtZnVua3Rpb24ge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjYpO1xuICAgIH1cbiAgICAuYXAtY29udGFjdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG4gICAgLy8gQW5zcHJlY2hwYXJ0bmVyXG4gICAgLmlzLWFuc3ByZWNocGFydG5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLXNtYWxsKjI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTsgfVxuICAgICAgICAuYXAtdGh1bWIge1xuICAgICAgICAgICAgZmxleDogMCAwIHJlbS1jYWxjKDEyMCk7XG4gICAgICAgIH1cbiAgICAgfVxuXG4gICAgLy8gSW5zdGl0dXRpb25lblxuICAgIC5pcy1pbnN0aXR1dGlvbmVuIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgaDYgeyBtYXJnaW4tYm90dG9tOiAkZ3JpZC1zbWFsbDt9XG4gICAgICAgIH1cbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHsgYm9yZGVyLXRvcDogMDsgfVxuICAgICAgICAuYXAtdGh1bWIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTgwKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFwLXdlYm1haWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRncmlkLXNtYWxsO1xuICAgICAgICAgICAgICAgIGEgeyBwYWRkaW5nOiByZW0tY2FsYygwIDEwKTt9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgID4gKiB7IG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciB7XG4gICAgLmNhcmQtd3JhcHBlciB7IC8vIENvbnRhaW5lclxuICAgICAgICBncmlkLWF1dG8tcm93czogMWZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgZ3JpZC1nYXA6IHJlbS1jYWxjKDEpOyB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICB9XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg1OCk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkYnJvd24sMC4xKTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmthY2hlbC1uby1pbWFnZSB7XG4gICAgICAgID4gKiB7IC8vIEZvciBib3RoXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBoNiB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDIwKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gICAgICAgICAgICAtbW96LWh5cGhlbnM6IGF1dG87XG4gICAgICAgICAgICAgaHlwaGVuczogYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDMwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzcGFuIHsgLy8gQXJyb3dcbiAgICAgICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkYnJvd24sMC4xKTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg1OCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDU4KTtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG4gICAgICAgIH1cbiAgICB9XG59IiwiXG4uZmxleGlibGUtaW5mb2JveC13cmFwcGVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTtcbiAgICBoZWFkZXIge1xuICAgICAgICAmLCA+ICogeyBkaXNwbGF5OiBmbGV4OyB9XG4gICAgfVxuICAgIGkge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICB9XG4gICAgaDUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2IDE1KTtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpOyB9XG4gICAgfVxuICAgIGRpdiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zcmVndWxhcic7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLXNtYWxsKjI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyOyB9XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBAZXh0ZW5kICVjdXN0b21idWxsZXRsaXN0O1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICAgICAgY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgICAgICY6aG92ZXIgeyBjb2xvcjogJHByaW1hcnktY29sb3I7IH1cbiAgICB9XG59XG4iLCJcbi5mbGV4aWJsZS10eHRpbWctd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgID4gKiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLXNtYWxsKjI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICBoNCB7IHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsgfVxuICAgICAgICBhcnRpY2xlIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yO31cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBoNCB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxuICAgICAgICAgICAgc3BhbiB7IGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO31cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW1nLW91dGVyLXdyYXBwZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuaW1nLWlubmVyLXdyYXBwZXIge1xuICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDIzMCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDgpO1xuICAgICAgICAmLnNtYWxsZXIgeyBtaW4td2lkdGg6IHJlbS1jYWxjKDEyNSk7IH1cbiAgICB9XG4gICAgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1zbWFsbCoyO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNyZWd1bGFyJztcbiAgICAgICAgJi5jZW50ZXIgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjt9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bSozO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICBoNCB7IGNvbG9yOiAkY3VycmVudC1jb2xvcjt9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIEZPUk1TXG4uZmxleGlibGUtZm9ybS13cmFwcGVyIHtcbiAgICBAZXh0ZW5kICVyZXNldGJveDtcbn1cbi5nZm9ybV93cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLC4wNSk7XG4gICAgcGFkZGluZzogJGdyaWQtc21hbGwqMjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge3BhZGRpbmc6ICRncmlkLW1lZGl1bSoyO31cbiAgICBoMy5nZm9ybV90aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICB9XG4gICAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwwLjcpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGN1cnJlbnQtY29sb3I7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICB1bC5sZWZ0X2xhYmVsIHtcbiAgICAgICAgaW5wdXQubWVkaXVtIHsgd2lkdGg6IDEwMCU7fVxuICAgIH1cbiAgICAuZ2Zvcm1fYm9keSB1bCBsaS5nZmllbGQgeyBtYXJnaW4tdG9wOiAwO31cbiAgICAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9c3VibWl0XS5idXR0b24sXG4gICAgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgIEBleHRlbmQgLmJ1dHRvbjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICB9XG5cbn1cbi5mbGV4aWJsZS1mb3JtLXdyYXBwZXIge1xuICAgIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgICAgZGl2LnZhbGlkYXRpb25fZXJyb3Ige1xuICAgICAgICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkYWxlcnQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGFsZXJ0LWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIGxpLmdmaWVsZC5nZmllbGRfZXJyb3Ige1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRhbGVydC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYWxlcnQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIC5nZmllbGRfbGFiZWwsIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1maWxlXSksXG4gICAgICAgICAgICB0ZXh0YXJlYSB7Ym9yZGVyOiAxcHggc29saWQgJGFsZXJ0LWNvbG9yO31cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2Uge1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIGJhY2tncm91bmQ6ICRzdWNjZXNzLWNvbG9yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBAaW5jbHVkZSBib2xkO1xuICAgIH1cbn0iLCIuZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIHtcbiAgICBAZXh0ZW5kICVyZXNldGJveDtcbiAgICAuY2VsbC5yZXN1bHQtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTUpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tbGVmdDogMDt9XG4gICAgfVxuICAgIC5maWx0ZXItd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMjAgMCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO31cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO31cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZmlsdGVyLXR5cC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZmxleC1kaXJlY3Rpb246IHJvdzt9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbGFiZWwgeyBtYXJnaW4tYm90dG9tOiAkZ3JpZC1zbWFsbDsgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5maWx0ZXItc2VhcmNoLXdyYXBwZXIge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE3NSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtc21hbGwqMjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDIwMDApO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMyAxMCAzIDMwKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMTEuNzMzIDEwLjQyOEw5LjI2IDcuOTU1Yy41OTYtLjg2MS44OTQtMS44Mi44OTQtMi44NzggMC0uNjg3LS4xMzMtMS4zNDUtLjQtMS45NzJhNS4wNzQgNS4wNzQgMCAwIDAtMS4wODItMS42MjNBNS4wNzUgNS4wNzUgMCAwIDAgNy4wNDkuNCA0Ljk5IDQuOTkgMCAwIDAgNS4wNzcgMEM0LjM5IDAgMy43MzIuMTMzIDMuMTA1LjRhNS4wNzUgNS4wNzUgMCAwIDAtMS42MjMgMS4wODJBNS4wNzYgNS4wNzYgMCAwIDAgLjQgMy4xMDUgNC45ODkgNC45ODkgMCAwIDAgMCA1LjA3N2MwIC42ODguMTMzIDEuMzQ1LjQgMS45NzJhNS4wNzQgNS4wNzQgMCAwIDAgMS4wODIgMS42MjNjLjQ1NC40NTQuOTk1LjgxNSAxLjYyMyAxLjA4MmE0Ljk5IDQuOTkgMCAwIDAgMS45NzIuNCA0Ljk0IDQuOTQgMCAwIDAgMi44NzctLjg5NGwyLjQ3NCAyLjQ2NmMuMTczLjE4My4zOS4yNzQuNjQ5LjI3NC4yNSAwIC40NjYtLjA5MS42NDktLjI3NGEuODg3Ljg4NyAwIDAgMCAuMjc0LS42NDkuODgzLjg4MyAwIDAgMC0uMjY3LS42NDl6TTcuMTIgNy4xMTlBMi44ODkgMi44ODkgMCAwIDEgNSA4YTIuODkgMi44OSAwIDAgMS0yLjExOC0uODhBMi44ODkgMi44ODkgMCAwIDEgMiA1YzAtLjgyNi4yOTQtMS41MzIuODgtMi4xMkEyLjg4OSAyLjg4OSAwIDAgMSA1IDJhMi44OSAyLjg5IDAgMCAxIDIuMTIuODhDNy43MDUgMy40NjkgOCA0LjE3NSA4IDVhMi44OSAyLjg5IDAgMCAxLS44OCAyLjEyeicgZmlsbD0nJTIzOTk5OTk5JyBmaWxsLXJ1bGU9J25vbnplcm8nLyUzRSUzQy9zdmclM0VcIikgbGVmdCAxMHB4IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIC8vJjo6cGxhY2Vob2xkZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7fVxuICAgICAgICAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGN1cnJlbnQtY29sb3I7fVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nOiByZW0tY2FsYygwIDEwIDAgMzApOyB9XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygxMDApO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY3VycmVudC1jb2xvciB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMScgaGVpZ2h0PSc4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNOS41NDcgMEw1LjUgNC4xMTUgMS40NTMgMCAwIDEuNDc4bDUuNSA1LjU5M0wxMSAxLjQ3OCA5LjU0NyAwJyBmaWxsPSclMjNGRkYnIGZpbGwtcnVsZT0nZXZlbm9kZCcvJTNFJTNDL3N2ZyUzRVwiKSByaWdodCAxMHB4IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC42KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG5cbiAgfVxuICAuZG93bmxvYWRzLXRhYmxlIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGJvcmRlcjogMXB4IHNvbGlkICRncmF5OyB9XG4gICAgaDMge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLXNtYWxsLzI7XG4gICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHsgYmFja2dyb3VuZDogcmdiYSgkZ3JheSwwLjIpOyB9XG4gICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg5IDApO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAgJiwgLmNvbC10aXRsZSwgLmRlc2MgeyBjb2xvcjogJHdoaXRlOyB9XG4gICAgICAgIH1cbiAgICAgICAgPiAqIHsgcGFkZGluZzogcmVtLWNhbGMoMCAyMCk7IH1cbiAgICAgICAgLmNvbC10aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbC1jYXQge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNyk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlZ3VsYXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC5kb3dubG9hZHMtaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0vMjtcbiAgfVxuXG4gIC5mbGV4aWJsZS1jb250ZW50LmRvd25sb2Fkcy13cmFwcGVyIHtcbiAgICBhOmhvdmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgLmdyaWQteCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiIsIi8vIEdBTEVSSUVcbmJvZHkgLmZsZXhpYmxlLWNvbnRlbnQuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0qMC41O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtKjAuNTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkgeyBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07IH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgXG4gICAgICAgICAgICB3aWR0aDogNTAlOyBcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSowLjU7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyB3aWR0aDogMzMuMzMlOyB9XG4gICAgICAgICYuZ3JvdyB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH0gXG4gICAgaW1nIHsgZGlzcGxheTogYmxvY2s7fVxuICAgIGEge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGZpZ2NhcHRpb24geyBvcGFjaXR5OiAxO31cbiAgICAgICAgfVxuICAgIH1cblxufSIsIi5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIge1xuICAgIGg0LGg1LGg2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgIH1cbiAgICBoNCB7IEBpbmNsdWRlIGJsYWNrO31cblxuICAgIC8vIExpbmUgSGVpZ2h0c1xuICAgIGgxIHsgbGluZS1oZWlnaHQ6IDEuMjt9XG4gICAgaDIsaDMsaDUge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cbiAgICBoNCxoNiB7IGxpbmUtaGVpZ2h0OiAxLjQ7fVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGg0eyBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgfVxufSIsIi5zcGFjZXIgeyAvLyBBbGxnZW1laW5nw7xsdGlnIGxhc3NlbiBkYSBhdWNoIGF1ZiBmcm9udHBhZ2UgZ2VudXR6dFxuICAgIGhlaWdodDogMXB4OyAvL211c3MsIGRhIHNvbnN0IG1hcmdpbiBuaWNodCBnZW5vbW1lbiB3aXJkXG4gICAgJi5zbWFsbCB7XG4gICAgICAgICYtbm9uZSB7bWFyZ2luLWJvdHRvbTogMDt9XG4gICAgICAgICYtaGFsZiB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO31cbiAgICAgICAgJi1ub3JtYWwge21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO31cbiAgICAgICAgJi1kb3VibGUge21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSo0O31cbiAgICAgICAgJi10cmlwbGUge21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSo2O31cbiAgICAgICAgJi1xdWFkIHttYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qODt9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICYubWVkaXVtIHtcbiAgICAgICAgICAgICYtbm9uZSB7bWFyZ2luLWJvdHRvbTogMDt9XG4gICAgICAgICAgICAmLWhhbGYge21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSowLjU7fVxuICAgICAgICAgICAgJi1ub3JtYWwge21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTt9XG4gICAgICAgICAgICAmLWRvdWJsZSB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7fVxuICAgICAgICAgICAgJi10cmlwbGUge21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSozO31cbiAgICAgICAgICAgICYtcXVhZCB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjQ7fVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICYubGFyZ2Uge1xuICAgICAgICAgICAgJi1ub25lIHttYXJnaW4tYm90dG9tOiAwO31cbiAgICAgICAgICAgICYtaGFsZiB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO31cbiAgICAgICAgICAgICYtbm9ybWFsIHttYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMjt9XG4gICAgICAgICAgICAmLWRvdWJsZSB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjQ7fVxuICAgICAgICAgICAgJi10cmlwbGUge21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSo2O31cbiAgICAgICAgICAgICYtcXVhZCB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjg7fVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogZmFkZSBpbWFnZSBpbiBhZnRlciBsb2FkICovXG5cbi8qIFNwaW5uZXIgY2hlY2sgaHR0cDovL3NhbWhlcmJlcnQubmV0L3N2Zy1sb2FkZXJzLyAqL1xuXG4ubGF6eWxvYWQsXG4ubGF6eWxvYWRpbmcge1xuICAgIG9wYWNpdHk6IDA7XG59XG4ubGF6eWxvYWRlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDYwMG1zO1xufVxuaW1nLmxhenlsb2FkOm5vdChbc3JjXSkge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuIl19 */
