@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.3.1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body {
  margin: 0;
  padding: 0;
  background: #000000;
  font-family: "Source Sans Pro", Arial, sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

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

pre {
  overflow: auto; }

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

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

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

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

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

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

.small-1 {
  width: 8.33333%; }

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

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

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

.small-2 {
  width: 16.66667%; }

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

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

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

.small-3 {
  width: 25%; }

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

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

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

.small-4 {
  width: 33.33333%; }

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

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

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

.small-5 {
  width: 41.66667%; }

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

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

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

.small-6 {
  width: 50%; }

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

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

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

.small-7 {
  width: 58.33333%; }

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

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

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

.small-8 {
  width: 66.66667%; }

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

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

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

.small-9 {
  width: 75%; }

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

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

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

.small-10 {
  width: 83.33333%; }

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

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

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

.small-11 {
  width: 91.66667%; }

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

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

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

.small-12 {
  width: 100%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
.custom-entry--full .custom-entry__form-title,
.offer--featured .offer__title,
.offer--full .offer__form-title,
.order-progress__title,
.page--contact .page__form-title,
.page--default .page__form-title,
.page--full-width .page__form-title,
.page--teaser .page__title,
.part--featured .part__title,
.part--full .part__form-title,
.post--featured .post__title,
.vehicle--general .vehicle__title,
.vehicle--latest .vehicle__title,
.listing--vehicle-featured .listing__title,
.listing--vehicle-latest .listing__title,
.listing--vehicle-similar .listing__title,
.vehicle--full .vehicle__includes-title,
h3,
.branch--full .branch__directions-title,
.branch--teaser .branch__address-title,
.branch--teaser .branch__telephone-title,
.branch--teaser .branch__opening-hours-title,
.offer--featured .offer__sub-title,
.add-on__title,
.calendar__header .calendar__month span,
.collection-delivery__title,
.order-payment__title,
.order-state-summary__vehicle-title,
.page--contact .page__directions-title,
.page--teaser .page__sub-title,
.part--featured .part__sub-title,
.post--featured .post__sub-title,
.quick-search__legend,
.extras__list-title,
.block--default .block__title,
.block--sidebar .block__title,
.primary-image__title,
.vehicle--featured-sidebar .vehicle__title,
.vehicle--featured .vehicle__title,
.vehicle--similar .vehicle__title,
.finance-table--full .finance-table__title,
.finance-checker__details-title,
h4,
.branch--vehicle .branch__name,
.branch--vehicle .branch__directions-title,
.branch--vehicle .branch__telephone-title,
.branch--vehicle .branch__opening-hours-title,
.video--page .video__title,
.new-vehicle--full .new-vehicle__specification > ul > li .specification-category__title,
.new-vehicle--full .new-vehicle__technical-data > ul > li .technical-data-category__title,
.block--default .block__description,
.primary-image__description,
.price--featured .price__total,
.price--featured .price__sold,
.price--similar .price__total,
.price--similar .price__sold,
.vehicle--full .vehicle__specification > ul > li .specification-category__title,
.vehicle--full .vehicle__technical-data > ul > li .technical-data-category__title,
.finance-form .finance-form__title,
.finance-tables .finance-warning,
.finance-table--full .finance-table__checker-title,
.finance-example__title,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

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

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

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

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

h1,
h2,
.custom-entry--full .custom-entry__form-title,
.offer--featured .offer__title,
.offer--full .offer__form-title,
.order-progress__title,
.page--contact .page__form-title,
.page--default .page__form-title,
.page--full-width .page__form-title,
.page--teaser .page__title,
.part--featured .part__title,
.part--full .part__form-title,
.post--featured .post__title,
.vehicle--general .vehicle__title,
.vehicle--latest .vehicle__title,
.listing--vehicle-featured .listing__title,
.listing--vehicle-latest .listing__title,
.listing--vehicle-similar .listing__title,
.vehicle--full .vehicle__includes-title,
h3,
.branch--full .branch__directions-title,
.branch--teaser .branch__address-title,
.branch--teaser .branch__telephone-title,
.branch--teaser .branch__opening-hours-title,
.offer--featured .offer__sub-title,
.add-on__title,
.calendar__header .calendar__month span,
.collection-delivery__title,
.order-payment__title,
.order-state-summary__vehicle-title,
.page--contact .page__directions-title,
.page--teaser .page__sub-title,
.part--featured .part__sub-title,
.post--featured .post__sub-title,
.quick-search__legend,
.extras__list-title,
.block--default .block__title,
.block--sidebar .block__title,
.primary-image__title,
.vehicle--featured-sidebar .vehicle__title,
.vehicle--featured .vehicle__title,
.vehicle--similar .vehicle__title,
.finance-table--full .finance-table__title,
.finance-checker__details-title,
h4,
.branch--vehicle .branch__name,
.branch--vehicle .branch__directions-title,
.branch--vehicle .branch__telephone-title,
.branch--vehicle .branch__opening-hours-title,
.video--page .video__title,
.new-vehicle--full .new-vehicle__specification > ul > li .specification-category__title,
.new-vehicle--full .new-vehicle__technical-data > ul > li .technical-data-category__title,
.block--default .block__description,
.primary-image__description,
.price--featured .price__total,
.price--featured .price__sold,
.price--similar .price__total,
.price--similar .price__sold,
.vehicle--full .vehicle__specification > ul > li .specification-category__title,
.vehicle--full .vehicle__technical-data > ul > li .technical-data-category__title,
.finance-form .finance-form__title,
.finance-tables .finance-warning,
.finance-table--full .finance-table__checker-title,
.finance-example__title,
h5,
h6 {
  font-family: "Source Sans Pro", Arial, sans-serif;
  font-style: normal;
  font-weight: 600;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small,
  h2 small,
  .custom-entry--full .custom-entry__form-title small,
  .offer--featured .offer__title small,
  .offer--full .offer__form-title small,
  .order-progress__title small,
  .page--contact .page__form-title small,
  .page--default .page__form-title small,
  .page--full-width .page__form-title small,
  .page--teaser .page__title small,
  .part--featured .part__title small,
  .part--full .part__form-title small,
  .post--featured .post__title small,
  .vehicle--general .vehicle__title small,
  .vehicle--latest .vehicle__title small,
  .listing--vehicle-featured .listing__title small,
  .listing--vehicle-latest .listing__title small,
  .listing--vehicle-similar .listing__title small,
  .vehicle--full .vehicle__includes-title small,
  h3 small,
  .branch--full .branch__directions-title small,
  .branch--teaser .branch__address-title small,
  .branch--teaser .branch__telephone-title small,
  .branch--teaser .branch__opening-hours-title small,
  .offer--featured .offer__sub-title small,
  .add-on__title small,
  .calendar__header .calendar__month span small,
  .collection-delivery__title small,
  .order-payment__title small,
  .order-state-summary__vehicle-title small,
  .page--contact .page__directions-title small,
  .page--teaser .page__sub-title small,
  .part--featured .part__sub-title small,
  .post--featured .post__sub-title small,
  .quick-search__legend small,
  .extras__list-title small,
  .block--default .block__title small,
  .block--sidebar .block__title small,
  .primary-image__title small,
  .vehicle--featured-sidebar .vehicle__title small,
  .vehicle--featured .vehicle__title small,
  .vehicle--similar .vehicle__title small,
  .finance-table--full .finance-table__title small,
  .finance-checker__details-title small,
  h4 small,
  .branch--vehicle .branch__name small,
  .branch--vehicle .branch__directions-title small,
  .branch--vehicle .branch__telephone-title small,
  .branch--vehicle .branch__opening-hours-title small,
  .video--page .video__title small,
  .new-vehicle--full .new-vehicle__specification > ul > li .specification-category__title small,
  .new-vehicle--full .new-vehicle__technical-data > ul > li .technical-data-category__title small,
  .block--default .block__description small,
  .primary-image__description small,
  .price--featured .price__total small,
  .price--featured .price__sold small,
  .price--similar .price__total small,
  .price--similar .price__sold small,
  .vehicle--full .vehicle__specification > ul > li .specification-category__title small,
  .vehicle--full .vehicle__technical-data > ul > li .technical-data-category__title small,
  .finance-form .finance-form__title small,
  .finance-tables .finance-warning small,
  .finance-table--full .finance-table__checker-title small,
  .finance-example__title small,
  h5 small,
  h6 small {
    line-height: 0;
    color: #e6e6e6; }

h1 {
  font-size: 1.875rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1rem; }


h2,
.custom-entry--full .custom-entry__form-title,
.offer--featured .offer__title,
.offer--full .offer__form-title,
.order-progress__title,
.page--contact .page__form-title,
.page--default .page__form-title,
.page--full-width .page__form-title,
.page--teaser .page__title,
.part--featured .part__title,
.part--full .part__form-title,
.post--featured .post__title,
.vehicle--general .vehicle__title,
.vehicle--latest .vehicle__title,
.listing--vehicle-featured .listing__title,
.listing--vehicle-latest .listing__title,
.listing--vehicle-similar .listing__title,
.vehicle--full .vehicle__includes-title {
  font-size: 1.625rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1rem; }


h3,
.branch--full .branch__directions-title,
.branch--teaser .branch__address-title,
.branch--teaser .branch__telephone-title,
.branch--teaser .branch__opening-hours-title,
.offer--featured .offer__sub-title,
.add-on__title,
.calendar__header .calendar__month span,
.collection-delivery__title,
.order-payment__title,
.order-state-summary__vehicle-title,
.page--contact .page__directions-title,
.page--teaser .page__sub-title,
.part--featured .part__sub-title,
.post--featured .post__sub-title,
.quick-search__legend,
.extras__list-title,
.block--default .block__title,
.block--sidebar .block__title,
.primary-image__title,
.vehicle--featured-sidebar .vehicle__title,
.vehicle--featured .vehicle__title,
.vehicle--similar .vehicle__title,
.finance-table--full .finance-table__title,
.finance-checker__details-title {
  font-size: 1.375rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1rem; }


h4,
.branch--vehicle .branch__name,
.branch--vehicle .branch__directions-title,
.branch--vehicle .branch__telephone-title,
.branch--vehicle .branch__opening-hours-title,
.video--page .video__title,
.new-vehicle--full .new-vehicle__specification > ul > li .specification-category__title,
.new-vehicle--full .new-vehicle__technical-data > ul > li .technical-data-category__title,
.block--default .block__description,
.primary-image__description,
.price--featured .price__total,
.price--featured .price__sold,
.price--similar .price__total,
.price--similar .price__sold,
.vehicle--full .vehicle__specification > ul > li .specification-category__title,
.vehicle--full .vehicle__technical-data > ul > li .technical-data-category__title,
.finance-form .finance-form__title,
.finance-tables .finance-warning,
.finance-table--full .finance-table__checker-title,
.finance-example__title {
  font-size: 1.125rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1rem; }

h5 {
  font-size: 0.875rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1rem; }

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

@media print, screen and (min-width: 40em) {
  h1 {
    font-size: 2rem; }
  
  h2,
  .custom-entry--full .custom-entry__form-title,
  .offer--featured .offer__title,
  .offer--full .offer__form-title,
  .order-progress__title,
  .page--contact .page__form-title,
  .page--default .page__form-title,
  .page--full-width .page__form-title,
  .page--teaser .page__title,
  .part--featured .part__title,
  .part--full .part__form-title,
  .post--featured .post__title,
  .vehicle--general .vehicle__title,
  .vehicle--latest .vehicle__title,
  .listing--vehicle-featured .listing__title,
  .listing--vehicle-latest .listing__title,
  .listing--vehicle-similar .listing__title,
  .vehicle--full .vehicle__includes-title {
    font-size: 1.75rem; }
  
  h3,
  .branch--full .branch__directions-title,
  .branch--teaser .branch__address-title,
  .branch--teaser .branch__telephone-title,
  .branch--teaser .branch__opening-hours-title,
  .offer--featured .offer__sub-title,
  .add-on__title,
  .calendar__header .calendar__month span,
  .collection-delivery__title,
  .order-payment__title,
  .order-state-summary__vehicle-title,
  .page--contact .page__directions-title,
  .page--teaser .page__sub-title,
  .part--featured .part__sub-title,
  .post--featured .post__sub-title,
  .quick-search__legend,
  .extras__list-title,
  .block--default .block__title,
  .block--sidebar .block__title,
  .primary-image__title,
  .vehicle--featured-sidebar .vehicle__title,
  .vehicle--featured .vehicle__title,
  .vehicle--similar .vehicle__title,
  .finance-table--full .finance-table__title,
  .finance-checker__details-title {
    font-size: 1.5rem; }
  
  h4,
  .branch--vehicle .branch__name,
  .branch--vehicle .branch__directions-title,
  .branch--vehicle .branch__telephone-title,
  .branch--vehicle .branch__opening-hours-title,
  .video--page .video__title,
  .new-vehicle--full .new-vehicle__specification > ul > li .specification-category__title,
  .new-vehicle--full .new-vehicle__technical-data > ul > li .technical-data-category__title,
  .block--default .block__description,
  .primary-image__description,
  .price--featured .price__total,
  .price--featured .price__sold,
  .price--similar .price__total,
  .price--similar .price__sold,
  .vehicle--full .vehicle__specification > ul > li .specification-category__title,
  .vehicle--full .vehicle__technical-data > ul > li .technical-data-category__title,
  .finance-form .finance-form__title,
  .finance-tables .finance-warning,
  .finance-table--full .finance-table__checker-title,
  .finance-example__title {
    font-size: 1.25rem; }
  h5 {
    font-size: 1rem; }
  h6 {
    font-size: 0.75rem; } }

a {
  line-height: inherit;
  color: #ffffff;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #dbdbdb; }
  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 #e6e6e6;
  border-left: 0; }

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

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: 700; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #e6e6e6; }
  blockquote, blockquote p {
    line-height: 1.8;
    color: #999999; }

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

abbr {
  border-bottom: 1px dotted #000000;
  color: #ffffff;
  cursor: help; }

figure {
  margin: 0; }

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 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 print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

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

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #999999;
    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,
  .custom-entry--full .custom-entry__form-title,
  .offer--featured .offer__title,
  .offer--full .offer__form-title,
  .order-progress__title,
  .page--contact .page__form-title,
  .page--default .page__form-title,
  .page--full-width .page__form-title,
  .page--teaser .page__title,
  .part--featured .part__title,
  .part--full .part__form-title,
  .post--featured .post__title,
  .vehicle--general .vehicle__title,
  .vehicle--latest .vehicle__title,
  .listing--vehicle-featured .listing__title,
  .listing--vehicle-latest .listing__title,
  .listing--vehicle-similar .listing__title,
  .vehicle--full .vehicle__includes-title,
  h3,
  .branch--full .branch__directions-title,
  .branch--teaser .branch__address-title,
  .branch--teaser .branch__telephone-title,
  .branch--teaser .branch__opening-hours-title,
  .offer--featured .offer__sub-title,
  .add-on__title,
  .calendar__header .calendar__month span,
  .collection-delivery__title,
  .order-payment__title,
  .order-state-summary__vehicle-title,
  .page--contact .page__directions-title,
  .page--teaser .page__sub-title,
  .part--featured .part__sub-title,
  .post--featured .post__sub-title,
  .quick-search__legend,
  .extras__list-title,
  .block--default .block__title,
  .block--sidebar .block__title,
  .primary-image__title,
  .vehicle--featured-sidebar .vehicle__title,
  .vehicle--featured .vehicle__title,
  .vehicle--similar .vehicle__title,
  .finance-table--full .finance-table__title,
  .finance-checker__details-title {
    orphans: 3;
    widows: 3; }
  
  h2,
  .custom-entry--full .custom-entry__form-title,
  .offer--featured .offer__title,
  .offer--full .offer__form-title,
  .order-progress__title,
  .page--contact .page__form-title,
  .page--default .page__form-title,
  .page--full-width .page__form-title,
  .page--teaser .page__title,
  .part--featured .part__title,
  .part--full .part__form-title,
  .post--featured .post__title,
  .vehicle--general .vehicle__title,
  .vehicle--latest .vehicle__title,
  .listing--vehicle-featured .listing__title,
  .listing--vehicle-latest .listing__title,
  .listing--vehicle-similar .listing__title,
  .vehicle--full .vehicle__includes-title,
  h3,
  .branch--full .branch__directions-title,
  .branch--teaser .branch__address-title,
  .branch--teaser .branch__telephone-title,
  .branch--teaser .branch__opening-hours-title,
  .offer--featured .offer__sub-title,
  .add-on__title,
  .calendar__header .calendar__month span,
  .collection-delivery__title,
  .order-payment__title,
  .order-state-summary__vehicle-title,
  .page--contact .page__directions-title,
  .page--teaser .page__sub-title,
  .part--featured .part__sub-title,
  .post--featured .post__sub-title,
  .quick-search__legend,
  .extras__list-title,
  .block--default .block__title,
  .block--sidebar .block__title,
  .primary-image__title,
  .vehicle--featured-sidebar .vehicle__title,
  .vehicle--featured .vehicle__title,
  .vehicle--similar .vehicle__title,
  .finance-table--full .finance-table__title,
  .finance-checker__details-title {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.75rem 0.875rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #905dad;
  color: #ffffff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #7b4c96;
    color: #ffffff; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 1rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #905dad;
    color: #ffffff; }
    .button.primary:hover, .button.primary:focus {
      background-color: #74488d;
      color: #ffffff; }
  .button.secondary {
    background-color: #222222;
    color: #ffffff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #1b1b1b;
      color: #ffffff; }
  .button.success {
    background-color: #3adb76;
    color: #000000; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #000000; }
  .button.warning {
    background-color: #ffae00;
    color: #000000; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #000000; }
  .button.alert {
    background-color: #cc4b37;
    color: #000000; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #000000; }
  .button.hollow {
    border: 1px solid #905dad;
    color: #905dad; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #482d58;
      color: #482d58; }
    .button.hollow.primary {
      border: 1px solid #905dad;
      color: #905dad; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #482d58;
        color: #482d58; }
    .button.hollow.secondary {
      border: 1px solid #222222;
      color: #222222; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #111111;
        color: #111111; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #905dad;
      color: #ffffff; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #905dad;
        color: #ffffff; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #222222;
        color: #ffffff; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #000000; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #000000; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #000000; }
  .button.dropdown::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: 0.875rem; }
  .button.dropdown.hollow::after {
    border-top-color: #905dad; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #905dad; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #222222; }
  .button.dropdown.hollow.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

[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.375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background-color: #ffffff;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 400;
  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 #999999;
    background-color: #ffffff;
    box-shadow: 0 0 5px #e6e6e6;
    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: #999999; }

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

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

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

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

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

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

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

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

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

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  color: #ffffff; }
  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: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

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

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

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

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

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

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

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

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

select {
  height: 2.375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
          appearance: none;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 0.9375rem;
  line-height: normal;
  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%28153, 153, 153%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/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMBJREFUeNrEllsOhCAMRVszC9IlzU7KCmVHTJsoMWYMUtpyv9BgbuXQB5ZSdgBYYY4ycgBivk8KYFsQMfMiTTBP4o3nUzCKzOabLJbLy2/g31evGkAginR4/ZegKH5qX3bJCscA3t0x3kgO5tQFyhhFf50xRqFLbyMUNJQzgyjGS/wgCpvKqkRBpuWrE4V9d+1E4dPUXqIg107SQOE/2DRQxMwTDygIInVDET9T3lCoj/6j/VCmGjZOl2lKpZ8AAwDQP7zIimDGFQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #999999;
    background-color: #ffffff;
    box-shadow: 0 0 5px #e6e6e6;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #ffffff;
    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: 700;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

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

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

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

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

.accordion-content {
  display: none;
  padding: 1rem;
  border: none;
  border-bottom: 0;
  background-color: inherit;
  color: #ffffff; }
  :last-child > .accordion-content:last-child {
    border-bottom: none; }

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

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

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

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

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

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

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

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

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

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

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

.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: #999999;
    box-shadow: 0 7px 0 #999999, 0 14px 0 #999999; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.tabs.primary {
  background: #905dad; }
  .tabs.primary > li > a {
    color: #ffffff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #8a55a8; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 1.125rem;
    line-height: 1;
    color: #905dad; }
    .tabs-title > a:hover {
      background: #ffffff;
      color: #7d4d98; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #905dad;
      color: #ffffff; }

.tabs-content {
  border: 1px solid none;
  border-top: 0;
  background: inherit;
  color: #ffffff;
  transition: all 0.5s ease; }

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

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

.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: 63.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

.clearfix::after {
  clear: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7; }

@-webkit-keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@-webkit-keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.spin-ccw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn); } }

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg; }

@-webkit-keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms; }

.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

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

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

.linear {
  -webkit-animation-timing-function: linear !important;
          animation-timing-function: linear !important; }

.ease {
  -webkit-animation-timing-function: ease !important;
          animation-timing-function: ease !important; }

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

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

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

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

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

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

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

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

a {
  outline: none; }

strong {
  font-weight: 600; }

iframe {
  border: 0; }

.accordion {
  margin-bottom: 0; }
  .accordion > li a.accordion-title {
    color: #ffffff;
    font-weight: 600;
    background-color: #222222; }
    .accordion > li a.accordion-title h2, .accordion > li a.accordion-title .custom-entry--full .custom-entry__form-title, .custom-entry--full .accordion > li a.accordion-title .custom-entry__form-title, .accordion > li a.accordion-title .offer--featured .offer__title, .offer--featured .accordion > li a.accordion-title .offer__title, .accordion > li a.accordion-title .offer--full .offer__form-title, .offer--full .accordion > li a.accordion-title .offer__form-title, .accordion > li a.accordion-title .order-progress__title, .accordion > li a.accordion-title .page--contact .page__form-title, .page--contact .accordion > li a.accordion-title .page__form-title, .accordion > li a.accordion-title .page--default .page__form-title, .page--default .accordion > li a.accordion-title .page__form-title, .accordion > li a.accordion-title .page--full-width .page__form-title, .page--full-width .accordion > li a.accordion-title .page__form-title, .accordion > li a.accordion-title .page--teaser .page__title, .page--teaser .accordion > li a.accordion-title .page__title, .accordion > li a.accordion-title .part--featured .part__title, .part--featured .accordion > li a.accordion-title .part__title, .accordion > li a.accordion-title .part--full .part__form-title, .part--full .accordion > li a.accordion-title .part__form-title, .accordion > li a.accordion-title .post--featured .post__title, .post--featured .accordion > li a.accordion-title .post__title, .accordion > li a.accordion-title .vehicle--general .vehicle__title, .vehicle--general .accordion > li a.accordion-title .vehicle__title, .accordion > li a.accordion-title .vehicle--latest .vehicle__title, .vehicle--latest .accordion > li a.accordion-title .vehicle__title, .accordion > li a.accordion-title .listing--vehicle-featured .listing__title, .listing--vehicle-featured .accordion > li a.accordion-title .listing__title, .accordion > li a.accordion-title .listing--vehicle-latest .listing__title, .listing--vehicle-latest .accordion > li a.accordion-title .listing__title, .accordion > li a.accordion-title .listing--vehicle-similar .listing__title, .listing--vehicle-similar .accordion > li a.accordion-title .listing__title, .accordion > li a.accordion-title .vehicle--full .vehicle__includes-title, .vehicle--full .accordion > li a.accordion-title .vehicle__includes-title {
      margin-bottom: 0;
      font-size: inherit;
      line-height: inherit; }
  .accordion > li a.accordion-title:focus,
  .accordion > li a.accordion-title:hover,
  .accordion > li a.accordion-title[aria-selected='true'] {
    color: #ffffff;
    background-color: #905dad; }
  .accordion > li a.accordion-title[aria-selected='true'] {
    position: relative; }
    @media print, screen and (min-width: 40em) {
      .accordion > li a.accordion-title[aria-selected='true']::after {
        position: absolute;
        top: 100%;
        left: 1.875rem;
        margin-left: -0.5rem;
        content: '';
        display: block;
        width: 0;
        height: 0;
        -moz-transform: scale(0.9999);
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-top: 8px solid #905dad;
        z-index: 400; } }
  .accordion > li .accordion-content--no-padding {
    padding: 0; }
  .accordion--basic > li a.accordion-title {
    padding-top: 0.75rem;
    padding-right: 0;
    padding-bottom: 0.75rem;
    color: #ffffff;
    font-weight: 400;
    background-color: inherit; }
    .accordion--basic > li a.accordion-title:hover {
      color: #ffffff;
      background-color: inherit; }
    .accordion--basic > li a.accordion-title::before {
      right: inherit;
      left: 0; }
    .accordion--basic > li a.accordion-title span {
      font-weight: 600; }
      @media print, screen and (min-width: 64em) {
        .accordion--basic > li a.accordion-title span {
          float: right; } }
  .accordion--basic > li a.accordion-title:focus,
  .accordion--basic > li a.accordion-title:hover,
  .accordion--basic > li a.accordion-title[aria-selected='true'] {
    color: #ffffff;
    background-color: inherit; }
  .accordion--basic > li a.accordion-title[aria-selected='true']::after {
    display: none; }
  .accordion--basic > li .accordion-content {
    padding-top: 0;
    padding-bottom: 0.75rem; }

.breadcrumbs {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-bottom: 0; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' '; }
  .breadcrumbs::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .breadcrumbs {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .breadcrumbs:last-child:not(:first-child) {
    float: right; }
  .breadcrumbs, .breadcrumbs:last-child {
    float: none; }
  .breadcrumbs li {
    font-size: 0.9375rem;
    text-transform: capitalize; }
    .breadcrumbs li a {
      color: #ffffff;
      vertical-align: middle; }
      .breadcrumbs li a:hover {
        text-decoration: none; }
    .breadcrumbs li span {
      color: #ffffff;
      vertical-align: middle; }
    .breadcrumbs li:not(:last-child)::after {
      content: '\e5cc';
      margin: 0 0.375rem;
      color: #999999;
      font-family: 'Material Icons';
      font-weight: normal;
      font-style: normal;
      font-size: inherit;
      line-height: 1;
      letter-spacing: normal;
      text-transform: none;
      display: inline-block;
      white-space: nowrap;
      word-wrap: normal;
      direction: ltr;
      -webkit-font-feature-settings: 'liga';
      -webkit-font-smoothing: antialiased;
      vertical-align: middle; }

.callout {
  margin: 0.3125rem 0;
  padding-right: 2rem;
  border: none; }

.cookie-policy {
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: #222222;
  z-index: 9999999999; }
  .cookie-policy-inner {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    position: relative;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    color: #ffffff; }
    .cookie-policy-inner::before, .cookie-policy-inner::after {
      display: table;
      content: ' '; }
    .cookie-policy-inner::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .cookie-policy-inner {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .cookie-policy-inner:last-child:not(:first-child) {
      float: right; }
    .cookie-policy-inner, .cookie-policy-inner:last-child {
      float: none; }
    @media print, screen and (min-width: 40em) {
      .cookie-policy-inner {
        padding-top: 0.9375rem;
        padding-bottom: 0.9375rem; } }
    .cookie-policy-inner a {
      color: #ffffff;
      text-decoration: underline; }
      .cookie-policy-inner a:hover {
        text-decoration: none; }
  .cookie-policy__text {
    padding-right: 1rem; }
  .cookie-policy__close {
    position: absolute;
    color: #999999;
    cursor: pointer;
    top: 0.625rem;
    right: 0.625rem;
    color: #ffffff;
    font-size: 1.75rem;
    line-height: 1; }
    [data-whatinput='mouse'] .cookie-policy__close {
      outline: 0; }
    .cookie-policy__close:hover, .cookie-policy__close:focus {
      color: #000000; }
    @media print, screen and (min-width: 40em) {
      .cookie-policy__close {
        top: 0.8125rem;
        right: 0.9375rem; } }

.credits {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  text-align: center; }
  .credits::before, .credits::after {
    display: table;
    content: ' '; }
  .credits::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .credits {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .credits:last-child:not(:first-child) {
    float: right; }
  .credits, .credits:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .credits > div {
      display: inline-block; } }
  @media print, screen and (min-width: 40em) {
    .credits__company {
      margin-left: 0.5rem; } }

.is-drilldown-submenu.is-active {
  z-index: 2 !important; }

.logo {
  margin-top: 0.9375rem;
  margin-bottom: 0.9375rem; }
  .logo--text {
    font-size: 2.25rem;
    font-weight: 600;
    line-height: 1; }
    @media print, screen and (min-width: 64em) {
      .logo--text {
        margin-top: 1.875rem;
        margin-bottom: 1.875rem; } }
  .logo--image {
    display: inline-block; }

.pagination {
  background-color: #000000;
  text-align: center; }
  .pagination li {
    display: inline-block;
    margin-right: 0;
    padding: 0.5rem 0; }
    .pagination li a {
      padding: 0.3125rem 0.75rem 0.5rem;
      color: #ffffff;
      font-size: 1rem;
      line-height: 1;
      vertical-align: middle; }
      .pagination li a span {
        vertical-align: middle; }
      .pagination li a:focus, .pagination li a:hover {
        color: #ffffff;
        background-color: #905dad; }
    .pagination li.active, .pagination li.current {
      padding: 0;
      background: none; }
      .pagination li.active a, .pagination li.current a {
        color: #ffffff;
        background-color: #905dad; }
    .pagination li.first a span::before,
    .pagination li.previous a span::before,
    .pagination li.next a span::after,
    .pagination li.last a span::after {
      display: inline-block;
      font-family: 'Material Icons';
      font-size: 1rem;
      font-weight: normal;
      font-style: normal;
      font-size: inherit;
      line-height: 1;
      letter-spacing: normal;
      text-transform: none;
      display: inline-block;
      white-space: nowrap;
      word-wrap: normal;
      direction: ltr;
      -webkit-font-feature-settings: 'liga';
      -webkit-font-smoothing: antialiased;
      vertical-align: middle;
      cursor: pointer; }
    .pagination li.first a span::before {
      content: '\e5dc';
      margin-right: 0.125rem; }
    .pagination li.previous a span::before {
      content: '\e5cb';
      margin-right: 0.125rem; }
    .pagination li.next a span::after {
      content: '\e5cc';
      margin-left: 0.125rem; }
    .pagination li.last a span::after {
      content: '\e5dd';
      margin-left: 0.125rem; }
    .pagination li a:hover span::before,
    .pagination li a:hover span::after {
      color: #ffffff; }
  @media print, screen and (min-width: 40em) {
    .pagination--mobile {
      display: none; } }
  .pagination--mobile li.first a span, .pagination--mobile li.previous a span, .pagination--mobile li.next a span, .pagination--mobile li.last a span {
    color: transparent;
    font-size: 0px;
    line-height: 0px; }
    .pagination--mobile li.first a span::before, .pagination--mobile li.first a span::after, .pagination--mobile li.previous a span::before, .pagination--mobile li.previous a span::after, .pagination--mobile li.next a span::before, .pagination--mobile li.next a span::after, .pagination--mobile li.last a span::before, .pagination--mobile li.last a span::after {
      color: #ffffff;
      font-size: 1rem;
      line-height: 1; }
  .pagination--mobile li.first a:focus span::before, .pagination--mobile li.first a:focus span::after,
  .pagination--mobile li.first a:hover span::before,
  .pagination--mobile li.first a:hover span::after, .pagination--mobile li.previous a:focus span::before, .pagination--mobile li.previous a:focus span::after,
  .pagination--mobile li.previous a:hover span::before,
  .pagination--mobile li.previous a:hover span::after, .pagination--mobile li.next a:focus span::before, .pagination--mobile li.next a:focus span::after,
  .pagination--mobile li.next a:hover span::before,
  .pagination--mobile li.next a:hover span::after, .pagination--mobile li.last a:focus span::before, .pagination--mobile li.last a:focus span::after,
  .pagination--mobile li.last a:hover span::before,
  .pagination--mobile li.last a:hover span::after {
    color: #ffffff; }
  .pagination--desktop {
    display: none; }
    @media print, screen and (min-width: 40em) {
      .pagination--desktop {
        display: block; } }

.datepicker table thead {
  background: inherit;
  color: inherit; }

.datepicker table tbody tr:nth-child(even) {
  background-color: inherit; }

.tabs {
  margin: 0;
  list-style-type: none;
  display: table;
  width: 100%;
  table-layout: fixed; }
  .tabs > li {
    display: table-cell;
    vertical-align: middle; }
    [data-whatinput='mouse'] .tabs > li {
      outline: 0; }
  .tabs > li > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .tabs input,
  .tabs select,
  .tabs a,
  .tabs button {
    margin-bottom: 0; }
  .tabs > li:first-child:last-child {
    width: 100%; }
  .tabs::before, .tabs::after {
    display: none; }
  .tabs > li {
    float: none; }
    .tabs > li.tabs-title > a {
      height: 3.625rem;
      line-height: 3.625rem;
      padding: 0;
      color: #ffffff;
      text-align: center;
      font-weight: 600;
      background-color: #222222;
      margin-right: 0.0625rem; }
      .tabs > li.tabs-title > a h2, .tabs > li.tabs-title > a .custom-entry--full .custom-entry__form-title, .custom-entry--full .tabs > li.tabs-title > a .custom-entry__form-title, .tabs > li.tabs-title > a .offer--featured .offer__title, .offer--featured .tabs > li.tabs-title > a .offer__title, .tabs > li.tabs-title > a .offer--full .offer__form-title, .offer--full .tabs > li.tabs-title > a .offer__form-title, .tabs > li.tabs-title > a .order-progress__title, .tabs > li.tabs-title > a .page--contact .page__form-title, .page--contact .tabs > li.tabs-title > a .page__form-title, .tabs > li.tabs-title > a .page--default .page__form-title, .page--default .tabs > li.tabs-title > a .page__form-title, .tabs > li.tabs-title > a .page--full-width .page__form-title, .page--full-width .tabs > li.tabs-title > a .page__form-title, .tabs > li.tabs-title > a .page--teaser .page__title, .page--teaser .tabs > li.tabs-title > a .page__title, .tabs > li.tabs-title > a .part--featured .part__title, .part--featured .tabs > li.tabs-title > a .part__title, .tabs > li.tabs-title > a .part--full .part__form-title, .part--full .tabs > li.tabs-title > a .part__form-title, .tabs > li.tabs-title > a .post--featured .post__title, .post--featured .tabs > li.tabs-title > a .post__title, .tabs > li.tabs-title > a .vehicle--general .vehicle__title, .vehicle--general .tabs > li.tabs-title > a .vehicle__title, .tabs > li.tabs-title > a .vehicle--latest .vehicle__title, .vehicle--latest .tabs > li.tabs-title > a .vehicle__title, .tabs > li.tabs-title > a .listing--vehicle-featured .listing__title, .listing--vehicle-featured .tabs > li.tabs-title > a .listing__title, .tabs > li.tabs-title > a .listing--vehicle-latest .listing__title, .listing--vehicle-latest .tabs > li.tabs-title > a .listing__title, .tabs > li.tabs-title > a .listing--vehicle-similar .listing__title, .listing--vehicle-similar .tabs > li.tabs-title > a .listing__title, .tabs > li.tabs-title > a .vehicle--full .vehicle__includes-title, .vehicle--full .tabs > li.tabs-title > a .vehicle__includes-title {
        margin-bottom: 0;
        font-size: inherit;
        line-height: inherit; }
    .tabs > li.tabs-title > a:focus,
    .tabs > li.tabs-title > a:hover,
    .tabs > li.tabs-title > a[aria-selected='true'] {
      color: #ffffff;
      background-color: #905dad; }
    .tabs > li.tabs-title.is-active {
      position: relative; }
      @media print, screen and (min-width: 40em) {
        .tabs > li.tabs-title.is-active::after {
          position: absolute;
          top: 100%;
          left: 50%;
          margin-left: -0.5rem;
          content: '';
          display: block;
          width: 0;
          height: 0;
          -moz-transform: scale(0.9999);
          border-left: 8px solid transparent;
          border-right: 8px solid transparent;
          border-top: 8px solid #905dad;
          z-index: 400; } }
    .tabs > li:last-child.tabs-title > a {
      margin-right: 0; }

.vehicle__top .tabs-content .tabs-panel {
  padding: 0; }

.vehicle__middle .tabs-content .tabs-panel {
  padding: 1.25rem 0 0; }

.temporary-slogan {
  display: block;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background-color: #905dad;
  z-index: 999; }
  .temporary-slogan__inner {
    padding: 0.625rem;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    line-height: 1.4; }
    @media print, screen and (min-width: 40em) {
      .temporary-slogan__inner {
        font-size: 0.875rem; } }
    @media print, screen and (min-width: 64em) {
      .temporary-slogan__inner {
        font-size: 0.9375rem; } }
    @media screen and (min-width: 75em) {
      .temporary-slogan__inner {
        font-size: 1rem; } }
    .temporary-slogan__inner a {
      color: #ffffff; }

.block--footer .block__primary-images img {
  border: 1px solid #141414;
  border-radius: 0.1875rem; }

.branch--footer .branch__name {
  display: inline-block;
  margin-right: 0.1875rem; }
  .branch--footer .branch__name::after {
    content: ',';
    display: inline-block; }

.branch--footer .branch__address {
  display: inline-block; }
  .branch--footer .branch__address span::after {
    content: ',';
    display: inline-block; }
  .branch--footer .branch__address span:last-child::after {
    content: ''; }

.branch--full .branch__map {
  padding-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .branch--full .branch__map {
      padding-bottom: 1.875rem; } }
  .branch--full .branch__map #map {
    width: 100%;
    height: 18.75rem; }
    @media print, screen and (min-width: 40em) {
      .branch--full .branch__map #map {
        height: 29rem; } }

.branch--full .branch__primary-images {
  padding-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .branch--full .branch__primary-images {
      padding-bottom: 1.875rem; } }
  .branch--full .branch__primary-images ul {
    margin: 0;
    list-style: none; }

.branch--full .branch__logos,
.branch--full .branch__secondary-images {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .branch--full .branch__logos,
    .branch--full .branch__secondary-images {
      float: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .branch--full .branch__logos,
    .branch--full .branch__secondary-images {
      width: 25rem; } }
  .branch--full .branch__logos ul,
  .branch--full .branch__secondary-images ul {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .branch--full .branch__videos {
    float: right;
    clear: right;
    width: 20rem;
    margin-left: 1.25rem; } }

@media print, screen and (min-width: 64em) {
  .branch--full .branch__videos {
    width: 25rem; } }

.branch--full .branch__videos ul {
  list-style: none;
  margin-left: 0;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .branch--full .branch__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .branch--full .branch__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .branch--full .branch__videos ul::before, .branch--full .branch__videos ul::after {
    display: table;
    content: ' '; }
  .branch--full .branch__videos ul::after {
    clear: both; }
  .branch--full .branch__videos ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .branch--full .branch__videos ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .branch--full .branch__videos ul > li:nth-of-type(1n) {
      clear: none; }
    .branch--full .branch__videos ul > li:nth-of-type(1n+1) {
      clear: both; }
    .branch--full .branch__videos ul > li:last-child {
      float: left; }
  .branch--full .branch__videos ul li {
    margin-bottom: 1.25rem; }

.branch--full .branch__description {
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .branch--full .branch__description {
      padding-bottom: 1.25rem; } }
  .branch--full .branch__description p a:not(.button) {
    text-decoration: underline; }
    .branch--full .branch__description p a:not(.button):hover {
      text-decoration: none; }

.branch--full .branch__files ul {
  margin-left: 0;
  list-style: none; }
  .branch--full .branch__files ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.branch--full .branch__directions {
  padding-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .branch--full .branch__directions {
      padding-bottom: 1.875rem; } }

.branch--teaser {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .branch--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .branch--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .branch--teaser::before, .branch--teaser::after {
    display: table;
    content: ' '; }
  .branch--teaser::after {
    clear: both; }
  .branch--teaser .branch__name {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .branch--teaser .branch__name {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .branch--teaser .branch__name:last-child:not(:first-child) {
      float: right; }
  .branch--teaser .branch__details {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .branch--teaser .branch__details {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .branch--teaser .branch__details:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .branch--teaser .branch__details {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .branch--teaser .branch__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .branch--teaser .branch__details:last-child:not(:first-child) {
          float: right; } }
  .branch--teaser .branch__address span {
    display: block; }
  .branch--teaser .branch__telephone {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .branch--teaser .branch__telephone {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .branch--teaser .branch__telephone:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .branch--teaser .branch__telephone {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .branch--teaser .branch__telephone {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .branch--teaser .branch__telephone:last-child:not(:first-child) {
          float: right; } }
    .branch--teaser .branch__telephone ul {
      list-style: none;
      margin: 0; }
  .branch--teaser .branch__opening-hours {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .branch--teaser .branch__opening-hours {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .branch--teaser .branch__opening-hours:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .branch--teaser .branch__opening-hours {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .branch--teaser .branch__opening-hours {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .branch--teaser .branch__opening-hours:last-child:not(:first-child) {
          float: right; } }
    .branch--teaser .branch__opening-hours select {
      margin-bottom: 0.9375rem; }

.branch--vehicle {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .branch--vehicle {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .branch--vehicle {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .branch--vehicle::before, .branch--vehicle::after {
    display: table;
    content: ' '; }
  .branch--vehicle::after {
    clear: both; }
  .branch--vehicle .branch__map {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .branch--vehicle .branch__map {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .branch--vehicle .branch__map:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .branch--vehicle .branch__map {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .branch--vehicle .branch__map {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .branch--vehicle .branch__map:last-child:not(:first-child) {
          float: right; } }
    .branch--vehicle .branch__map #map {
      width: 100%;
      height: 18.75rem;
      margin-bottom: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .branch--vehicle .branch__map #map {
          height: 37.5rem;
          margin-bottom: 0; } }
  .branch--vehicle .branch__details {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .branch--vehicle .branch__details {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .branch--vehicle .branch__details:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .branch--vehicle .branch__details {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .branch--vehicle .branch__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .branch--vehicle .branch__details:last-child:not(:first-child) {
          float: right; } }
  .branch--vehicle .branch__name,
  .branch--vehicle .branch__directions-title {
    margin-bottom: 0.625rem; }
  .branch--vehicle .branch__address {
    margin-bottom: 1.25rem; }
    .branch--vehicle .branch__address span {
      display: block; }
  .branch--vehicle .branch__telephone,
  .branch--vehicle .branch__opening-hours {
    margin-bottom: 1.25rem; }
    .branch--vehicle .branch__telephone-title,
    .branch--vehicle .branch__opening-hours-title {
      margin-bottom: 0.625rem; }
    .branch--vehicle .branch__telephone ul,
    .branch--vehicle .branch__opening-hours ul {
      list-style: none;
      margin: 0; }

.custom-entry--full .custom-entry__primary-images {
  padding-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .custom-entry--full .custom-entry__primary-images {
      padding-bottom: 1.875rem; } }
  .custom-entry--full .custom-entry__primary-images ul {
    margin: 0;
    list-style: none; }

.custom-entry--full .custom-entry__secondary-images {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .custom-entry--full .custom-entry__secondary-images {
      float: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  .custom-entry--full .custom-entry__secondary-images ul {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .custom-entry--full .custom-entry__videos {
    float: right;
    clear: right;
    width: 20rem;
    margin-left: 1.25rem; } }

.custom-entry--full .custom-entry__videos ul {
  list-style: none;
  margin-left: 0;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .custom-entry--full .custom-entry__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .custom-entry--full .custom-entry__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .custom-entry--full .custom-entry__videos ul::before, .custom-entry--full .custom-entry__videos ul::after {
    display: table;
    content: ' '; }
  .custom-entry--full .custom-entry__videos ul::after {
    clear: both; }
  .custom-entry--full .custom-entry__videos ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .custom-entry--full .custom-entry__videos ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .custom-entry--full .custom-entry__videos ul > li:nth-of-type(1n) {
      clear: none; }
    .custom-entry--full .custom-entry__videos ul > li:nth-of-type(1n+1) {
      clear: both; }
    .custom-entry--full .custom-entry__videos ul > li:last-child {
      float: left; }
  .custom-entry--full .custom-entry__videos ul li {
    margin-bottom: 1.25rem; }

.custom-entry--full .custom-entry__custom-fields {
  margin-bottom: 0.625rem; }
  .custom-entry--full .custom-entry__custom-fields ul {
    margin: 0;
    list-style: none; }
    .custom-entry--full .custom-entry__custom-fields ul li span {
      font-weight: 600; }

.custom-entry--full .custom-entry__description {
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .custom-entry--full .custom-entry__description {
      padding-bottom: 1.25rem; } }
  .custom-entry--full .custom-entry__description p a:not(.button) {
    text-decoration: underline; }
    .custom-entry--full .custom-entry__description p a:not(.button):hover {
      text-decoration: none; }

.custom-entry--full .custom-entry__files ul {
  margin-left: 0;
  list-style: none; }
  .custom-entry--full .custom-entry__files ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.custom-entry--full .custom-entry__form {
  clear: right; }
  @media screen and (max-width: 39.9375em) {
    .custom-entry--full .custom-entry__form {
      padding-bottom: 1.25rem; } }

.custom-entry--teaser {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .custom-entry--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .custom-entry--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .custom-entry--teaser::before, .custom-entry--teaser::after {
    display: table;
    content: ' '; }
  .custom-entry--teaser::after {
    clear: both; }
  .custom-entry--teaser .custom-entry__primary-images {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .custom-entry--teaser .custom-entry__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .custom-entry--teaser .custom-entry__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .custom-entry--teaser .custom-entry__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-bottom: 0; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .custom-entry--teaser .custom-entry__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .custom-entry--teaser .custom-entry__primary-images:last-child:not(:first-child) {
          float: right; } }
  .custom-entry--teaser .custom-entry__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .custom-entry--teaser .custom-entry__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .custom-entry--teaser .custom-entry__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .custom-entry--teaser .custom-entry__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .custom-entry--teaser .custom-entry__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .custom-entry--teaser .custom-entry__content:last-child:not(:first-child) {
          float: right; } }
  .custom-entry--teaser .custom-entry__content--without-media {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .custom-entry--teaser .custom-entry__content--without-media {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .custom-entry--teaser .custom-entry__content--without-media:last-child:not(:first-child) {
      float: right; }
  .custom-entry--teaser .custom-entry__custom-fields {
    margin-bottom: 0.625rem; }
    .custom-entry--teaser .custom-entry__custom-fields ul {
      margin: 0;
      list-style: none; }
      .custom-entry--teaser .custom-entry__custom-fields ul li span {
        font-weight: 600; }
  .custom-entry--teaser .custom-entry__description {
    margin-bottom: 0.9375rem;
    line-height: 1.6; }
  .custom-entry--teaser .custom-entry__link .button {
    margin-bottom: 0; }

.department--teaser .department__name {
  font-weight: 600; }

.department--teaser .department__telephone .department__label::after {
  display: inline-block;
  content: ':';
  margin-right: 0.1875rem; }

.department--teaser .department__telephone .department__value {
  font-weight: 600; }

.department--teaser .department__opening-hours ul {
  list-style: none;
  margin: 0; }

.department--teaser .department__opening-hours .department__value {
  display: inline-block;
  float: right;
  font-weight: 600; }

.department--vehicle .department__telephone .department__label::after {
  display: inline-block;
  content: ':';
  margin-right: 0.1875rem; }

.department--vehicle .department__telephone .department__value {
  font-weight: 600; }

.department--vehicle .department__opening-hours .department__value {
  display: inline-block;
  float: right;
  font-weight: 600; }

.form--delivery-calendar {
  margin-top: 0.9375rem; }
  .form--delivery-calendar .form__link {
    margin-top: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .form--delivery-calendar .form__link {
        margin-top: 1.875rem; } }
    .form--delivery-calendar .form__link .button {
      margin-bottom: 0; }

.form--directions {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .form--directions {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .form--directions {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .form--directions::before, .form--directions::after {
    display: table;
    content: ' '; }
  .form--directions::after {
    clear: both; }
  .form--directions .field-starting-point {
    width: 50%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--directions .field-starting-point {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--directions .field-starting-point:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .form--directions .field-starting-point {
        width: 41.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .form--directions .field-starting-point {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .form--directions .field-starting-point:last-child:not(:first-child) {
          float: right; } }
  .form--directions .field-destination {
    width: 50%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--directions .field-destination {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--directions .field-destination:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .form--directions .field-destination {
        width: 41.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .form--directions .field-destination {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .form--directions .field-destination:last-child:not(:first-child) {
          float: right; } }
  .form--directions .field-submit {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--directions .field-submit {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--directions .field-submit:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .form--directions .field-submit {
        width: 16.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-top: 1.5625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .form--directions .field-submit {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .form--directions .field-submit:last-child:not(:first-child) {
          float: right; }
        .form--directions .field-submit .button {
          width: 100%;
          margin-bottom: 0; } }
  .form--directions.form--single-branch .field-starting-point {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--directions.form--single-branch .field-starting-point {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--directions.form--single-branch .field-starting-point:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .form--directions.form--single-branch .field-starting-point {
        width: 83.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .form--directions.form--single-branch .field-starting-point {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .form--directions.form--single-branch .field-starting-point:last-child:not(:first-child) {
          float: right; } }

.form--vehicle-directions {
  position: relative; }
  .form--vehicle-directions .field-submit {
    position: absolute;
    bottom: 0.25rem;
    right: 0.25rem;
    margin-bottom: 0; }
    .form--vehicle-directions .field-submit .button {
      padding: 0.5rem;
      margin-bottom: 0;
      border: none;
      border-radius: 0.25rem; }

.form--part-exchange {
  padding: 0.625rem;
  background-color: #905dad; }
  @media print, screen and (min-width: 40em) {
    .form--part-exchange {
      padding: 0.9375rem; } }
  .form--part-exchange .form__fieldset {
    position: relative; }
  .form--part-exchange .form__legend {
    margin-bottom: 0.75rem;
    color: #ffffff;
    font-size: 1.625rem;
    font-weight: 600;
    line-height: 1; }
  .form--part-exchange .form__label {
    margin-bottom: 1.3125rem;
    color: #ffffff;
    font-size: 1rem;
    line-height: 1.375rem; }
  .form--part-exchange .field-submit {
    position: absolute;
    bottom: 0.625rem;
    right: 0.625rem;
    margin-bottom: 0; }
    .form--part-exchange .field-submit .button {
      padding: 0.625rem;
      margin-bottom: 0;
      border: none;
      border-radius: 0.25rem; }
  .form--part-exchange .field-vehicle-registration {
    margin-bottom: 0; }
    .form--part-exchange .field-vehicle-registration .form-group__input {
      position: relative;
      width: 100%;
      height: 3.75rem;
      padding-left: 3.75rem;
      padding-right: 0.375rem;
      background-color: #ffffff;
      border: none;
      border-radius: 0.375rem;
      box-shadow: none; }
      .form--part-exchange .field-vehicle-registration .form-group__input::before {
        font-family: "67degrees";
        content: "\47";
        position: absolute;
        top: 0;
        left: 0;
        height: 3.75rem;
        width: 3.125rem;
        font-size: 1.875rem;
        line-height: 2.1;
        text-align: center;
        background-color: #222222;
        color: #ffffff;
        border-top-left-radius: 0.375rem;
        border-bottom-left-radius: 0.375rem;
        font-weight: normal;
        font-style: normal;
        letter-spacing: normal;
        text-transform: none;
        display: inline-block;
        white-space: nowrap;
        word-wrap: normal;
        direction: ltr;
        -webkit-font-feature-settings: 'liga';
        -webkit-font-smoothing: antialiased;
        vertical-align: middle; }
      .form--part-exchange .field-vehicle-registration .form-group__input input {
        height: 3.75rem;
        margin-bottom: 0;
        font-size: 1.875rem;
        font-weight: 700;
        text-transform: uppercase;
        background-color: #ffffff;
        border: none;
        box-shadow: none; }
    .form--part-exchange .field-vehicle-registration .control-label {
      display: none; }

.form--sell-your-vehicle-valuation [type='text'],
.form--sell-your-vehicle-valuation [type='password'],
.form--sell-your-vehicle-valuation [type='date'],
.form--sell-your-vehicle-valuation [type='datetime'],
.form--sell-your-vehicle-valuation [type='datetime-local'],
.form--sell-your-vehicle-valuation [type='month'],
.form--sell-your-vehicle-valuation [type='week'],
.form--sell-your-vehicle-valuation [type='email'],
.form--sell-your-vehicle-valuation [type='number'],
.form--sell-your-vehicle-valuation [type='search'],
.form--sell-your-vehicle-valuation [type='tel'],
.form--sell-your-vehicle-valuation [type='time'],
.form--sell-your-vehicle-valuation [type='url'],
.form--sell-your-vehicle-valuation [type='color'],
.form--sell-your-vehicle-valuation select,
.form--sell-your-vehicle-valuation textarea {
  margin-bottom: 0.9375rem; }

.form--sell-your-vehicle-valuation label.error {
  height: 1.1875rem;
  margin-top: -0.9375rem;
  margin-bottom: 0.9375rem;
  color: #cc4b37;
  font-size: 0.8125rem;
  line-height: 1.1875rem; }

.form--sell-your-vehicle-valuation .form__back a {
  display: block;
  margin-bottom: 0.375rem; }
  .form--sell-your-vehicle-valuation .form__back a i {
    font-size: 0.75rem; }
  .form--sell-your-vehicle-valuation .form__back a span {
    line-height: 1;
    vertical-align: middle; }

.form--sell-your-vehicle-valuation .form__step0 .field-registration {
  margin-bottom: 0.9375rem; }
  .form--sell-your-vehicle-valuation .form__step0 .field-registration .form-group__input {
    position: relative;
    width: 100%;
    height: 3.75rem;
    padding-left: 3.75rem;
    padding-right: 0.375rem;
    background-color: #ffffff;
    border: none;
    border-radius: 0.375rem;
    box-shadow: none; }
    .form--sell-your-vehicle-valuation .form__step0 .field-registration .form-group__input::before {
      font-family: "67degrees";
      content: "\47";
      position: absolute;
      top: 0;
      left: 0;
      height: 3.75rem;
      width: 3.125rem;
      font-size: 1.875rem;
      line-height: 2.1;
      text-align: center;
      background-color: #222222;
      color: #ffffff;
      border-top-left-radius: 0.375rem;
      border-bottom-left-radius: 0.375rem;
      font-weight: normal;
      font-style: normal;
      letter-spacing: normal;
      text-transform: none;
      display: inline-block;
      white-space: nowrap;
      word-wrap: normal;
      direction: ltr;
      -webkit-font-feature-settings: 'liga';
      -webkit-font-smoothing: antialiased;
      vertical-align: middle; }
    .form--sell-your-vehicle-valuation .form__step0 .field-registration .form-group__input input {
      height: 3.625rem;
      font-size: 1.875rem;
      font-weight: 700;
      text-transform: uppercase;
      background-color: #ffffff;
      border: none;
      box-shadow: none; }
  .form--sell-your-vehicle-valuation .form__step0 .field-registration .control-label {
    display: none; }

.form--sell-your-vehicle-valuation .form__step1 {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .form--sell-your-vehicle-valuation .form__step1 {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .form--sell-your-vehicle-valuation .form__step1 {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .form--sell-your-vehicle-valuation .form__step1::before, .form--sell-your-vehicle-valuation .form__step1::after {
    display: table;
    content: ' '; }
  .form--sell-your-vehicle-valuation .form__step1::after {
    clear: both; }
  .form--sell-your-vehicle-valuation .form__step1 fieldset {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--sell-your-vehicle-valuation .form__step1 fieldset {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--sell-your-vehicle-valuation .form__step1 fieldset:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .form--sell-your-vehicle-valuation .form__step1 fieldset {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .form--sell-your-vehicle-valuation .form__step1 fieldset {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .form--sell-your-vehicle-valuation .form__step1 fieldset:last-child:not(:first-child) {
          float: right; } }
  .form--sell-your-vehicle-valuation .form__step1 .summary {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--sell-your-vehicle-valuation .form__step1 .summary {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--sell-your-vehicle-valuation .form__step1 .summary:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .form--sell-your-vehicle-valuation .form__step1 .summary {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .form--sell-your-vehicle-valuation .form__step1 .summary {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .form--sell-your-vehicle-valuation .form__step1 .summary:last-child:not(:first-child) {
          float: right; } }
    .form--sell-your-vehicle-valuation .form__step1 .summary__inner {
      color: #ffffff;
      background-color: #905dad;
      padding: 1.25rem; }
    .form--sell-your-vehicle-valuation .form__step1 .summary__title {
      margin-bottom: 0.9375rem;
      color: #ffffff;
      font-size: 1.5rem;
      font-weight: 600;
      line-height: 1; }
    .form--sell-your-vehicle-valuation .form__step1 .summary__list {
      margin: 0;
      list-style: none; }
    .form--sell-your-vehicle-valuation .form__step1 .summary__list-item span {
      float: right;
      font-weight: 600; }

.valuation__price {
  font-size: 2.5rem;
  font-weight: 700; }

.form--sell-your-vehicle [type='text'],
.form--sell-your-vehicle [type='password'],
.form--sell-your-vehicle [type='date'],
.form--sell-your-vehicle [type='datetime'],
.form--sell-your-vehicle [type='datetime-local'],
.form--sell-your-vehicle [type='month'],
.form--sell-your-vehicle [type='week'],
.form--sell-your-vehicle [type='email'],
.form--sell-your-vehicle [type='number'],
.form--sell-your-vehicle [type='search'],
.form--sell-your-vehicle [type='tel'],
.form--sell-your-vehicle [type='time'],
.form--sell-your-vehicle [type='url'],
.form--sell-your-vehicle [type='color'],
.form--sell-your-vehicle select,
.form--sell-your-vehicle textarea {
  margin-bottom: 0.9375rem; }

.form--sell-your-vehicle label.error {
  height: 1.1875rem;
  margin-top: -0.9375rem;
  margin-bottom: 0.9375rem;
  color: #cc4b37;
  font-size: 0.8125rem;
  line-height: 1.1875rem; }

.form--sell-your-vehicle .form__back a {
  display: block;
  margin-bottom: 0.375rem; }
  .form--sell-your-vehicle .form__back a i {
    font-size: 0.75rem; }
  .form--sell-your-vehicle .form__back a span {
    line-height: 1;
    vertical-align: middle; }

.form--sell-your-vehicle .form__step0 .field-vehicle-registration {
  margin-bottom: 0.9375rem; }
  .form--sell-your-vehicle .form__step0 .field-vehicle-registration .form-group__input {
    position: relative;
    width: 100%;
    height: 3.75rem;
    padding-left: 3.75rem;
    padding-right: 0.375rem;
    background-color: #ffffff;
    border: none;
    border-radius: 0.375rem;
    box-shadow: none; }
    .form--sell-your-vehicle .form__step0 .field-vehicle-registration .form-group__input::before {
      font-family: "67degrees";
      content: "\47";
      position: absolute;
      top: 0;
      left: 0;
      height: 3.75rem;
      width: 3.125rem;
      font-size: 1.875rem;
      line-height: 2.1;
      text-align: center;
      background-color: #222222;
      color: #ffffff;
      border-top-left-radius: 0.375rem;
      border-bottom-left-radius: 0.375rem;
      font-weight: normal;
      font-style: normal;
      letter-spacing: normal;
      text-transform: none;
      display: inline-block;
      white-space: nowrap;
      word-wrap: normal;
      direction: ltr;
      -webkit-font-feature-settings: 'liga';
      -webkit-font-smoothing: antialiased;
      vertical-align: middle; }
    .form--sell-your-vehicle .form__step0 .field-vehicle-registration .form-group__input input {
      height: 3.625rem;
      font-size: 1.875rem;
      font-weight: 700;
      text-transform: uppercase;
      background-color: #ffffff;
      border: none;
      box-shadow: none; }
  .form--sell-your-vehicle .form__step0 .field-vehicle-registration .control-label {
    display: none; }

.form--service-booking {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .form--service-booking {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .form--service-booking {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .form--service-booking::before, .form--service-booking::after {
    display: table;
    content: ' '; }
  .form--service-booking::after {
    clear: both; }
  .form--service-booking [type='text'],
  .form--service-booking [type='password'],
  .form--service-booking [type='date'],
  .form--service-booking [type='datetime'],
  .form--service-booking [type='datetime-local'],
  .form--service-booking [type='month'],
  .form--service-booking [type='week'],
  .form--service-booking [type='email'],
  .form--service-booking [type='number'],
  .form--service-booking [type='search'],
  .form--service-booking [type='tel'],
  .form--service-booking [type='time'],
  .form--service-booking [type='url'],
  .form--service-booking [type='color'],
  .form--service-booking select,
  .form--service-booking textarea {
    margin-bottom: 0.9375rem; }
  .form--service-booking label.error {
    height: 1.1875rem;
    margin-top: -0.9375rem;
    margin-bottom: 0.9375rem;
    color: #cc4b37;
    font-size: 0.8125rem;
    line-height: 1.1875rem; }
  .form--service-booking .form__steps {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--service-booking .form__steps {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--service-booking .form__steps:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .form--service-booking .form__steps {
        width: 75%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .form--service-booking .form__steps {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .form--service-booking .form__steps:last-child:not(:first-child) {
          float: right; } }
  .form--service-booking .form__summary {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--service-booking .form__summary {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--service-booking .form__summary:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .form--service-booking .form__summary {
        width: 25%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .form--service-booking .form__summary {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .form--service-booking .form__summary:last-child:not(:first-child) {
          float: right; } }
  .form--service-booking .form-disclaimer {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--service-booking .form-disclaimer {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--service-booking .form-disclaimer:last-child:not(:first-child) {
      float: right; }
  .form--service-booking .field-servicebookingform-registration {
    margin-bottom: 0.9375rem; }
    .form--service-booking .field-servicebookingform-registration .form-group__input {
      position: relative;
      width: 100%;
      height: 3.75rem;
      padding-left: 3.75rem;
      padding-right: 0.375rem;
      background-color: #ffffff;
      border: none;
      border-radius: 0.375rem;
      box-shadow: none; }
      .form--service-booking .field-servicebookingform-registration .form-group__input::before {
        font-family: "67degrees";
        content: "\47";
        position: absolute;
        top: 0;
        left: 0;
        height: 3.75rem;
        width: 3.125rem;
        font-size: 1.875rem;
        line-height: 2.1;
        text-align: center;
        background-color: #222222;
        color: #ffffff;
        border-top-left-radius: 0.375rem;
        border-bottom-left-radius: 0.375rem;
        font-weight: normal;
        font-style: normal;
        letter-spacing: normal;
        text-transform: none;
        display: inline-block;
        white-space: nowrap;
        word-wrap: normal;
        direction: ltr;
        -webkit-font-feature-settings: 'liga';
        -webkit-font-smoothing: antialiased;
        vertical-align: middle; }
      .form--service-booking .field-servicebookingform-registration .form-group__input input {
        height: 3.625rem;
        font-size: 1.875rem;
        font-weight: 700;
        text-transform: uppercase;
        background-color: #ffffff;
        border: none;
        box-shadow: none; }
    .form--service-booking .field-servicebookingform-registration .control-label {
      display: none; }
  .form--service-booking .field-servicebookingform-service_type .control-label,
  .form--service-booking .field-servicebookingform-additional-service_type .control-label {
    margin-bottom: 0;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1; }
  .form--service-booking .field-servicebookingform-service_type p,
  .form--service-booking .field-servicebookingform-additional-service_type p {
    margin-bottom: 0.625rem;
    font-size: 0.875rem;
    font-weight: 400; }
  .form--service-booking .field-servicebookingform-service_type .options {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--service-booking .field-servicebookingform-service_type .options {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .form--service-booking .field-servicebookingform-service_type .options {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .form--service-booking .field-servicebookingform-service_type .options::before, .form--service-booking .field-servicebookingform-service_type .options::after {
      display: table;
      content: ' '; }
    .form--service-booking .field-servicebookingform-service_type .options::after {
      clear: both; }
    .form--service-booking .field-servicebookingform-service_type .options > label {
      float: left;
      width: 100%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .form--service-booking .field-servicebookingform-service_type .options > label {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .form--service-booking .field-servicebookingform-service_type .options > label:nth-of-type(1n) {
        clear: none; }
      .form--service-booking .field-servicebookingform-service_type .options > label:nth-of-type(1n+1) {
        clear: both; }
      .form--service-booking .field-servicebookingform-service_type .options > label:last-child {
        float: left; }
    @media print, screen and (min-width: 64em) {
      .form--service-booking .field-servicebookingform-service_type .options > label {
        float: left;
        width: 33.33333%;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .form--service-booking .field-servicebookingform-service_type .options > label {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .form--service-booking .field-servicebookingform-service_type .options > label:nth-of-type(1n) {
          clear: none; }
        .form--service-booking .field-servicebookingform-service_type .options > label:nth-of-type(3n+1) {
          clear: both; }
        .form--service-booking .field-servicebookingform-service_type .options > label:last-child {
          float: left; } }
    .form--service-booking .field-servicebookingform-service_type .options__label {
      margin-bottom: 0.625rem; }
      .form--service-booking .field-servicebookingform-service_type .options__label input {
        display: none; }
      .form--service-booking .field-servicebookingform-service_type .options__label .options__details {
        display: block;
        min-height: 6.25rem;
        padding: 0.9375rem;
        text-align: center;
        background-color: #000000; }
      .form--service-booking .field-servicebookingform-service_type .options__label input:checked + .options__details {
        color: #ffffff;
        background-color: #905dad; }
      .form--service-booking .field-servicebookingform-service_type .options__label .options__name {
        font-size: 1.125rem;
        font-weight: 600;
        line-height: 1; }
      .form--service-booking .field-servicebookingform-service_type .options__label .options__description {
        display: block;
        min-height: 2rem;
        font-size: 0.75rem;
        line-height: 1.2; }
      .form--service-booking .field-servicebookingform-service_type .options__label .options__price {
        display: block;
        font-size: 1.25rem;
        font-weight: 600;
        line-height: 1; }
      .form--service-booking .field-servicebookingform-service_type .options__label label.error {
        position: absolute;
        top: 0.1875rem;
        left: 6.25rem;
        margin: 0; }
  .form--service-booking .field-servicebookingform-additional-service_type .options {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--service-booking .field-servicebookingform-additional-service_type .options {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .form--service-booking .field-servicebookingform-additional-service_type .options {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .form--service-booking .field-servicebookingform-additional-service_type .options::before, .form--service-booking .field-servicebookingform-additional-service_type .options::after {
      display: table;
      content: ' '; }
    .form--service-booking .field-servicebookingform-additional-service_type .options::after {
      clear: both; }
    .form--service-booking .field-servicebookingform-additional-service_type .options > label {
      float: left;
      width: 100%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .form--service-booking .field-servicebookingform-additional-service_type .options > label {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .form--service-booking .field-servicebookingform-additional-service_type .options > label:nth-of-type(1n) {
        clear: none; }
      .form--service-booking .field-servicebookingform-additional-service_type .options > label:nth-of-type(1n+1) {
        clear: both; }
      .form--service-booking .field-servicebookingform-additional-service_type .options > label:last-child {
        float: left; }
    .form--service-booking .field-servicebookingform-additional-service_type .options__label input {
      display: none; }
    .form--service-booking .field-servicebookingform-additional-service_type .options__label .options__details {
      display: inline-block;
      width: 100%;
      padding: 0.9375rem;
      background-color: #000000; }
    .form--service-booking .field-servicebookingform-additional-service_type .options__label input:checked + .options__details {
      color: #ffffff;
      background-color: #905dad; }
    .form--service-booking .field-servicebookingform-additional-service_type .options__label .options__name {
      float: left;
      font-size: 1.125rem;
      font-weight: 600;
      line-height: 1; }
    .form--service-booking .field-servicebookingform-additional-service_type .options__label .options__description {
      float: left;
      clear: left;
      margin-top: 0.3125rem;
      font-size: 0.75rem;
      line-height: 1.2; }
    .form--service-booking .field-servicebookingform-additional-service_type .options__label .options__price {
      float: right;
      font-size: 1.25rem;
      font-weight: 600;
      line-height: 1; }
    .form--service-booking .field-servicebookingform-additional-service_type .options__label label.error {
      position: absolute;
      top: 0.1875rem;
      left: 6.25rem;
      margin: 0; }
  .form--service-booking .confirmation {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    margin-bottom: 0.375rem; }
    @media print, screen and (min-width: 40em) {
      .form--service-booking .confirmation {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .form--service-booking .confirmation {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .form--service-booking .confirmation::before, .form--service-booking .confirmation::after {
      display: table;
      content: ' '; }
    .form--service-booking .confirmation::after {
      clear: both; }
    .form--service-booking .confirmation > li {
      float: left;
      width: 100%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .form--service-booking .confirmation > li {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .form--service-booking .confirmation > li:nth-of-type(1n) {
        clear: none; }
      .form--service-booking .confirmation > li:nth-of-type(1n+1) {
        clear: both; }
      .form--service-booking .confirmation > li:last-child {
        float: left; }
    @media print, screen and (min-width: 64em) {
      .form--service-booking .confirmation > li {
        float: left;
        width: 33.33333%;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .form--service-booking .confirmation > li {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .form--service-booking .confirmation > li:nth-of-type(1n) {
          clear: none; }
        .form--service-booking .confirmation > li:nth-of-type(3n+1) {
          clear: both; }
        .form--service-booking .confirmation > li:last-child {
          float: left; } }
    .form--service-booking .confirmation > li {
      margin-bottom: 0.625rem; }
    .form--service-booking .confirmation__step {
      padding: 0.9375rem;
      background-color: #000000; }
    .form--service-booking .confirmation__title {
      margin-bottom: 0.8125rem;
      padding-bottom: 0.625rem;
      font-size: 1.125rem;
      font-weight: 600;
      text-align: center;
      line-height: 1.4; }
    .form--service-booking .confirmation__change {
      display: block;
      font-size: 0.875rem; }
    .form--service-booking .confirmation__row {
      margin-bottom: 0.375rem; }
    .form--service-booking .confirmation__label {
      display: inline-block;
      font-size: 0.875rem;
      line-height: 1.5; }
    .form--service-booking .confirmation__value {
      display: inline-block;
      font-size: 0.875rem;
      font-weight: 600;
      line-height: 1.5; }
    .form--service-booking .confirmation__row--additional-service .confirmation__label,
    .form--service-booking .confirmation__row--additional-service .confirmation__value, .form--service-booking .confirmation__row--service-type .confirmation__label,
    .form--service-booking .confirmation__row--service-type .confirmation__value {
      display: block; }
  .form--service-booking .summary {
    color: #ffffff;
    background-color: #905dad;
    padding: 1.25rem; }
    .form--service-booking .summary__title {
      margin-bottom: 0.9375rem;
      color: #ffffff;
      font-size: 1.5rem;
      font-weight: 600;
      line-height: 1; }
    .form--service-booking .summary__label {
      display: inline-block; }
    .form--service-booking .summary__value {
      float: right; }
    .form--service-booking .summary__row--service {
      margin-bottom: 0.1875rem; }
    .form--service-booking .summary__row--total {
      border-top: 1px solid #a77fbe;
      margin-top: 0.8125rem;
      padding-top: 0.625rem;
      font-size: 1.125rem;
      font-weight: 600; }

.form--vehicle-payment .form-marketing__fields input {
  margin-bottom: 0; }

.form--vehicle-payment .field-submit {
  margin-top: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .form--vehicle-payment .field-submit {
      margin-top: 1.875rem; } }
  .form--vehicle-payment .field-submit .button {
    margin-bottom: 0; }

.form--vehicle-sort select {
  height: 2.875rem; }

.form--vehicle-valuation .form__back a {
  display: block;
  margin-bottom: 0.375rem; }
  .form--vehicle-valuation .form__back a i {
    font-size: 0.75rem; }
  .form--vehicle-valuation .form__back a span {
    line-height: 1;
    vertical-align: middle; }

.form--vehicle-valuation .button {
  margin-bottom: 0; }

.form--vehicle-valuation .form__description {
  margin-bottom: 0.9375rem; }

.form--vehicle-valuation .form__row {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .form--vehicle-valuation .form__row {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .form--vehicle-valuation .form__row {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .form--vehicle-valuation .form__row::before, .form--vehicle-valuation .form__row::after {
    display: table;
    content: ' '; }
  .form--vehicle-valuation .form__row::after {
    clear: both; }

.form--vehicle-valuation .form__registration,
.form--vehicle-valuation .form__mileage,
.form--vehicle-valuation .form__first-name,
.form--vehicle-valuation .form__last-name,
.form--vehicle-valuation .form__phone,
.form--vehicle-valuation .form__email {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .form--vehicle-valuation .form__registration,
    .form--vehicle-valuation .form__mileage,
    .form--vehicle-valuation .form__first-name,
    .form--vehicle-valuation .form__last-name,
    .form--vehicle-valuation .form__phone,
    .form--vehicle-valuation .form__email {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .form--vehicle-valuation .form__registration:last-child:not(:first-child),
  .form--vehicle-valuation .form__mileage:last-child:not(:first-child),
  .form--vehicle-valuation .form__first-name:last-child:not(:first-child),
  .form--vehicle-valuation .form__last-name:last-child:not(:first-child),
  .form--vehicle-valuation .form__phone:last-child:not(:first-child),
  .form--vehicle-valuation .form__email:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .form--vehicle-valuation .form__registration,
    .form--vehicle-valuation .form__mileage,
    .form--vehicle-valuation .form__first-name,
    .form--vehicle-valuation .form__last-name,
    .form--vehicle-valuation .form__phone,
    .form--vehicle-valuation .form__email {
      width: 50%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .form--vehicle-valuation .form__registration,
    .form--vehicle-valuation .form__mileage,
    .form--vehicle-valuation .form__first-name,
    .form--vehicle-valuation .form__last-name,
    .form--vehicle-valuation .form__phone,
    .form--vehicle-valuation .form__email {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .form--vehicle-valuation .form__registration:last-child:not(:first-child),
      .form--vehicle-valuation .form__mileage:last-child:not(:first-child),
      .form--vehicle-valuation .form__first-name:last-child:not(:first-child),
      .form--vehicle-valuation .form__last-name:last-child:not(:first-child),
      .form--vehicle-valuation .form__phone:last-child:not(:first-child),
      .form--vehicle-valuation .form__email:last-child:not(:first-child) {
        float: right; } }

.form--vehicle-valuation .form__part-exchange-vehicle {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .form--vehicle-valuation .form__part-exchange-vehicle {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .form--vehicle-valuation .form__part-exchange-vehicle:last-child:not(:first-child) {
    float: right; }

.form--vehicle-valuation .summary {
  margin-bottom: 0.9375rem; }
  .form--vehicle-valuation .summary__title {
    margin-bottom: 0.9375rem;
    font-weight: 600; }
  .form--vehicle-valuation .summary__list {
    margin: 0;
    list-style: none; }
    .form--vehicle-valuation .summary__list li {
      margin-bottom: 0.625rem; }
      .form--vehicle-valuation .summary__list li:last-child {
        margin-bottom: 0; }

.form--vehicle-valuation .form__vehicle-specifics {
  margin: 0;
  list-style: none; }
  .form--vehicle-valuation .form__vehicle-specifics li {
    line-height: 1.2; }
    .form--vehicle-valuation .form__vehicle-specifics li .checkbox {
      margin: 0; }
    .form--vehicle-valuation .form__vehicle-specifics li .form-group {
      display: inline-block;
      margin-bottom: 0; }
    .form--vehicle-valuation .form__vehicle-specifics li label {
      line-height: 1.2; }
    .form--vehicle-valuation .form__vehicle-specifics li a {
      display: inline-block;
      margin-bottom: 0;
      margin-left: 0.1875rem;
      color: #905dad; }
  .form--vehicle-valuation .form__vehicle-specifics .form__field-has-outstanding-finance {
    margin-bottom: 0.9375rem; }

.form--vehicle-valuation .form__vehicle-condition {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  margin: 0 0 0.9375rem;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .form--vehicle-valuation .form__vehicle-condition {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .form--vehicle-valuation .form__vehicle-condition {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .form--vehicle-valuation .form__vehicle-condition::before, .form--vehicle-valuation .form__vehicle-condition::after {
    display: table;
    content: ' '; }
  .form--vehicle-valuation .form__vehicle-condition::after {
    clear: both; }
  .form--vehicle-valuation .form__vehicle-condition > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .form--vehicle-valuation .form__vehicle-condition > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .form--vehicle-valuation .form__vehicle-condition > li:nth-of-type(1n) {
      clear: none; }
    .form--vehicle-valuation .form__vehicle-condition > li:nth-of-type(1n+1) {
      clear: both; }
    .form--vehicle-valuation .form__vehicle-condition > li:last-child {
      float: left; }
  @media screen and (min-width: 48em) {
    .form--vehicle-valuation .form__vehicle-condition > li {
      float: left;
      width: 20%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 40em) {
    .form--vehicle-valuation .form__vehicle-condition > li {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media screen and (min-width: 48em) {
      .form--vehicle-valuation .form__vehicle-condition > li:nth-of-type(1n) {
        clear: none; }
      .form--vehicle-valuation .form__vehicle-condition > li:nth-of-type(5n+1) {
        clear: both; }
      .form--vehicle-valuation .form__vehicle-condition > li:last-child {
        float: left; } }
  .form--vehicle-valuation .form__vehicle-condition li {
    margin-bottom: 0.625rem;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .form--vehicle-valuation .form__vehicle-condition li {
        margin-bottom: 0.9375rem; } }
    @media screen and (min-width: 48em) {
      .form--vehicle-valuation .form__vehicle-condition li {
        margin-bottom: 0; } }

.form--vehicle-valuation .field-partexchangeform-lightcondition {
  display: none; }

.form--vehicle-valuation .form__valuation h3, .form--vehicle-valuation .form__valuation .branch--full .branch__directions-title, .branch--full .form--vehicle-valuation .form__valuation .branch__directions-title, .form--vehicle-valuation .form__valuation .branch--teaser .branch__address-title, .branch--teaser .form--vehicle-valuation .form__valuation .branch__address-title, .form--vehicle-valuation .form__valuation .branch--teaser .branch__telephone-title, .branch--teaser .form--vehicle-valuation .form__valuation .branch__telephone-title, .form--vehicle-valuation .form__valuation .branch--teaser .branch__opening-hours-title, .branch--teaser .form--vehicle-valuation .form__valuation .branch__opening-hours-title, .form--vehicle-valuation .form__valuation .offer--featured .offer__sub-title, .offer--featured .form--vehicle-valuation .form__valuation .offer__sub-title, .form--vehicle-valuation .form__valuation .add-on__title, .form--vehicle-valuation .form__valuation .calendar__header .calendar__month span, .calendar__header .calendar__month .form--vehicle-valuation .form__valuation span, .form--vehicle-valuation .form__valuation .collection-delivery__title, .form--vehicle-valuation .form__valuation .order-payment__title, .form--vehicle-valuation .form__valuation .order-state-summary__vehicle-title, .form--vehicle-valuation .form__valuation .page--contact .page__directions-title, .page--contact .form--vehicle-valuation .form__valuation .page__directions-title, .form--vehicle-valuation .form__valuation .page--teaser .page__sub-title, .page--teaser .form--vehicle-valuation .form__valuation .page__sub-title, .form--vehicle-valuation .form__valuation .part--featured .part__sub-title, .part--featured .form--vehicle-valuation .form__valuation .part__sub-title, .form--vehicle-valuation .form__valuation .post--featured .post__sub-title, .post--featured .form--vehicle-valuation .form__valuation .post__sub-title, .form--vehicle-valuation .form__valuation .quick-search__legend, .form--vehicle-valuation .form__valuation .extras__list-title, .form--vehicle-valuation .form__valuation .block--default .block__title, .block--default .form--vehicle-valuation .form__valuation .block__title, .form--vehicle-valuation .form__valuation .block--sidebar .block__title, .block--sidebar .form--vehicle-valuation .form__valuation .block__title, .form--vehicle-valuation .form__valuation .primary-image__title, .form--vehicle-valuation .form__valuation .vehicle--featured-sidebar .vehicle__title, .vehicle--featured-sidebar .form--vehicle-valuation .form__valuation .vehicle__title, .form--vehicle-valuation .form__valuation .vehicle--featured .vehicle__title, .vehicle--featured .form--vehicle-valuation .form__valuation .vehicle__title, .form--vehicle-valuation .form__valuation .vehicle--similar .vehicle__title, .vehicle--similar .form--vehicle-valuation .form__valuation .vehicle__title, .form--vehicle-valuation .form__valuation .finance-table--full .finance-table__title, .finance-table--full .form--vehicle-valuation .form__valuation .finance-table__title, .form--vehicle-valuation .form__valuation .finance-checker__details-title {
  margin-bottom: 0; }

.form--vehicle-valuation .form__valuation .form__valuation-description {
  margin-top: 0.9375rem; }

.reveal--vehicle-valuation {
  padding-top: 3.125rem; }
  .reveal--vehicle-valuation p:last-child {
    margin-bottom: 0; }

form [type='text'],
form [type='password'],
form [type='date'],
form [type='datetime'],
form [type='datetime-local'],
form [type='month'],
form [type='week'],
form [type='email'],
form [type='number'],
form [type='search'],
form [type='tel'],
form [type='time'],
form [type='url'],
form [type='color'] {
  height: 2.75rem;
  margin-bottom: 0; }
  form [type='text']:disabled,
  form [type='password']:disabled,
  form [type='date']:disabled,
  form [type='datetime']:disabled,
  form [type='datetime-local']:disabled,
  form [type='month']:disabled,
  form [type='week']:disabled,
  form [type='email']:disabled,
  form [type='number']:disabled,
  form [type='search']:disabled,
  form [type='tel']:disabled,
  form [type='time']:disabled,
  form [type='url']:disabled,
  form [type='color']:disabled {
    color: #999999; }

form select {
  height: 2.75rem;
  margin-bottom: 0;
  background-image: url("data:image/svg+xml;utf8,<svg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'><path d='M10.59.59L6 5.17 1.41.59 0 2l6 6 6-6' fill='%232d3737' fill-rule='evenodd'/></svg>");
  background-size: 0.6875rem 0.4375rem; }
  form select:disabled {
    color: #999999; }

form textarea {
  height: 6.25rem;
  margin-bottom: 0; }

form .help-block {
  margin-bottom: 0.9375rem;
  color: #cc4b37;
  font-size: 0.8125rem; }

form [type='hidden'] + .help-block {
  display: none; }

form .required label.control-label::after {
  content: ' *';
  color: #cc4b37; }

form .form-marketing__message {
  margin-bottom: 0.9375rem;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8; }

form .form-marketing__label label::after {
  content: ' *';
  color: #cc4b37; }

form .form-marketing__fields label {
  display: inline-block;
  margin-right: 0.9375rem; }

form .form-marketing__fields .form-group .js-marketing {
  position: absolute;
  width: 0.0625rem;
  visibility: hidden; }

form .form-marketing__fields .form-group .help-block {
  margin-bottom: 0; }

form .form-marketing__channels {
  margin-bottom: 0.9375rem;
  font-size: 0.875rem; }
  form .form-marketing__channels label {
    display: inline-block;
    margin-right: 0.9375rem; }
  form .form-marketing__channels [type='checkbox'] {
    margin-bottom: 0; }

.form-disclaimer {
  font-size: 0.875rem;
  line-height: 1.8;
  opacity: 0.6; }

.secondary-image {
  position: relative; }
  .secondary-image__title {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: left;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 0.75rem;
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1; }
  .secondary-image__description {
    display: none;
    color: #ffffff;
    font-size: 1.25rem;
    line-height: 1; }
    @media print, screen and (min-width: 40em) {
      .secondary-image__description {
        display: block; } }

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

.video--page .video__title {
  margin-bottom: 0.375rem; }

.new-vehicle--full .new-vehicle__top {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
  background-color: #0d0d0d; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__top {
      padding-top: 0;
      padding-bottom: 3.125rem; } }
  .new-vehicle--full .new-vehicle__top-inner {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto; }
    .new-vehicle--full .new-vehicle__top-inner::before, .new-vehicle--full .new-vehicle__top-inner::after {
      display: table;
      content: ' '; }
    .new-vehicle--full .new-vehicle__top-inner::after {
      clear: both; }
  .new-vehicle--full .new-vehicle__top .new-vehicle__promo-text {
    display: block;
    position: inherit;
    top: inherit;
    left: inherit;
    margin-bottom: 0.625rem; }

.new-vehicle--full .new-vehicle__back {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__back {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .new-vehicle--full .new-vehicle__back:last-child:not(:first-child) {
    float: right; }
  .new-vehicle--full .new-vehicle__back a {
    display: inline-block;
    margin-bottom: 0.375rem; }
    .new-vehicle--full .new-vehicle__back a i {
      font-size: 0.75rem; }
    .new-vehicle--full .new-vehicle__back a span {
      line-height: 1;
      vertical-align: middle; }

.new-vehicle--full .new-vehicle__media {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__media {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .new-vehicle--full .new-vehicle__media:last-child:not(:first-child) {
    float: right; }
  @media screen and (min-width: 48em) {
    .new-vehicle--full .new-vehicle__media {
      width: 58.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__media {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media screen and (min-width: 48em) {
      .new-vehicle--full .new-vehicle__media:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 64em) {
    .new-vehicle--full .new-vehicle__media {
      width: 66.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__media {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .new-vehicle--full .new-vehicle__media:last-child:not(:first-child) {
        float: right; } }

.new-vehicle--full .new-vehicle__primary-images ul {
  margin: 0;
  list-style: none; }

.new-vehicle--full .new-vehicle__primary-images-thumbnails {
  display: none;
  margin-top: 0.125rem;
  overflow: hidden; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__primary-images-thumbnails {
      display: block; } }
  .new-vehicle--full .new-vehicle__primary-images-thumbnails ul {
    margin: 0;
    list-style: none; }

.new-vehicle--full .new-vehicle__details {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .new-vehicle--full .new-vehicle__details:last-child:not(:first-child) {
    float: right; }
  @media screen and (min-width: 48em) {
    .new-vehicle--full .new-vehicle__details {
      width: 41.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media screen and (min-width: 48em) {
      .new-vehicle--full .new-vehicle__details:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 64em) {
    .new-vehicle--full .new-vehicle__details {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .new-vehicle--full .new-vehicle__details:last-child:not(:first-child) {
        float: right; } }
  .new-vehicle--full .new-vehicle__details .new-vehicle__details-inner {
    padding: 0.625rem;
    background-color: #000000; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__details .new-vehicle__details-inner {
        padding: 0.9375rem; } }
    .new-vehicle--full .new-vehicle__details .new-vehicle__details-inner .new-vehicle__title {
      margin-bottom: 0.9375rem;
      line-height: 1; }
      .new-vehicle--full .new-vehicle__details .new-vehicle__details-inner .new-vehicle__title .new-vehicle__model-variant {
        display: block;
        font-size: 1.5rem;
        font-weight: 400; }
    .new-vehicle--full .new-vehicle__details .new-vehicle__details-inner .new-vehicle__price {
      margin-bottom: 0.9375rem; }
    .new-vehicle--full .new-vehicle__details .new-vehicle__details-inner .new-vehicle__telephone {
      margin-bottom: 0.9375rem;
      font-size: 1rem;
      text-align: center;
      line-height: 1.5rem; }
      .new-vehicle--full .new-vehicle__details .new-vehicle__details-inner .new-vehicle__telephone span {
        display: block;
        font-size: 1.625rem;
        font-weight: 600; }
    .new-vehicle--full .new-vehicle__details .new-vehicle__details-inner .new-vehicle__cta {
      padding: 0.625rem 1.25rem;
      background-color: #0d0d0d; }

.new-vehicle--full .new-vehicle__part-exchange {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-top: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__part-exchange {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .new-vehicle--full .new-vehicle__part-exchange:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .new-vehicle--full .new-vehicle__part-exchange {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__part-exchange {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .new-vehicle--full .new-vehicle__part-exchange:last-child:not(:first-child) {
        float: right; } }

.new-vehicle--full > .new-vehicle__technical-data-promoted {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem; }
  .new-vehicle--full > .new-vehicle__technical-data-promoted::before, .new-vehicle--full > .new-vehicle__technical-data-promoted::after {
    display: table;
    content: ' '; }
  .new-vehicle--full > .new-vehicle__technical-data-promoted::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full > .new-vehicle__technical-data-promoted {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .new-vehicle--full > .new-vehicle__technical-data-promoted:last-child:not(:first-child) {
    float: right; }
  .new-vehicle--full > .new-vehicle__technical-data-promoted, .new-vehicle--full > .new-vehicle__technical-data-promoted:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full > .new-vehicle__technical-data-promoted {
      padding-top: 3.125rem;
      padding-bottom: 3.125rem; } }
  .new-vehicle--full > .new-vehicle__technical-data-promoted > ul {
    margin-bottom: 0;
    list-style: none; }
    @media screen and (max-width: 39.9375em) {
      .new-vehicle--full > .new-vehicle__technical-data-promoted > ul {
        margin-right: -0.625rem;
        margin-left: -0.625rem; } }
  @media screen and (max-width: 39.9375em) and (min-width: 40em) {
    .new-vehicle--full > .new-vehicle__technical-data-promoted > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media screen and (max-width: 39.9375em) and (min-width: 64em) {
    .new-vehicle--full > .new-vehicle__technical-data-promoted > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
    @media screen and (max-width: 39.9375em) {
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul::before, .new-vehicle--full > .new-vehicle__technical-data-promoted > ul::after {
          display: table;
          content: ' '; }
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul::after {
          clear: both; }
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li {
          float: left;
          width: 100%; }
          .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li:nth-of-type(1n) {
            clear: none; }
          .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li:nth-of-type(1n+1) {
            clear: both; }
          .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li:last-child {
            float: left; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .new-vehicle--full > .new-vehicle__technical-data-promoted > ul {
        margin-right: -0.625rem;
        margin-left: -0.625rem; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) and (min-width: 40em) {
    .new-vehicle--full > .new-vehicle__technical-data-promoted > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) and (min-width: 64em) {
    .new-vehicle--full > .new-vehicle__technical-data-promoted > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul::before, .new-vehicle--full > .new-vehicle__technical-data-promoted > ul::after {
          display: table;
          content: ' '; }
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul::after {
          clear: both; }
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li {
          float: left;
          width: 50%; }
          .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li:nth-of-type(1n) {
            clear: none; }
          .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li:nth-of-type(2n+1) {
            clear: both; }
          .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li:last-child {
            float: left; } }
    @media print, screen and (min-width: 64em) {
      .new-vehicle--full > .new-vehicle__technical-data-promoted > ul {
        margin: 0;
        list-style-type: none;
        display: table;
        width: 100%;
        table-layout: fixed; }
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li {
          display: table-cell;
          vertical-align: middle; }
          [data-whatinput='mouse'] .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li {
            outline: 0; }
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li > a {
          display: block;
          padding: 0.7rem 1rem;
          line-height: 1; }
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul input,
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul select,
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul a,
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul button {
          margin-bottom: 0; }
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li:first-child:last-child {
          width: 100%; } }
    .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li {
      padding: 0 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li {
          padding: 0 0.9375rem; } }
      @media print, screen and (min-width: 64em) {
        .new-vehicle--full > .new-vehicle__technical-data-promoted > ul > li {
          vertical-align: top; } }

.new-vehicle--full .new-vehicle__technical-data-summary {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 1.875rem; }
  .new-vehicle--full .new-vehicle__technical-data-summary::before, .new-vehicle--full .new-vehicle__technical-data-summary::after {
    display: table;
    content: ' '; }
  .new-vehicle--full .new-vehicle__technical-data-summary::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__technical-data-summary {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .new-vehicle--full .new-vehicle__technical-data-summary:last-child:not(:first-child) {
    float: right; }
  .new-vehicle--full .new-vehicle__technical-data-summary, .new-vehicle--full .new-vehicle__technical-data-summary:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__technical-data-summary {
      padding-bottom: 3.125rem; } }
  .new-vehicle--full .new-vehicle__technical-data-summary > ul {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    margin-bottom: 0;
    list-style: none; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__technical-data-summary > ul {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .new-vehicle--full .new-vehicle__technical-data-summary > ul {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .new-vehicle--full .new-vehicle__technical-data-summary > ul::before, .new-vehicle--full .new-vehicle__technical-data-summary > ul::after {
      display: table;
      content: ' '; }
    .new-vehicle--full .new-vehicle__technical-data-summary > ul::after {
      clear: both; }
    .new-vehicle--full .new-vehicle__technical-data-summary > ul > li {
      float: left;
      width: 100%; }
      .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:nth-of-type(1n) {
        clear: none; }
      .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:nth-of-type(1n+1) {
        clear: both; }
      .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:last-child {
        float: left; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__technical-data-summary > ul > li {
        float: left;
        width: 50%; }
        .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:nth-of-type(1n) {
          clear: none; }
        .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:nth-of-type(2n+1) {
          clear: both; }
        .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:last-child {
          float: left; } }
    @media print, screen and (min-width: 64em) {
      .new-vehicle--full .new-vehicle__technical-data-summary > ul > li {
        float: left;
        width: 33.33333%; }
        .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:nth-of-type(1n) {
          clear: none; }
        .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:nth-of-type(3n+1) {
          clear: both; }
        .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:last-child {
          float: left; } }
    .new-vehicle--full .new-vehicle__technical-data-summary > ul > li {
      padding: 0 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .new-vehicle--full .new-vehicle__technical-data-summary > ul > li {
          padding: 0 0.9375rem 0.25rem; } }
      @media print, screen and (min-width: 40em) {
        .new-vehicle--full .new-vehicle__technical-data-summary > ul > li:nth-child(3n) {
          border-right: none; } }
  .new-vehicle--full .new-vehicle__technical-data-summary .show {
    text-align: center; }
    .new-vehicle--full .new-vehicle__technical-data-summary .show a {
      display: inline-block;
      vertical-align: middle;
      margin: 0 0 1rem 0;
      padding: 0.75rem 0.875rem;
      -webkit-appearance: none;
      border: 1px solid transparent;
      border-radius: 0;
      transition: background-color 0.25s ease-out, color 0.25s ease-out;
      font-size: 1.125rem;
      line-height: 1;
      text-align: center;
      cursor: pointer;
      background-color: #905dad;
      color: #ffffff;
      display: inline-block;
      margin-bottom: 0;
      padding: 0.625rem 0.75rem;
      font-size: 1rem;
      font-weight: 600; }
      [data-whatinput='mouse'] .new-vehicle--full .new-vehicle__technical-data-summary .show a {
        outline: 0; }
      .new-vehicle--full .new-vehicle__technical-data-summary .show a:hover, .new-vehicle--full .new-vehicle__technical-data-summary .show a:focus {
        background-color: #7b4c96;
        color: #ffffff; }

.new-vehicle--full .new-vehicle__description {
  line-height: 1.8; }
  @media screen and (max-width: 39.9375em) {
    .new-vehicle--full .new-vehicle__description {
      position: relative;
      overflow: hidden; } }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__description {
      text-align: center; } }
  .new-vehicle--full .new-vehicle__description .expand {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6.25rem;
    padding-top: 4.6875rem;
    font-weight: 600;
    background: linear-gradient(to top, black 0%, black 25%, rgba(0, 0, 0, 0) 100%); }
  .new-vehicle--full .new-vehicle__description-outer {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    padding-bottom: 1.875rem; }
    .new-vehicle--full .new-vehicle__description-outer::before, .new-vehicle--full .new-vehicle__description-outer::after {
      display: table;
      content: ' '; }
    .new-vehicle--full .new-vehicle__description-outer::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__description-outer {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .new-vehicle--full .new-vehicle__description-outer:last-child:not(:first-child) {
      float: right; }
    .new-vehicle--full .new-vehicle__description-outer, .new-vehicle--full .new-vehicle__description-outer:last-child {
      float: none; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__description-outer {
        padding-bottom: 3.125rem; } }

.new-vehicle--full .new-vehicle__secondary-images {
  background-color: #0d0d0d;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__secondary-images {
      padding-top: 3.125rem;
      padding-bottom: 3.125rem; } }
  .new-vehicle--full .new-vehicle__secondary-images-inner {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    .new-vehicle--full .new-vehicle__secondary-images-inner::before, .new-vehicle--full .new-vehicle__secondary-images-inner::after {
      display: table;
      content: ' '; }
    .new-vehicle--full .new-vehicle__secondary-images-inner::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__secondary-images-inner {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .new-vehicle--full .new-vehicle__secondary-images-inner:last-child:not(:first-child) {
      float: right; }
    .new-vehicle--full .new-vehicle__secondary-images-inner, .new-vehicle--full .new-vehicle__secondary-images-inner:last-child {
      float: none; }
  .new-vehicle--full .new-vehicle__secondary-images ul {
    margin: 0;
    list-style: none; }

.new-vehicle--full .new-vehicle__content {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  .new-vehicle--full .new-vehicle__content::before, .new-vehicle--full .new-vehicle__content::after {
    display: table;
    content: ' '; }
  .new-vehicle--full .new-vehicle__content::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .new-vehicle--full .new-vehicle__content:last-child:not(:first-child) {
    float: right; }
  .new-vehicle--full .new-vehicle__content, .new-vehicle--full .new-vehicle__content:last-child {
    float: none; }
  .new-vehicle--full .new-vehicle__content-outer {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
    background-color: #141414; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__content-outer {
        padding-top: 3.125rem;
        padding-bottom: 3.125rem; } }
  .new-vehicle--full .new-vehicle__content-inner {
    background-color: #000000; }
    @media print, screen and (min-width: 64em) {
      .new-vehicle--full .new-vehicle__content-inner {
        padding: 1.25rem; } }

.new-vehicle--full .new-vehicle__specification > ul {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__specification > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .new-vehicle--full .new-vehicle__specification > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .new-vehicle--full .new-vehicle__specification > ul::before, .new-vehicle--full .new-vehicle__specification > ul::after {
    display: table;
    content: ' '; }
  .new-vehicle--full .new-vehicle__specification > ul::after {
    clear: both; }
  .new-vehicle--full .new-vehicle__specification > ul > li {
    float: left;
    width: 100%; }
    .new-vehicle--full .new-vehicle__specification > ul > li:nth-of-type(1n) {
      clear: none; }
    .new-vehicle--full .new-vehicle__specification > ul > li:nth-of-type(1n+1) {
      clear: both; }
    .new-vehicle--full .new-vehicle__specification > ul > li:last-child {
      float: left; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__specification > ul > li {
      float: left;
      width: 33.33333%; }
      .new-vehicle--full .new-vehicle__specification > ul > li:nth-of-type(1n) {
        clear: none; }
      .new-vehicle--full .new-vehicle__specification > ul > li:nth-of-type(3n+1) {
        clear: both; }
      .new-vehicle--full .new-vehicle__specification > ul > li:last-child {
        float: left; } }
  .new-vehicle--full .new-vehicle__specification > ul > li {
    padding: 0.625rem 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__specification > ul > li {
        padding: 0.625rem 0.9375rem; } }
    .new-vehicle--full .new-vehicle__specification > ul > li .specification {
      display: inline; }
      .new-vehicle--full .new-vehicle__specification > ul > li .specification__value {
        display: inline; }
    .new-vehicle--full .new-vehicle__specification > ul > li ul {
      margin-left: 0;
      color: #999999;
      list-style: square;
      list-style-position: inside; }

.new-vehicle--full .new-vehicle__specification-button {
  text-align: center; }
  .new-vehicle--full .new-vehicle__specification-button .button {
    display: none; }

.new-vehicle--full .new-vehicle__technical-data > ul {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__technical-data > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .new-vehicle--full .new-vehicle__technical-data > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .new-vehicle--full .new-vehicle__technical-data > ul::before, .new-vehicle--full .new-vehicle__technical-data > ul::after {
    display: table;
    content: ' '; }
  .new-vehicle--full .new-vehicle__technical-data > ul::after {
    clear: both; }
  .new-vehicle--full .new-vehicle__technical-data > ul > li {
    float: left;
    width: 100%; }
    .new-vehicle--full .new-vehicle__technical-data > ul > li:nth-of-type(1n) {
      clear: none; }
    .new-vehicle--full .new-vehicle__technical-data > ul > li:nth-of-type(1n+1) {
      clear: both; }
    .new-vehicle--full .new-vehicle__technical-data > ul > li:last-child {
      float: left; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--full .new-vehicle__technical-data > ul > li {
      float: left;
      width: 33.33333%; }
      .new-vehicle--full .new-vehicle__technical-data > ul > li:nth-of-type(1n) {
        clear: none; }
      .new-vehicle--full .new-vehicle__technical-data > ul > li:nth-of-type(3n+1) {
        clear: both; }
      .new-vehicle--full .new-vehicle__technical-data > ul > li:last-child {
        float: left; } }
  .new-vehicle--full .new-vehicle__technical-data > ul > li {
    padding: 0.625rem 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--full .new-vehicle__technical-data > ul > li {
        padding: 0.625rem 0.9375rem; } }
    .new-vehicle--full .new-vehicle__technical-data > ul > li .technical-data__label {
      display: inline-block; }
      .new-vehicle--full .new-vehicle__technical-data > ul > li .technical-data__label::after {
        content: ':'; }
    .new-vehicle--full .new-vehicle__technical-data > ul > li .technical-data__value {
      display: inline-block;
      float: right;
      font-weight: 600; }
    .new-vehicle--full .new-vehicle__technical-data > ul > li ul {
      margin-left: 0;
      list-style: none; }

.new-vehicle--full .new-vehicle__documents ul,
.new-vehicle--full .new-vehicle__audio ul {
  margin-left: 0;
  list-style: none; }
  .new-vehicle--full .new-vehicle__documents ul li,
  .new-vehicle--full .new-vehicle__audio ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.new-vehicle--full .new-vehicle__similar {
  background-color: #0d0d0d; }

.new-vehicle--teaser {
  position: relative;
  background-color: #000000; }
  @media print, screen and (min-width: 40em) {
    .new-vehicle--teaser {
      padding: 0.9375rem; } }
  .new-vehicle--teaser .new-vehicle__primary-images {
    position: relative; }
  .new-vehicle--teaser .new-vehicle__details {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--teaser .new-vehicle__details {
        padding-bottom: 0; } }
  .new-vehicle--teaser .new-vehicle__header {
    padding-left: 0.625rem;
    padding-right: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--teaser .new-vehicle__header {
        padding-left: 0;
        padding-right: 0; } }
  .new-vehicle--teaser .new-vehicle__title {
    margin-bottom: 0.375rem;
    font-size: 1.5rem;
    line-height: 1; }
    .new-vehicle--teaser .new-vehicle__title .new-vehicle__make,
    .new-vehicle--teaser .new-vehicle__title .new-vehicle__model {
      font-size: 1.5rem;
      line-height: 1; }
    .new-vehicle--teaser .new-vehicle__title .new-vehicle__model-variant {
      display: block;
      font-size: 1.125rem;
      font-weight: 400;
      line-height: 1; }
  .new-vehicle--teaser .new-vehicle__footer {
    display: none;
    margin-top: 0.625rem;
    overflow: hidden; }
    @media print, screen and (min-width: 40em) {
      .new-vehicle--teaser .new-vehicle__footer {
        display: block; } }
  @media screen and (max-width: 39.9375em) {
    .new-vehicle--teaser .dropdown-pane {
      display: none; } }

.new-vehicle__media-count {
  position: absolute;
  bottom: 0;
  left: 0; }
  .new-vehicle__media-count > ul {
    margin-left: 0;
    margin-bottom: 0;
    padding-left: 0.375rem;
    padding-right: 0.375rem;
    font-size: 1rem;
    line-height: 1;
    background-color: #000000; }
    .new-vehicle__media-count > ul li {
      display: inline-block;
      padding: 0.375rem 0.125rem; }
      .new-vehicle__media-count > ul li i {
        font-size: 1.25rem;
        line-height: 1; }

.new-vehicle__promo-text {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem; }
  .new-vehicle__promo-text span {
    padding: 0.25rem 0.5rem;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 1;
    background-color: #905dad;
    border-radius: 0.1875rem; }

.offer--featured {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .offer--featured {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .offer--featured {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .offer--featured::before, .offer--featured::after {
    display: table;
    content: ' '; }
  .offer--featured::after {
    clear: both; }
  .offer--featured .offer__primary-images {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .offer--featured .offer__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .offer--featured .offer__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .offer--featured .offer__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .offer--featured .offer__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .offer--featured .offer__primary-images:last-child:not(:first-child) {
          float: right; } }
  .offer--featured .offer__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .offer--featured .offer__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .offer--featured .offer__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .offer--featured .offer__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .offer--featured .offer__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .offer--featured .offer__content:last-child:not(:first-child) {
          float: right; } }
  .offer--featured .offer__content--without-image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .offer--featured .offer__content--without-image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .offer--featured .offer__content--without-image:last-child:not(:first-child) {
      float: right; }
  .offer--featured .offer__title {
    margin-bottom: 0.625rem; }
  .offer--featured .offer__sub-title {
    margin-bottom: 0.625rem; }
  .offer--featured .offer__description {
    margin-bottom: 0.9375rem;
    line-height: 1.6; }
  .offer--featured .offer__link .button {
    margin-bottom: 0; }

.offer--full .offer__primary-images {
  margin-bottom: 1.25rem; }
  .offer--full .offer__primary-images ul {
    margin: 0;
    list-style: none; }

.offer--full .offer__secondary-images {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .offer--full .offer__secondary-images {
      float: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  .offer--full .offer__secondary-images ul {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .offer--full .offer__videos {
    float: right;
    clear: right;
    width: 20rem;
    margin-left: 1.25rem; } }

.offer--full .offer__videos ul {
  list-style: none;
  margin-left: 0;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .offer--full .offer__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .offer--full .offer__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .offer--full .offer__videos ul::before, .offer--full .offer__videos ul::after {
    display: table;
    content: ' '; }
  .offer--full .offer__videos ul::after {
    clear: both; }
  .offer--full .offer__videos ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .offer--full .offer__videos ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .offer--full .offer__videos ul > li:nth-of-type(1n) {
      clear: none; }
    .offer--full .offer__videos ul > li:nth-of-type(1n+1) {
      clear: both; }
    .offer--full .offer__videos ul > li:last-child {
      float: left; }
  .offer--full .offer__videos ul li {
    margin-bottom: 1.25rem; }

.offer--full .offer__description,
.offer--full .offer__table {
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .offer--full .offer__description,
    .offer--full .offer__table {
      padding-bottom: 1.25rem; } }
  .offer--full .offer__description p:last-child,
  .offer--full .offer__table p:last-child {
    margin-bottom: 0; }
  .offer--full .offer__description p a:not(.button),
  .offer--full .offer__table p a:not(.button) {
    text-decoration: underline; }
    .offer--full .offer__description p a:not(.button):hover,
    .offer--full .offer__table p a:not(.button):hover {
      text-decoration: none; }

.offer--full .offer__files ul {
  margin-left: 0;
  list-style: none; }
  .offer--full .offer__files ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.offer--full .offer__form {
  clear: right; }
  @media screen and (max-width: 39.9375em) {
    .offer--full .offer__form {
      padding-bottom: 1.25rem; } }

.offer--teaser {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .offer--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .offer--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .offer--teaser::before, .offer--teaser::after {
    display: table;
    content: ' '; }
  .offer--teaser::after {
    clear: both; }
  .offer--teaser .offer__primary-images {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .offer--teaser .offer__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .offer--teaser .offer__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .offer--teaser .offer__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-bottom: 0; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .offer--teaser .offer__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .offer--teaser .offer__primary-images:last-child:not(:first-child) {
          float: right; } }
  .offer--teaser .offer__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .offer--teaser .offer__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .offer--teaser .offer__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .offer--teaser .offer__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .offer--teaser .offer__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .offer--teaser .offer__content:last-child:not(:first-child) {
          float: right; } }
  .offer--teaser .offer__content--without-image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .offer--teaser .offer__content--without-image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .offer--teaser .offer__content--without-image:last-child:not(:first-child) {
      float: right; }
  .offer--teaser .offer__description {
    margin-bottom: 0.9375rem;
    line-height: 1.6; }
  .offer--teaser .offer__link .button {
    margin-bottom: 0; }

.add-on {
  padding: 0.625rem;
  background-color: #1a1a1a; }
  @media print, screen and (min-width: 40em) {
    .add-on {
      padding: 0.9375rem; } }
  .add-on span.has-error {
    color: #cc4b37; }
  .add-on__inner {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .add-on__inner {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .add-on__inner {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .add-on__inner::before, .add-on__inner::after {
      display: table;
      content: ' '; }
    .add-on__inner::after {
      clear: both; }
  .add-on__image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .add-on__image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .add-on__image:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .add-on__image {
        width: 25%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .add-on__image {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .add-on__image:last-child:not(:first-child) {
          float: right; } }
    .add-on__image img {
      width: 100%; }
  .add-on__details {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .add-on__details {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .add-on__details:last-child:not(:first-child) {
      float: right; }
  .add-on__link {
    margin-top: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .add-on__link {
        text-align: right; } }
    .add-on__link .button {
      margin-bottom: 0; }
  .add-on__description {
    margin-top: 0.625rem; }
  .add-on__video {
    margin-top: 0.625rem; }
    .add-on__video a:hover,
    .add-on__video a:focus {
      text-decoration: none; }
    .add-on__video span {
      vertical-align: middle; }
  .add-on__video-approval {
    margin-top: 0.625rem; }
  .add-on--selected {
    background-color: #333333; }
  @media print, screen and (min-width: 64em) {
    .add-on--image .add-on__details {
      width: 75%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .add-on--image .add-on__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .add-on--image .add-on__details:last-child:not(:first-child) {
        float: right; } }

.listing--add-on .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  margin: 0;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .listing--add-on .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--add-on .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--add-on .listing__list::before, .listing--add-on .listing__list::after {
    display: table;
    content: ' '; }
  .listing--add-on .listing__list::after {
    clear: both; }
  .listing--add-on .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--add-on .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--add-on .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--add-on .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--add-on .listing__list > li:last-child {
      float: left; }
  .listing--add-on .listing__list-item {
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--add-on .listing__list-item {
        margin-bottom: 0.9375rem; } }
    .listing--add-on .listing__list-item:last-child {
      margin-bottom: 0; }

.calendar {
  margin-top: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .calendar {
      margin-top: 0.9375rem; } }
  .calendar__header {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .calendar__header {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .calendar__header {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .calendar__header::before, .calendar__header::after {
      display: table;
      content: ' '; }
    .calendar__header::after {
      clear: both; }
    .calendar__header .calendar__switch {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      -webkit-align-self: flex-end;
          -ms-flex-item-align: end;
              align-self: flex-end; }
      @media print, screen and (min-width: 40em) {
        .calendar__header .calendar__switch {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .calendar__header .calendar__switch:last-child:not(:first-child) {
        float: right; }
      .calendar__header .calendar__switch a {
        font-size: 0.875rem; }
        @media print, screen and (min-width: 40em) {
          .calendar__header .calendar__switch a {
            font-size: 1rem; } }
        @media print, screen and (min-width: 64em) {
          .calendar__header .calendar__switch a {
            font-size: 1.125rem; } }
        .calendar__header .calendar__switch a i {
          margin-right: 0.375rem; }
      .calendar__header .calendar__switch--next {
        text-align: right; }
        .calendar__header .calendar__switch--next a i {
          margin-left: 0.375rem; }
    .calendar__header .calendar__month {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      -webkit-align-self: flex-end;
          -ms-flex-item-align: end;
              align-self: flex-end;
      text-align: center; }
      @media print, screen and (min-width: 40em) {
        .calendar__header .calendar__month {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .calendar__header .calendar__month:last-child:not(:first-child) {
        float: right; }
  .calendar__table {
    overflow-y: auto; }
    .calendar__table table {
      margin-bottom: 0; }
      .calendar__table table th {
        font-size: 1rem; }
      .calendar__table table td.slot {
        color: #ffffff;
        font-size: 1rem;
        text-align: center;
        background-color: #905dad; }
      .calendar__table table td:hover {
        background-color: #75488f;
        cursor: pointer; }
      .calendar__table table td.disabled {
        cursor: auto;
        background-color: #1a1a1a; }
        .calendar__table table td.disabled:hover {
          cursor: auto; }
      .calendar__table table td.closed {
        cursor: auto;
        background-color: #1a1a1a; }
        .calendar__table table td.closed:hover {
          cursor: auto; }
      .calendar__table table td.selected {
        background-color: #3adb76; }

.reveal.reveal--collection-map {
  padding-top: 3.125rem; }

#collection-map {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 100%; }

.collection-delivery {
  padding: 0.625rem;
  background-color: #1a1a1a; }
  @media print, screen and (min-width: 40em) {
    .collection-delivery {
      padding: 0.9375rem; } }
  .collection-delivery--selected {
    background-color: #333333; }
  .collection-delivery__inner {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .collection-delivery__inner {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .collection-delivery__inner {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .collection-delivery__inner::before, .collection-delivery__inner::after {
      display: table;
      content: ' '; }
    .collection-delivery__inner::after {
      clear: both; }
  .collection-delivery__image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .collection-delivery__image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .collection-delivery__image:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .collection-delivery__image {
        width: 25%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .collection-delivery__image {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .collection-delivery__image:last-child:not(:first-child) {
          float: right; } }
    .collection-delivery__image img {
      width: 100%; }
  .collection-delivery__details {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .collection-delivery__details {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .collection-delivery__details:last-child:not(:first-child) {
      float: right; }
  .collection-delivery__description {
    margin-top: 0.625rem; }
  .collection-delivery__address {
    margin-top: 0.625rem; }
  .collection-delivery__map {
    margin-top: 0.625rem; }
    .collection-delivery__map span {
      vertical-align: middle; }
  .collection-delivery__link {
    margin-top: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .collection-delivery__link {
        text-align: right; } }
    .collection-delivery__link .button {
      margin-bottom: 0; }
  @media print, screen and (min-width: 64em) {
    .collection-delivery--image .collection-delivery__details {
      width: 75%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .collection-delivery--image .collection-delivery__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .collection-delivery--image .collection-delivery__details:last-child:not(:first-child) {
        float: right; } }

.listing--collection-delivery .listing__list {
  margin: 0;
  list-style: none;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--collection-delivery .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--collection-delivery .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--collection-delivery .listing__list::before, .listing--collection-delivery .listing__list::after {
    display: table;
    content: ' '; }
  .listing--collection-delivery .listing__list::after {
    clear: both; }
  .listing--collection-delivery .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--collection-delivery .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--collection-delivery .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--collection-delivery .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--collection-delivery .listing__list > li:last-child {
      float: left; }
  .listing--collection-delivery .listing__list-item {
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--collection-delivery .listing__list-item {
        margin-bottom: 0.9375rem; } }
    .listing--collection-delivery .listing__list-item:last-child {
      margin-bottom: 0; }

.order-introduction__content {
  margin-bottom: 0.9375rem; }
  .order-introduction__content p:last-child {
    margin-bottom: 0; }
  .order-introduction__content p a:not(.button) {
    text-decoration: underline; }
    .order-introduction__content p a:not(.button):hover {
      text-decoration: none; }

.order-introduction__link .button {
  margin-bottom: 0; }

.order-payment {
  padding: 0.625rem;
  background-color: #1a1a1a; }
  @media print, screen and (min-width: 40em) {
    .order-payment {
      padding: 0.9375rem; } }
  .order-payment__description {
    margin-bottom: 0.9375rem;
    line-height: 1.8; }
  .order-payment__link .button {
    width: 100%;
    margin-bottom: 0; }

.order-progress__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  margin-bottom: 0;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .order-progress__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .order-progress__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .order-progress__list::before, .order-progress__list::after {
    display: table;
    content: ' '; }
  .order-progress__list::after {
    clear: both; }
  .order-progress__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .order-progress__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order-progress__list > li:nth-of-type(1n) {
      clear: none; }
    .order-progress__list > li:nth-of-type(1n+1) {
      clear: both; }
    .order-progress__list > li:last-child {
      float: left; }
  .order-progress__list li.active .order-progress__bar {
    background-color: #905dad; }
  .order-progress__list--2 > li {
    float: left;
    width: 50%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .order-progress__list--2 > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order-progress__list--2 > li:nth-of-type(1n) {
      clear: none; }
    .order-progress__list--2 > li:nth-of-type(2n+1) {
      clear: both; }
    .order-progress__list--2 > li:last-child {
      float: left; }
  .order-progress__list--3 > li {
    float: left;
    width: 33.33333%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .order-progress__list--3 > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order-progress__list--3 > li:nth-of-type(1n) {
      clear: none; }
    .order-progress__list--3 > li:nth-of-type(3n+1) {
      clear: both; }
    .order-progress__list--3 > li:last-child {
      float: left; }
  .order-progress__list--4 > li {
    float: left;
    width: 25%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .order-progress__list--4 > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order-progress__list--4 > li:nth-of-type(1n) {
      clear: none; }
    .order-progress__list--4 > li:nth-of-type(4n+1) {
      clear: both; }
    .order-progress__list--4 > li:last-child {
      float: left; }
  .order-progress__list--5 > li {
    float: left;
    width: 20%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .order-progress__list--5 > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order-progress__list--5 > li:nth-of-type(1n) {
      clear: none; }
    .order-progress__list--5 > li:nth-of-type(5n+1) {
      clear: both; }
    .order-progress__list--5 > li:last-child {
      float: left; }
  .order-progress__list--6 > li {
    float: left;
    width: 16.66667%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .order-progress__list--6 > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order-progress__list--6 > li:nth-of-type(1n) {
      clear: none; }
    .order-progress__list--6 > li:nth-of-type(6n+1) {
      clear: both; }
    .order-progress__list--6 > li:last-child {
      float: left; }

.order-progress__title {
  margin-bottom: 0; }

.order-progress__sub-title {
  display: none;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 64em) {
    .order-progress__sub-title {
      display: block; } }
  @media screen and (min-width: 75em) {
    .order-progress__sub-title {
      font-size: 1rem; } }
  @media screen and (min-width: 90em) {
    .order-progress__sub-title {
      font-size: 1.125rem; } }

.order-progress__bar {
  width: 100%;
  height: 0.625rem;
  background-color: #1a1a1a; }
  @media print, screen and (min-width: 64em) {
    .order-progress__bar {
      height: 0.9375rem; } }

.order-state-summary {
  padding: 0.625rem;
  background-color: #1a1a1a; }
  @media print, screen and (min-width: 40em) {
    .order-state-summary {
      padding: 0.9375rem; } }
  .order-state-summary__vehicle-image {
    display: none;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 64em) {
      .order-state-summary__vehicle-image {
        display: block; } }
    .order-state-summary__vehicle-image img {
      width: 100%; }
  .order-state-summary__vehicle-title {
    margin-bottom: 0.3125rem; }
  .order-state-summary__vehicle-price {
    font-size: 1.25rem; }
  .order-state-summary__vehicle-admin-fee {
    font-size: 75%; }
  .order-state-summary .order-state-summary-table {
    margin-top: 0.625rem;
    margin-bottom: 0;
    border-collapse: collapse; }
    @media print, screen and (min-width: 40em) {
      .order-state-summary .order-state-summary-table {
        margin-top: 0.9375rem; } }
    .order-state-summary .order-state-summary-table tbody {
      border-bottom: 1px solid #1a1a1a; }
    .order-state-summary .order-state-summary-table tr {
      border-bottom: 1px solid #1a1a1a;
      background-color: #ffffff; }
      .order-state-summary .order-state-summary-table tr:last-child {
        border-bottom: none; }
      .order-state-summary .order-state-summary-table tr.order-state-summary-table__total {
        font-weight: 600; }
      .order-state-summary .order-state-summary-table tr td {
        border: none; }
        .order-state-summary .order-state-summary-table tr td.order-state-summary-table__value {
          text-align: center;
          border-left: 1px solid #1a1a1a; }

.order-summary ul {
  margin: 0;
  list-style: none; }
  .order-summary ul li {
    display: inline-block;
    margin-right: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .order-summary ul li {
        margin-right: 0.9375rem; } }
    .order-summary ul li:last-child {
      margin-right: 0; }

.order-summary .button {
  margin-bottom: 0; }

.order {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .order {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .order {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .order::before, .order::after {
    display: table;
    content: ' '; }
  .order::after {
    clear: both; }
  .order__progress {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .order__progress {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order__progress:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .order__progress {
        margin-bottom: 1.875rem; } }
  .order__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .order__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .order__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .order__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .order__content:last-child:not(:first-child) {
          float: right; } }
  .order__summary {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-top: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .order__summary {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .order__summary:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .order__summary {
        margin-top: 1.875rem; } }
    @media print, screen and (min-width: 64em) {
      .order__summary {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-top: 0; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .order__summary {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .order__summary:last-child:not(:first-child) {
          float: right; } }
  .order__description {
    margin-bottom: 0.9375rem;
    line-height: 1.8; }
  .order__footer {
    margin-top: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .order__footer {
        margin-top: 1.875rem; } }
    .order__footer .button {
      margin-bottom: 0; }

.part-exchange__footer {
  margin-top: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .part-exchange__footer {
      margin-top: 1.25rem; } }
  .part-exchange__footer .button {
    display: inline-block;
    margin-right: 0.625rem;
    margin-top: 0.625rem; }

.page--contact .page__map {
  padding-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .page--contact .page__map {
      padding-bottom: 1.875rem; } }
  .page--contact .page__map #map {
    width: 100%;
    height: 18.75rem; }
    @media print, screen and (min-width: 40em) {
      .page--contact .page__map #map {
        height: 29rem; } }

.page--contact .page__primary-images {
  padding-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .page--contact .page__primary-images {
      padding-bottom: 1.875rem; } }
  .page--contact .page__primary-images ul {
    margin: 0;
    list-style: none; }

.page--contact .page__secondary-images {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .page--contact .page__secondary-images {
      float: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  .page--contact .page__secondary-images ul {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .page--contact .page__videos {
    float: right;
    clear: right;
    width: 20rem;
    margin-left: 1.25rem; } }

.page--contact .page__videos ul {
  list-style: none;
  margin-left: 0;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .page--contact .page__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .page--contact .page__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .page--contact .page__videos ul::before, .page--contact .page__videos ul::after {
    display: table;
    content: ' '; }
  .page--contact .page__videos ul::after {
    clear: both; }
  .page--contact .page__videos ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .page--contact .page__videos ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .page--contact .page__videos ul > li:nth-of-type(1n) {
      clear: none; }
    .page--contact .page__videos ul > li:nth-of-type(1n+1) {
      clear: both; }
    .page--contact .page__videos ul > li:last-child {
      float: left; }
  .page--contact .page__videos ul li {
    margin-bottom: 1.25rem; }

.page--contact .page__description {
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .page--contact .page__description {
      padding-bottom: 1.25rem; } }
  .page--contact .page__description p a:not(.button) {
    text-decoration: underline; }
    .page--contact .page__description p a:not(.button):hover {
      text-decoration: none; }

.page--contact .page__files ul {
  margin-left: 0;
  list-style: none; }
  .page--contact .page__files ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.page--contact .page__directions {
  padding-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .page--contact .page__directions {
      padding-bottom: 1.875rem; } }

.page--contact .page__form {
  clear: right; }
  @media screen and (max-width: 39.9375em) {
    .page--contact .page__form {
      padding-bottom: 1.25rem; } }

.page--default > .page__primary-images {
  padding-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .page--default > .page__primary-images {
      padding-bottom: 1.875rem; } }
  .page--default > .page__primary-images ul {
    margin: 0;
    list-style: none; }

.page--default > .page__secondary-images {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .page--default > .page__secondary-images {
      float: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  .page--default > .page__secondary-images ul {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .page--default > .page__videos {
    float: right;
    clear: right;
    width: 20rem;
    margin-left: 1.25rem; } }

.page--default > .page__videos ul {
  list-style: none;
  margin-left: 0;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .page--default > .page__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .page--default > .page__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .page--default > .page__videos ul::before, .page--default > .page__videos ul::after {
    display: table;
    content: ' '; }
  .page--default > .page__videos ul::after {
    clear: both; }
  .page--default > .page__videos ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .page--default > .page__videos ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .page--default > .page__videos ul > li:nth-of-type(1n) {
      clear: none; }
    .page--default > .page__videos ul > li:nth-of-type(1n+1) {
      clear: both; }
    .page--default > .page__videos ul > li:last-child {
      float: left; }
  .page--default > .page__videos ul li {
    margin-bottom: 1.25rem; }

.page--default > .page__description {
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .page--default > .page__description {
      padding-bottom: 1.25rem; } }
  .page--default > .page__description p:last-child {
    margin-bottom: 0; }
  .page--default > .page__description p a:not(.button) {
    text-decoration: underline; }
    .page--default > .page__description p a:not(.button):hover {
      text-decoration: none; }

.page--default > .page__files ul {
  margin-left: 0;
  list-style: none; }
  .page--default > .page__files ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.page--default .page__children {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  padding-bottom: 1.25rem; }
  .page--default .page__children::before, .page--default .page__children::after {
    display: table;
    content: ' '; }
  .page--default .page__children::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .page--default .page__children {
      padding-bottom: 1.875rem; } }

.page--default .page__form {
  clear: right; }
  @media screen and (max-width: 39.9375em) {
    .page--default .page__form {
      padding-bottom: 1.25rem; } }

.page--full-width > .page__primary-images {
  padding-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .page--full-width > .page__primary-images {
      padding-bottom: 1.875rem; } }
  .page--full-width > .page__primary-images ul {
    margin: 0;
    list-style: none; }

.page--full-width > .page__secondary-images {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .page--full-width > .page__secondary-images {
      float: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .page--full-width > .page__secondary-images {
      width: 25rem; } }
  .page--full-width > .page__secondary-images ul {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .page--full-width > .page__videos {
    float: right;
    clear: right;
    width: 20rem;
    margin-left: 1.25rem; } }

@media print, screen and (min-width: 64em) {
  .page--full-width > .page__videos {
    width: 25rem; } }

.page--full-width > .page__videos ul {
  list-style: none;
  margin-left: 0;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .page--full-width > .page__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .page--full-width > .page__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .page--full-width > .page__videos ul::before, .page--full-width > .page__videos ul::after {
    display: table;
    content: ' '; }
  .page--full-width > .page__videos ul::after {
    clear: both; }
  .page--full-width > .page__videos ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .page--full-width > .page__videos ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .page--full-width > .page__videos ul > li:nth-of-type(1n) {
      clear: none; }
    .page--full-width > .page__videos ul > li:nth-of-type(1n+1) {
      clear: both; }
    .page--full-width > .page__videos ul > li:last-child {
      float: left; }
  .page--full-width > .page__videos ul li {
    margin-bottom: 1.25rem; }

.page--full-width > .page__description {
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .page--full-width > .page__description {
      padding-bottom: 1.25rem; } }
  .page--full-width > .page__description p:last-child {
    margin-bottom: 0; }
  .page--full-width > .page__description p a:not(.button) {
    text-decoration: underline; }
    .page--full-width > .page__description p a:not(.button):hover {
      text-decoration: none; }

.page--full-width > .page__files ul {
  margin-left: 0;
  list-style: none; }
  .page--full-width > .page__files ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.page--full-width .page__children {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  padding-bottom: 1.25rem; }
  .page--full-width .page__children::before, .page--full-width .page__children::after {
    display: table;
    content: ' '; }
  .page--full-width .page__children::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .page--full-width .page__children {
      padding-bottom: 1.875rem; } }

.page--full-width .page__form {
  clear: right; }
  @media screen and (max-width: 39.9375em) {
    .page--full-width .page__form {
      padding-bottom: 1.25rem; } }

.page--teaser {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .page--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .page--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .page--teaser::before, .page--teaser::after {
    display: table;
    content: ' '; }
  .page--teaser::after {
    clear: both; }
  .page--teaser .page__primary-images {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .page--teaser .page__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .page--teaser .page__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .page--teaser .page__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-bottom: 0; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .page--teaser .page__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .page--teaser .page__primary-images:last-child:not(:first-child) {
          float: right; } }
  .page--teaser .page__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .page--teaser .page__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .page--teaser .page__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .page--teaser .page__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .page--teaser .page__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .page--teaser .page__content:last-child:not(:first-child) {
          float: right; } }
  .page--teaser .page__content--without-media {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .page--teaser .page__content--without-media {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .page--teaser .page__content--without-media:last-child:not(:first-child) {
      float: right; }
  .page--teaser .page__title {
    margin-bottom: 0.625rem; }
  .page--teaser .page__sub-title {
    margin-bottom: 0.625rem; }
  .page--teaser .page__description {
    margin-bottom: 0.9375rem;
    line-height: 1.8; }
  .page--teaser .page__link .button {
    margin-bottom: 0; }

.part--featured {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .part--featured {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .part--featured {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .part--featured::before, .part--featured::after {
    display: table;
    content: ' '; }
  .part--featured::after {
    clear: both; }
  .part--featured .part__primary-images {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .part--featured .part__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .part--featured .part__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .part--featured .part__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .part--featured .part__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .part--featured .part__primary-images:last-child:not(:first-child) {
          float: right; } }
  .part--featured .part__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .part--featured .part__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .part--featured .part__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .part--featured .part__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .part--featured .part__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .part--featured .part__content:last-child:not(:first-child) {
          float: right; } }
  .part--featured .part__content--without-image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .part--featured .part__content--without-image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .part--featured .part__content--without-image:last-child:not(:first-child) {
      float: right; }
  .part--featured .part__title {
    margin-bottom: 0.625rem; }
  .part--featured .part__sub-title {
    margin-bottom: 0.625rem; }
  .part--featured .part__description {
    margin-bottom: 0.9375rem;
    line-height: 1.6; }
  .part--featured .part__link .button {
    margin-bottom: 0; }

.part--full .part__primary-images {
  margin-bottom: 1.25rem; }
  .part--full .part__primary-images ul {
    margin: 0;
    list-style: none; }

.part--full .part__secondary-images {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .part--full .part__secondary-images {
      float: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  .part--full .part__secondary-images ul {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .part--full .part__videos {
    float: right;
    clear: right;
    width: 20rem;
    margin-left: 1.25rem; } }

.part--full .part__videos ul {
  list-style: none;
  margin-left: 0;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .part--full .part__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .part--full .part__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .part--full .part__videos ul::before, .part--full .part__videos ul::after {
    display: table;
    content: ' '; }
  .part--full .part__videos ul::after {
    clear: both; }
  .part--full .part__videos ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .part--full .part__videos ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .part--full .part__videos ul > li:nth-of-type(1n) {
      clear: none; }
    .part--full .part__videos ul > li:nth-of-type(1n+1) {
      clear: both; }
    .part--full .part__videos ul > li:last-child {
      float: left; }
  .part--full .part__videos ul li {
    margin-bottom: 1.25rem; }

.part--full .part__description {
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .part--full .part__description {
      padding-bottom: 1.25rem; } }
  .part--full .part__description p:last-child {
    margin-bottom: 0; }
  .part--full .part__description p a:not(.button) {
    text-decoration: underline; }
    .part--full .part__description p a:not(.button):hover {
      text-decoration: none; }

.part--full .part__files ul {
  margin-left: 0;
  list-style: none; }
  .part--full .part__files ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.part--full .part__form {
  clear: right; }
  @media screen and (max-width: 39.9375em) {
    .part--full .part__form {
      padding-bottom: 1.25rem; } }

.part--teaser {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .part--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .part--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .part--teaser::before, .part--teaser::after {
    display: table;
    content: ' '; }
  .part--teaser::after {
    clear: both; }
  .part--teaser .part__primary-images {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .part--teaser .part__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .part--teaser .part__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .part--teaser .part__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-bottom: 0; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .part--teaser .part__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .part--teaser .part__primary-images:last-child:not(:first-child) {
          float: right; } }
  .part--teaser .part__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .part--teaser .part__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .part--teaser .part__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .part--teaser .part__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .part--teaser .part__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .part--teaser .part__content:last-child:not(:first-child) {
          float: right; } }
  .part--teaser .part__content--without-image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .part--teaser .part__content--without-image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .part--teaser .part__content--without-image:last-child:not(:first-child) {
      float: right; }
  .part--teaser .part__description {
    margin-bottom: 0.9375rem;
    line-height: 1.6; }
  .part--teaser .part__link .button {
    margin-bottom: 0; }

.meta > ul {
  margin: 0 0 0.9375rem 0;
  list-style: none; }
  .meta > ul > li {
    display: inline-block;
    margin-right: 0.375rem; }

.meta__published span {
  font-weight: 600; }

.meta__categories-title, .meta__tags-title {
  display: inline-block;
  margin-right: 0.1875rem; }

.meta__categories ul, .meta__tags ul {
  display: inline-block;
  margin: 0;
  list-style: none; }
  .meta__categories ul li, .meta__tags ul li {
    display: inline-block;
    font-weight: 600; }
    .meta__categories ul li::after, .meta__tags ul li::after {
      content: ',';
      margin-right: 0.1875rem;
      font-weight: 400; }
    .meta__categories ul li:last-child::after, .meta__tags ul li:last-child::after {
      content: '';
      margin-right: 0; }

.post--default .post__description {
  margin-bottom: 1.25rem; }

.post--default .post__primary-images {
  margin-bottom: 1.25rem; }
  .post--default .post__primary-images ul {
    margin: 0;
    list-style: none; }

.post--default .post__secondary-images {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .post--default .post__secondary-images {
      float: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  .post--default .post__secondary-images ul {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .post--default .post__videos {
    float: right;
    clear: right;
    width: 20rem;
    margin-left: 1.25rem; } }

.post--default .post__videos ul {
  list-style: none;
  margin-left: 0;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .post--default .post__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .post--default .post__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .post--default .post__videos ul::before, .post--default .post__videos ul::after {
    display: table;
    content: ' '; }
  .post--default .post__videos ul::after {
    clear: both; }
  .post--default .post__videos ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .post--default .post__videos ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .post--default .post__videos ul > li:nth-of-type(1n) {
      clear: none; }
    .post--default .post__videos ul > li:nth-of-type(1n+1) {
      clear: both; }
    .post--default .post__videos ul > li:last-child {
      float: left; }
  .post--default .post__videos ul li {
    margin-bottom: 1.25rem; }

.post--default .post__files ul {
  margin-left: 0;
  list-style: none; }
  .post--default .post__files ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.post--featured {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .post--featured {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .post--featured {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .post--featured::before, .post--featured::after {
    display: table;
    content: ' '; }
  .post--featured::after {
    clear: both; }
  .post--featured .post__primary-images {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .post--featured .post__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .post--featured .post__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .post--featured .post__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .post--featured .post__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .post--featured .post__primary-images:last-child:not(:first-child) {
          float: right; } }
  .post--featured .post__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .post--featured .post__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .post--featured .post__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .post--featured .post__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .post--featured .post__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .post--featured .post__content:last-child:not(:first-child) {
          float: right; } }
  .post--featured .post__content--without-image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .post--featured .post__content--without-image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .post--featured .post__content--without-image:last-child:not(:first-child) {
      float: right; }
  .post--featured .post__title {
    margin-bottom: 0.625rem; }
  .post--featured .post__sub-title {
    margin-bottom: 0.625rem; }
  .post--featured .post__description {
    margin-bottom: 0.9375rem;
    line-height: 1.6; }
  .post--featured .post__link .button {
    margin-bottom: 0; }

.post--full-width .post__description {
  margin-bottom: 1.25rem; }

.post--full-width .post__primary-images {
  margin-bottom: 1.25rem; }
  .post--full-width .post__primary-images ul {
    margin: 0;
    list-style: none; }

.post--full-width .post__secondary-images {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .post--full-width .post__secondary-images {
      float: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .post--full-width .post__secondary-images {
      width: 25rem; } }
  .post--full-width .post__secondary-images ul {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .post--full-width .post__videos {
    float: right;
    clear: right;
    width: 20rem;
    margin-left: 1.25rem; } }

@media print, screen and (min-width: 64em) {
  .post--full-width .post__videos {
    width: 25rem; } }

.post--full-width .post__videos ul {
  list-style: none;
  margin-left: 0;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .post--full-width .post__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .post--full-width .post__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .post--full-width .post__videos ul::before, .post--full-width .post__videos ul::after {
    display: table;
    content: ' '; }
  .post--full-width .post__videos ul::after {
    clear: both; }
  .post--full-width .post__videos ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .post--full-width .post__videos ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .post--full-width .post__videos ul > li:nth-of-type(1n) {
      clear: none; }
    .post--full-width .post__videos ul > li:nth-of-type(1n+1) {
      clear: both; }
    .post--full-width .post__videos ul > li:last-child {
      float: left; }
  .post--full-width .post__videos ul li {
    margin-bottom: 1.25rem; }

.post--full-width .post__files ul {
  margin-left: 0;
  list-style: none; }
  .post--full-width .post__files ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.post--teaser {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .post--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .post--teaser {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .post--teaser::before, .post--teaser::after {
    display: table;
    content: ' '; }
  .post--teaser::after {
    clear: both; }
  .post--teaser .post__primary-images {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .post--teaser .post__primary-images {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .post--teaser .post__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .post--teaser .post__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-bottom: 0; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .post--teaser .post__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .post--teaser .post__primary-images:last-child:not(:first-child) {
          float: right; } }
  .post--teaser .post__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .post--teaser .post__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .post--teaser .post__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .post--teaser .post__content {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .post--teaser .post__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .post--teaser .post__content:last-child:not(:first-child) {
          float: right; } }
  .post--teaser .post__content--without-image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .post--teaser .post__content--without-image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .post--teaser .post__content--without-image:last-child:not(:first-child) {
      float: right; }
  .post--teaser .post__description {
    margin-bottom: 0.9375rem;
    line-height: 1.6; }
  .post--teaser .post__link .button {
    margin-bottom: 0; }

.quick-search {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  margin-bottom: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .quick-search {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .quick-search {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .quick-search::before, .quick-search::after {
    display: table;
    content: ' '; }
  .quick-search::after {
    clear: both; }
  .quick-search__legend {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .quick-search__legend {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .quick-search__legend:last-child:not(:first-child) {
      float: right; }
  .quick-search .field-search-string {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .quick-search .field-search-string {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .quick-search .field-search-string:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .quick-search .field-search-string {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .quick-search .field-search-string {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .quick-search .field-search-string:last-child:not(:first-child) {
          float: right; } }
  .quick-search .field-submit {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .quick-search .field-submit {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .quick-search .field-submit:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .quick-search .field-submit {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .quick-search .field-submit {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .quick-search .field-submit:last-child:not(:first-child) {
          float: right; } }
    .quick-search .field-submit .button {
      margin-bottom: 0; }
      @media print, screen and (min-width: 64em) {
        .quick-search .field-submit .button {
          width: 100%; } }

.search-selection__count {
  display: inline-block; }

.search-selection__title {
  display: inline-block; }
  .search-selection__title::before {
    display: inline-block;
    content: '-';
    margin-right: 0.1875rem; }
  .search-selection__title a {
    text-decoration: underline; }
    .search-selection__title a:hover {
      text-decoration: none; }

.search-selection__parameters {
  margin-top: 0.3125rem; }
  @media screen and (max-width: 39.9375em) {
    .search-selection__parameters {
      width: auto;
      overflow-y: hidden;
      overflow-x: scroll;
      white-space: nowrap; }
      .search-selection__parameters::-webkit-scrollbar {
        display: none; } }

.search-selection__list {
  margin: 0 0 0.3125rem;
  padding: 0;
  list-style: none; }

.search-selection__list-item {
  display: inline-block;
  margin: 0.3125rem 0.3125rem 0.3125rem 0; }

.search-selection__parameter {
  display: inline;
  padding: 0.3125rem 0.375rem 0.3125rem 0.75rem;
  font-weight: 600;
  line-height: 1;
  background-color: #000000;
  border: 1px solid #e6e6e6;
  border-radius: 0.9375rem; }
  .search-selection__parameter:hover span {
    color: #ffffff;
    background-color: #cc4b37; }
  .search-selection__parameter span {
    margin-left: 0.375rem;
    padding: 0 0.375rem;
    font-weight: 400;
    line-height: 1;
    background-color: #0d0d0d;
    border-radius: 50%; }

.showroom--featured .showroom__primary-images {
  margin-bottom: 0.625rem; }

.showroom--full .showroom__primary-images {
  margin-bottom: 1.25rem; }
  .showroom--full .showroom__primary-images ul {
    margin: 0;
    list-style: none; }

.showroom--full .showroom__secondary-images {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .showroom--full .showroom__secondary-images {
      float: right;
      width: 20rem;
      margin-left: 1.25rem; } }
  .showroom--full .showroom__secondary-images ul {
    margin: 0;
    list-style: none; }

@media print, screen and (min-width: 40em) {
  .showroom--full .showroom__videos {
    float: right;
    clear: right;
    width: 20rem;
    margin-left: 1.25rem; } }

.showroom--full .showroom__videos ul {
  list-style: none;
  margin-left: 0;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .showroom--full .showroom__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .showroom--full .showroom__videos ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .showroom--full .showroom__videos ul::before, .showroom--full .showroom__videos ul::after {
    display: table;
    content: ' '; }
  .showroom--full .showroom__videos ul::after {
    clear: both; }
  .showroom--full .showroom__videos ul > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .showroom--full .showroom__videos ul > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .showroom--full .showroom__videos ul > li:nth-of-type(1n) {
      clear: none; }
    .showroom--full .showroom__videos ul > li:nth-of-type(1n+1) {
      clear: both; }
    .showroom--full .showroom__videos ul > li:last-child {
      float: left; }
  .showroom--full .showroom__videos ul li {
    margin-bottom: 1.25rem; }

.showroom--full .showroom__description {
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .showroom--full .showroom__description {
      padding-bottom: 1.25rem; } }
  .showroom--full .showroom__description p:last-child {
    margin-bottom: 0; }
  .showroom--full .showroom__description p a:not(.button) {
    text-decoration: underline; }
    .showroom--full .showroom__description p a:not(.button):hover {
      text-decoration: none; }

.showroom--teaser .showroom__primary-images {
  margin-bottom: 0.625rem; }

.specification__value {
  color: #ffffff; }

.technical-data--full {
  display: inline-block;
  width: 100%; }
  .technical-data--full .technical-data__label {
    float: left;
    font-size: 1rem;
    line-height: 1; }
  .technical-data--full .technical-data__value {
    float: right;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1; }

.technical-data--promoted .technical-data__icon {
  float: left;
  width: 2.5rem;
  font-size: 1.5rem;
  line-height: 3.125rem;
  text-align: left; }
  @media print, screen and (min-width: 64em) {
    .technical-data--promoted .technical-data__icon {
      float: none;
      width: auto;
      margin-bottom: 0.625rem;
      font-size: 2.125rem;
      line-height: 1;
      text-align: center; } }

.technical-data--promoted .technical-data__label {
  float: left;
  font-size: 1rem;
  line-height: 3.125rem; }
  @media print, screen and (min-width: 64em) {
    .technical-data--promoted .technical-data__label {
      float: none;
      margin-bottom: 0.25rem;
      font-size: 0.875rem;
      line-height: 1;
      text-align: center; } }

.technical-data--promoted .technical-data__value {
  float: right;
  font-size: 1rem;
  font-weight: 600;
  line-height: 3.125rem; }
  @media print, screen and (min-width: 64em) {
    .technical-data--promoted .technical-data__value {
      float: none;
      font-size: 1.125rem;
      line-height: 1;
      text-align: center; } }

.technical-data--summary {
  background-color: #0d0d0d;
  padding: 1rem;
  display: inline-block;
  width: 100%; }
  .technical-data--summary .technical-data__label {
    float: left;
    font-size: 1rem;
    line-height: 1; }
  .technical-data--summary .technical-data__value {
    float: right;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1; }

.technical-data--teaser .technical-data__icon {
  text-align: center; }
  @media screen and (max-width: 39.9375em) {
    .technical-data--teaser .technical-data__icon {
      display: none; } }
  @media print, screen and (min-width: 40em) {
    .technical-data--teaser .technical-data__icon {
      font-size: 1.625rem;
      line-height: 1; } }

.technical-data--teaser .technical-data__label {
  display: inline-block; }
  @media print, screen and (min-width: 40em) {
    .technical-data--teaser .technical-data__label {
      display: block;
      margin-bottom: 0.1875rem;
      font-size: 0.875rem;
      line-height: 1;
      text-align: center; } }

.technical-data--teaser .technical-data__value {
  display: inline-block;
  font-weight: 600; }
  @media print, screen and (min-width: 40em) {
    .technical-data--teaser .technical-data__value {
      display: block;
      font-size: 1rem;
      line-height: 1;
      text-align: center; } }

.technical-data--featured .technical-data__icon {
  display: none; }

.technical-data--featured .technical-data__label {
  display: inline-block; }

.technical-data--featured .technical-data__value {
  display: inline-block;
  font-weight: 600; }

.technical-data--compare .technical-data__label {
  font-size: 0.75rem;
  line-height: 1; }
  @media print, screen and (min-width: 40em) {
    .technical-data--compare .technical-data__label {
      display: none; } }

.technical-data--compare .technical-data__value {
  display: inline-block;
  width: 100%;
  font-weight: 600;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .technical-data--compare .technical-data__value {
      margin-top: 0.75rem; } }

.vehicle--compare .vehicle__primary-images {
  position: relative;
  margin-bottom: 0.1875rem;
  overflow: hidden; }
  @media print, screen and (min-width: 40em) {
    .vehicle--compare .vehicle__primary-images {
      height: 11.25rem;
      background-color: #000000; } }
  @media print, screen and (min-width: 40em) {
    .vehicle--compare .vehicle__primary-images img {
      height: auto;
      width: auto;
      max-height: 100vh;
      max-width: 100vw; } }

.vehicle--compare .vehicle__technical-data {
  margin: 0;
  list-style: none; }
  .vehicle--compare .vehicle__technical-data > li {
    height: 3.75rem;
    padding: 0.3125rem; }
    .vehicle--compare .vehicle__technical-data > li:nth-child(odd) {
      background-color: #000000; }

.vehicle--compare .vehicle__footer {
  margin-top: 0.625rem;
  text-align: center; }
  .vehicle--compare .vehicle__footer a {
    margin-right: 0.0625rem;
    margin-left: 0.0625rem; }

.vehicle--general {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .vehicle--general::before, .vehicle--general::after {
    display: table;
    content: ' '; }
  .vehicle--general::after {
    clear: both; }
  .vehicle--general .vehicle__primary-images {
    width: 100%;
    float: left;
    padding-right: 0;
    padding-left: 0;
    position: relative; }
    .vehicle--general .vehicle__primary-images:last-child:not(:first-child) {
      float: right; }
  .vehicle--general .vehicle__menu {
    position: absolute;
    top: 0;
    right: 0; }
  .vehicle--general .vehicle__details {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    background-color: #000000;
    box-sizing: border-box; }
    @media print, screen and (min-width: 40em) {
      .vehicle--general .vehicle__details {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .vehicle--general .vehicle__details:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .vehicle--general .vehicle__details {
        padding-top: 0.9375rem;
        padding-bottom: 0.9375rem; } }
  .vehicle--general .vehicle__header {
    margin-bottom: 0.625rem; }
  .vehicle--general .vehicle__title {
    margin-bottom: 0.375rem;
    font-size: 1.5rem;
    line-height: 1; }
    .vehicle--general .vehicle__title .vehicle__make,
    .vehicle--general .vehicle__title .vehicle__model {
      font-size: 1.5rem;
      line-height: 1; }
    .vehicle--general .vehicle__title .vehicle__model-variant {
      display: block;
      font-size: 1.125rem;
      font-weight: 400;
      line-height: 1; }
  .vehicle--general .vehicle__technical-data-promoted > ul {
    margin-bottom: 0;
    margin-left: 0;
    list-style: none;
    line-height: 1.375rem; }
    .vehicle--general .vehicle__technical-data-promoted > ul > li {
      display: inline-block; }
      .vehicle--general .vehicle__technical-data-promoted > ul > li .technical-data__label::after {
        content: ':';
        margin-right: 0.1875rem; }
      .vehicle--general .vehicle__technical-data-promoted > ul > li .technical-data__value::after {
        content: ',';
        margin-right: 0.1875rem;
        font-weight: 400; }
      .vehicle--general .vehicle__technical-data-promoted > ul > li:last-child .technical-data__value::after {
        content: '';
        margin-right: 0; }

.vehicle--latest {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .vehicle--latest::before, .vehicle--latest::after {
    display: table;
    content: ' '; }
  .vehicle--latest::after {
    clear: both; }
  .vehicle--latest .vehicle__primary-images {
    width: 100%;
    float: left;
    padding-right: 0;
    padding-left: 0;
    position: relative; }
    .vehicle--latest .vehicle__primary-images:last-child:not(:first-child) {
      float: right; }
  .vehicle--latest .vehicle__menu {
    position: absolute;
    top: 0;
    right: 0; }
  .vehicle--latest .vehicle__details {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    background-color: #000000;
    box-sizing: border-box; }
    @media print, screen and (min-width: 40em) {
      .vehicle--latest .vehicle__details {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .vehicle--latest .vehicle__details:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .vehicle--latest .vehicle__details {
        padding-top: 0.9375rem;
        padding-bottom: 0.9375rem; } }
  .vehicle--latest .vehicle__header {
    margin-bottom: 0.625rem; }
  .vehicle--latest .vehicle__title {
    margin-bottom: 0.375rem;
    font-size: 1.5rem;
    line-height: 1; }
    .vehicle--latest .vehicle__title .vehicle__make,
    .vehicle--latest .vehicle__title .vehicle__model {
      font-size: 1.5rem;
      line-height: 1; }
    .vehicle--latest .vehicle__title .vehicle__model-variant {
      display: block;
      font-size: 1.125rem;
      font-weight: 400;
      line-height: 1; }
  .vehicle--latest .vehicle__technical-data-promoted > ul {
    margin-bottom: 0;
    margin-left: 0;
    list-style: none;
    line-height: 1.375rem; }
    .vehicle--latest .vehicle__technical-data-promoted > ul > li {
      display: inline-block; }
      .vehicle--latest .vehicle__technical-data-promoted > ul > li .technical-data__label::after {
        content: ':';
        margin-right: 0.1875rem; }
      .vehicle--latest .vehicle__technical-data-promoted > ul > li .technical-data__value::after {
        content: ',';
        margin-right: 0.1875rem;
        font-weight: 400; }
      .vehicle--latest .vehicle__technical-data-promoted > ul > li:last-child .technical-data__value::after {
        content: '';
        margin-right: 0; }

.vehicle--recently-viewed {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .vehicle--recently-viewed::before, .vehicle--recently-viewed::after {
    display: table;
    content: ' '; }
  .vehicle--recently-viewed::after {
    clear: both; }
  .vehicle--recently-viewed .vehicle__primary-images {
    float: left;
    width: 50%; }
  .vehicle--recently-viewed .vehicle__details {
    float: left;
    width: 50%;
    padding: 0.9375rem 0.375rem 0; }
  .vehicle--recently-viewed .vehicle__title {
    font-size: 1.125rem;
    line-height: 1; }

.l-alert {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  .l-alert::before, .l-alert::after {
    display: table;
    content: ' '; }
  .l-alert::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .l-alert {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .l-alert:last-child:not(:first-child) {
    float: right; }
  .l-alert, .l-alert:last-child {
    float: none; }

.l-footer {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .l-footer {
      padding-top: 3.125rem; } }
  .l-footer__first {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    text-align: center; }
    .l-footer__first::before, .l-footer__first::after {
      display: table;
      content: ' '; }
    .l-footer__first::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .l-footer__first {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .l-footer__first:last-child:not(:first-child) {
      float: right; }
    .l-footer__first, .l-footer__first:last-child {
      float: none; }

.credit-calculator--full .credit-calculator__results {
  position: relative;
  margin-bottom: 0.9375rem; }

.extras-price {
  display: inline-block;
  line-height: 1; }
  .extras-price__value {
    font-weight: 600; }
  .extras-price--teaser {
    margin-top: 0.1875rem;
    font-size: 1.125rem; }
    .extras-price--teaser .extras-price__label {
      font-size: 65%; }
  .extras-price--full {
    margin-bottom: 0.9375rem;
    width: 100%;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    font-size: 1.75rem;
    text-align: center;
    border-top: 1px solid #1a1a1a; }
    .extras-price--full .extras-price__new,
    .extras-price--full .extras-price__extras {
      float: left;
      width: 50%;
      margin-bottom: 0.625rem;
      line-height: 1; }
    .extras-price--full .extras-price__extras {
      border-left: 1px solid #1a1a1a; }
    .extras-price--full .extras-price__label {
      display: block;
      font-size: 55%; }
    .extras-price--full .extras-price__link .button {
      margin-bottom: 0;
      padding: 0.375rem 0.5rem;
      font-size: 0.875rem; }

.extras {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .extras {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .extras {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .extras::before, .extras::after {
    display: table;
    content: ' '; }
  .extras::after {
    clear: both; }
  .extras__list {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .extras__list {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .extras__list:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .extras__list {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .extras__list {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .extras__list:last-child:not(:first-child) {
          float: right; } }
  .extras__summary {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 1.25rem;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .extras__summary {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .extras__summary:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .extras__summary {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .extras__summary {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .extras__summary:last-child:not(:first-child) {
          float: right; } }
    .extras__summary-amount {
      font-size: 2.5rem;
      line-height: 1; }
    .extras__summary-extras {
      margin-top: 0.9375rem;
      padding-top: 0.9375rem;
      font-size: 2.5rem;
      line-height: 1;
      border-top: 1px solid #1a1a1a; }
    .extras__summary-label {
      display: block;
      line-height: 1;
      font-size: 1.125rem; }
    .extras__summary-value {
      display: block;
      font-weight: 600;
      line-height: 1; }

.fancybox-slide > .fancybox-loading {
  -webkit-animation: b .8s infinite linear; }

.fancybox-slide--image {
  padding: 0; }

.review-summary__title {
  font-weight: 600;
  line-height: 1; }

.review-summary__average {
  font-size: 3.75rem;
  font-weight: 700;
  line-height: 1; }
  .review-summary__average span {
    font-size: 50%;
    font-weight: 600; }

.review-summary__total-responses {
  margin-top: 0.3125rem;
  font-size: 0.875rem; }

.review-summary__link a {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.75rem 0.875rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #905dad;
  color: #ffffff; }
  [data-whatinput='mouse'] .review-summary__link a {
    outline: 0; }
  .review-summary__link a:hover, .review-summary__link a:focus {
    background-color: #7b4c96;
    color: #ffffff; }

.review-listing__header {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  margin-bottom: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .review-listing__header {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .review-listing__header {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .review-listing__header::before, .review-listing__header::after {
    display: table;
    content: ' '; }
  .review-listing__header::after {
    clear: both; }
  .review-listing__header-first {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .review-listing__header-first {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .review-listing__header-first:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .review-listing__header-first {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .review-listing__header-first {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .review-listing__header-first:last-child:not(:first-child) {
          float: right; } }
  .review-listing__header-second {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .review-listing__header-second {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .review-listing__header-second:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .review-listing__header-second {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .review-listing__header-second {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .review-listing__header-second:last-child:not(:first-child) {
          float: right; } }

.review-listing__logo {
  margin-bottom: 0.625rem; }

@media print, screen and (min-width: 40em) {
  .review-listing__summary {
    float: right; } }

.review-listing__list {
  margin: 0;
  padding: 0;
  list-style: none; }

.review-listing__list-item {
  margin-bottom: 0.9375rem; }

.review-listing__link a {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.75rem 0.875rem;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 1.125rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #905dad;
  color: #ffffff; }
  [data-whatinput='mouse'] .review-listing__link a {
    outline: 0; }
  .review-listing__link a:hover, .review-listing__link a:focus {
    background-color: #7b4c96;
    color: #ffffff; }

.review {
  padding: 0.625rem;
  background-color: #ffffff; }
  @media print, screen and (min-width: 40em) {
    .review {
      padding: 0.9375rem; } }
  .review__header {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    padding-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .review__header {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .review__header {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .review__header::before, .review__header::after {
      display: table;
      content: ' '; }
    .review__header::after {
      clear: both; }
    .review__header-first {
      width: 100%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .review__header-first {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .review__header-first:last-child:not(:first-child) {
        float: right; }
      @media print, screen and (min-width: 40em) {
        .review__header-first {
          width: 50%;
          float: left;
          padding-right: 0.625rem;
          padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .review__header-first {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
      @media print, screen and (min-width: 40em) {
          .review__header-first:last-child:not(:first-child) {
            float: right; } }
    .review__header-second {
      width: 100%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .review__header-second {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .review__header-second:last-child:not(:first-child) {
        float: right; }
      @media print, screen and (min-width: 40em) {
        .review__header-second {
          width: 50%;
          float: left;
          padding-right: 0.625rem;
          padding-left: 0.625rem;
          text-align: right; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .review__header-second {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
      @media print, screen and (min-width: 40em) {
          .review__header-second:last-child:not(:first-child) {
            float: right; } }
  .review__date span {
    margin-right: 0.1875rem;
    font-size: 0.875rem; }
  .review__rating-label {
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1; }
  .review__link {
    display: none; }
    @media print, screen and (min-width: 40em) {
      .review__link {
        display: block; } }
    .review__link a {
      text-decoration: underline; }
      .review__link a:hover {
        text-decoration: none; }

.review-rating {
  position: relative;
  width: 10.0625rem;
  height: 1.6875rem;
  background-image: url("/core/img/feefo/stars.png");
  background-repeat: repeat-x;
  background-size: 2rem 3.4375rem;
  line-height: 1.6875rem;
  overflow: hidden; }
  .review-rating__inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 1.6875rem;
    background-image: url("/core/img/feefo/stars.png");
    background-position: 0 -27px;
    background-repeat: repeat-x;
    background-size: 2rem 3.375rem;
    line-height: 1.6875rem; }

@media screen and (max-width: 39.9375em) {
  .wizard > .steps > ul li {
    display: block;
    width: 100%; } }

.wizard > .steps > ul li:last-child a {
  margin-right: 0; }

.wizard > .steps a,
.wizard > .steps a:hover,
.wizard > .steps a:active {
  margin: 0 0 0.5rem;
  padding: 0.5rem 0.9375rem;
  border-radius: 0;
  font-weight: 600; }
  @media print, screen and (min-width: 40em) {
    .wizard > .steps a,
    .wizard > .steps a:hover,
    .wizard > .steps a:active {
      margin: 0 0.5rem 0.5rem 0; } }

.wizard > .steps .current a,
.wizard > .steps .current a:hover,
.wizard > .steps .current a:active {
  background-color: #905dad;
  color: #ffffff; }

.wizard > .steps .done a,
.wizard > .steps .done a:hover,
.wizard > .steps .done a:active {
  color: #ffffff;
  background-color: #bea1cf; }

.wizard > .steps .disabled a,
.wizard > .steps .disabled a:hover,
.wizard > .steps .disabled a:active {
  color: #ffffff;
  background-color: #1a1a1a; }

.wizard > .steps .error a,
.wizard > .steps .error a:hover,
.wizard > .steps .error a:active {
  color: #ffffff;
  background-color: #cc4b37; }

.wizard > .content > .body {
  display: block;
  margin: 0.5rem 0;
  overflow: hidden;
  position: relative;
  width: auto; }

.wizard > .actions a,
.wizard > .actions a:hover,
.wizard > .actions a:active {
  padding: 0.5rem 0.9375rem;
  color: #ffffff;
  background-color: #905dad;
  font-weight: 600;
  border-radius: 0; }

.wizard > .actions .disabled a,
.wizard > .actions .disabled a:hover,
.wizard > .actions .disabled a:active {
  color: #ffffff;
  background-color: #1a1a1a; }

.wizard > .actions > ul > li {
  margin: 0 0 0 0.5rem; }

button {
  font-family: inherit; }

.button {
  font-family: inherit;
  font-weight: 600;
  border-radius: 0.1875rem; }
  .button--alert {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    padding: 0.75rem 0.875rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #cc4b37;
    color: #ffffff; }
    [data-whatinput='mouse'] .button--alert {
      outline: 0; }
    .button--alert:hover, .button--alert:focus {
      background-color: #a53b2a;
      color: #ffffff; }
  .button--filter {
    margin: 0;
    padding: 1.25rem;
    background-color: #905dad;
    border-radius: 50%; }
    .button--filter i {
      color: #ffffff;
      font-size: 1.875rem;
      vertical-align: bottom; }
  .button--full-width {
    width: 100%; }
  .button--no-margin {
    margin-bottom: 0; }
  .button--reset {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    padding: 0.75rem 0.875rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #222222;
    color: #ffffff;
    float: right;
    margin-bottom: 0;
    padding: 0.375rem 0.75rem;
    font-weight: 600;
    border-radius: 0.1875rem; }
    [data-whatinput='mouse'] .button--reset {
      outline: 0; }
    .button--reset:hover, .button--reset:focus {
      background-color: #1b1b1b;
      color: #ffffff; }
  .button--search {
    width: 100%;
    padding: 0.9375rem 0;
    margin-bottom: 0; }
  .button--secondary-color {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    padding: 0.75rem 0.875rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #222222;
    color: #ffffff;
    font-weight: 600;
    border-radius: 0.1875rem; }
    [data-whatinput='mouse'] .button--secondary-color {
      outline: 0; }
    .button--secondary-color:hover, .button--secondary-color:focus {
      background-color: #1b1b1b;
      color: #ffffff; }
  .button--small {
    padding: 0.625rem 0.75rem;
    font-size: 1rem; }
  .button--vehicle-details {
    width: 100%;
    margin-bottom: 0; }
  .button--xsmall {
    padding: 0.375rem 0.5rem;
    font-size: 0.875rem; }
  .button--hollow {
    border: 1px solid #ffffff;
    color: #ffffff; }
    .button--hollow:hover, .button--hollow:focus {
      border-color: white;
      color: white; }

.close-button {
  top: 0.75rem;
  font-size: 1.875rem; }
  .close-button:hover {
    color: inherit; }
  .close-button--toggler {
    top: 0;
    right: 0.875rem;
    color: #ffffff;
    line-height: 3.125rem;
    z-index: 3; }
    .close-button--toggler:focus, .close-button--toggler:hover {
      color: #ffffff; }

.footer-legals {
  margin-bottom: 1.25rem;
  font-size: 0.75rem; }
  .footer-legals p {
    margin-bottom: 0.625rem; }
    .footer-legals p:last-of-type {
      margin: 0; }

.icon::before {
  font-weight: normal;
  font-style: normal;
  font-size: inherit;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  vertical-align: middle; }

.icon--arrow-back::before {
  font-family: 'Material Icons';
  content: '\e5c4'; }

.icon--arrow-forward::before {
  font-family: 'Material Icons';
  content: '\e5c8'; }

.icon--bike::before {
  font-family: 'Material Icons';
  content: '\e52f'; }

.icon--car::before {
  font-family: 'Material Icons';
  content: '\e531'; }

.icon--chevron-left::before {
  font-family: 'Material Icons';
  content: '\e5cb'; }

.icon--chevron-right::before {
  font-family: 'Material Icons';
  content: '\e5cc'; }

.icon--clock::before {
  font-family: 'Material Icons';
  content: '\e855'; }

.icon--finance::before {
  font-family: 'Material Icons';
  content: '\e877'; }

.icon--enlarge::before {
  font-family: 'Material Icons';
  content: '\e56b'; }

.icon--expand-less::before {
  font-family: 'Material Icons';
  content: '\e5ce'; }

.icon--expand-more::before {
  font-family: 'Material Icons';
  content: '\e5cf'; }

.icon--document::before {
  font-family: 'Material Icons';
  content: '\e873'; }

.icon--facebook::before {
  font-family: 'FontAwesome';
  content: "\f09a"; }

.icon--filter::before {
  font-family: 'Material Icons';
  content: '\e152'; }

.icon--google-plus::before {
  font-family: 'FontAwesome';
  content: "\f0d5"; }

.icon--image-library::before {
  font-family: 'Material Icons';
  content: '\e413'; }

.icon--info::before {
  font-family: 'Material Icons';
  vertical-align: top;
  content: '\e88f'; }

.icon--mail::before {
  font-family: 'Material Icons';
  content: '\e158'; }

.icon--menu::before {
  font-family: 'Material Icons';
  content: '\e5d2'; }

.icon--play::before {
  font-family: 'Material Icons';
  content: '\e039'; }

.icon--phone::before {
  font-family: 'Material Icons';
  content: '\e0cd'; }

.icon--recent::before {
  font-family: 'Material Icons';
  content: '\e889'; }

.icon--share::before {
  font-family: 'Material Icons';
  content: '\e80d'; }

.icon--saved::before {
  font-family: 'Material Icons';
  content: '\e87d'; }

.icon--search::before {
  font-family: 'Material Icons';
  content: '\e8b6'; }

.icon--star::before {
  font-family: 'Material Icons';
  content: '\e838'; }

.icon--transit::before {
  font-family: 'Material Icons';
  content: '\e535'; }

.icon--twitter::before {
  font-family: 'FontAwesome';
  content: "\f099"; }

.icon--print::before {
  font-family: 'Material Icons';
  content: '\e8ad'; }

.icon--video-library::before {
  font-family: 'Material Icons';
  content: '\e04a'; }

.icon--walk::before {
  font-family: 'Material Icons';
  content: '\e536'; }

.listing__list {
  margin: 0;
  list-style: none; }

.listing--block .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--block .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--block .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--block .listing__list::before, .listing--block .listing__list::after {
    display: table;
    content: ' '; }
  .listing--block .listing__list::after {
    clear: both; }
  .listing--block .listing__list-item {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .listing--block .listing__list-item {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--block .listing__list-item:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .listing--block .listing__list-item {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .listing--block .listing__list-item {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .listing--block .listing__list-item:last-child:not(:first-child) {
          float: right; } }
    @media print, screen and (min-width: 40em) {
      .listing--block .listing__list-item:nth-child(1) {
        padding-right: 0.625rem !important; } }
    @media print, screen and (min-width: 64em) {
      .listing--block .listing__list-item:nth-child(1) {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .listing--block .listing__list-item:nth-child(1) {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .listing--block .listing__list-item:nth-child(1):last-child:not(:first-child) {
          float: right; } }
    @media print, screen and (min-width: 40em) {
      .listing--block .listing__list-item:nth-child(2) {
        padding-left: 0.625rem !important; } }
    @media print, screen and (min-width: 64em) {
      .listing--block .listing__list-item:nth-child(2) {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .listing--block .listing__list-item:nth-child(2) {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .listing--block .listing__list-item:nth-child(2):last-child:not(:first-child) {
          float: right; } }
    @media print, screen and (min-width: 40em) {
      .listing--block .listing__list-item:nth-child(3) {
        padding-right: 0.625rem !important; } }
    @media print, screen and (min-width: 40em) {
      .listing--block .listing__list-item:nth-child(4) {
        padding-left: 0.625rem !important; } }

.listing--block-footer {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 1.875rem; }
  .listing--block-footer::before, .listing--block-footer::after {
    display: table;
    content: ' '; }
  .listing--block-footer::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .listing--block-footer {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--block-footer:last-child:not(:first-child) {
    float: right; }
  .listing--block-footer, .listing--block-footer:last-child {
    float: none; }
  .listing--block-footer .listing__list {
    text-align: center; }
    .listing--block-footer .listing__list-item {
      display: inline-block;
      margin: 0.3125rem; }

.listing--block-sidebar .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--block-sidebar .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--block-sidebar .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--block-sidebar .listing__list::before, .listing--block-sidebar .listing__list::after {
    display: table;
    content: ' '; }
  .listing--block-sidebar .listing__list::after {
    clear: both; }
  .listing--block-sidebar .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--block-sidebar .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--block-sidebar .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--block-sidebar .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--block-sidebar .listing__list > li:last-child {
      float: left; }
  .listing--block-sidebar .listing__list-item {
    margin-bottom: 1.25rem; }

.listing--branch-footer .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--branch-footer .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--branch-footer .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--branch-footer .listing__list::before, .listing--branch-footer .listing__list::after {
    display: table;
    content: ' '; }
  .listing--branch-footer .listing__list::after {
    clear: both; }
  .listing--branch-footer .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--branch-footer .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--branch-footer .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--branch-footer .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--branch-footer .listing__list > li:last-child {
      float: left; }
  .listing--branch-footer .listing__list-item {
    margin-bottom: 1.25rem; }

.listing--branch-teaser .listing__list, .listing--custom-entry-teaser .listing__list, .listing--page-teaser .listing__list, .listing--post-teaser .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--branch-teaser .listing__list, .listing--custom-entry-teaser .listing__list, .listing--page-teaser .listing__list, .listing--post-teaser .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--branch-teaser .listing__list, .listing--custom-entry-teaser .listing__list, .listing--page-teaser .listing__list, .listing--post-teaser .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--branch-teaser .listing__list::before, .listing--branch-teaser .listing__list::after, .listing--custom-entry-teaser .listing__list::before, .listing--custom-entry-teaser .listing__list::after, .listing--page-teaser .listing__list::before, .listing--page-teaser .listing__list::after, .listing--post-teaser .listing__list::before, .listing--post-teaser .listing__list::after {
    display: table;
    content: ' '; }
  .listing--branch-teaser .listing__list::after, .listing--custom-entry-teaser .listing__list::after, .listing--page-teaser .listing__list::after, .listing--post-teaser .listing__list::after {
    clear: both; }
  .listing--branch-teaser .listing__list > li, .listing--custom-entry-teaser .listing__list > li, .listing--page-teaser .listing__list > li, .listing--post-teaser .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--branch-teaser .listing__list > li, .listing--custom-entry-teaser .listing__list > li, .listing--page-teaser .listing__list > li, .listing--post-teaser .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--branch-teaser .listing__list > li:nth-of-type(1n), .listing--custom-entry-teaser .listing__list > li:nth-of-type(1n), .listing--page-teaser .listing__list > li:nth-of-type(1n), .listing--post-teaser .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--branch-teaser .listing__list > li:nth-of-type(1n+1), .listing--custom-entry-teaser .listing__list > li:nth-of-type(1n+1), .listing--page-teaser .listing__list > li:nth-of-type(1n+1), .listing--post-teaser .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--branch-teaser .listing__list > li:last-child, .listing--custom-entry-teaser .listing__list > li:last-child, .listing--page-teaser .listing__list > li:last-child, .listing--post-teaser .listing__list > li:last-child {
      float: left; }
  .listing--branch-teaser .listing__list-item, .listing--custom-entry-teaser .listing__list-item, .listing--page-teaser .listing__list-item, .listing--post-teaser .listing__list-item {
    margin-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .listing--branch-teaser .listing__list-item, .listing--custom-entry-teaser .listing__list-item, .listing--page-teaser .listing__list-item, .listing--post-teaser .listing__list-item {
        margin-bottom: 1.875rem; } }

.listing--custom-entry-featured {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--custom-entry-featured {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--custom-entry-featured {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--custom-entry-featured::before, .listing--custom-entry-featured::after {
    display: table;
    content: ' '; }
  .listing--custom-entry-featured::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .listing--custom-entry-featured {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }
  .listing--custom-entry-featured .listing__header {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--custom-entry-featured .listing__header {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--custom-entry-featured .listing__header:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .listing--custom-entry-featured .listing__header {
        width: 25%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .listing--custom-entry-featured .listing__header {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .listing--custom-entry-featured .listing__header:last-child:not(:first-child) {
          float: right; } }
  .listing--custom-entry-featured .listing__title {
    margin-bottom: 0.625rem;
    font-size: 1.875rem;
    font-weight: 600;
    line-height: 1.2; }
    @media print, screen and (min-width: 40em) {
      .listing--custom-entry-featured .listing__title {
        margin-bottom: 0;
        text-align: right;
        font-size: 2.5rem;
        font-weight: 700; } }
  .listing--custom-entry-featured .listing__main {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--custom-entry-featured .listing__main {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--custom-entry-featured .listing__main:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .listing--custom-entry-featured .listing__main {
        width: 75%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .listing--custom-entry-featured .listing__main {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .listing--custom-entry-featured .listing__main:last-child:not(:first-child) {
          float: right; } }
  .listing--custom-entry-featured .listing__list {
    padding-left: 0.9375rem;
    border-left: 10px solid #905dad; }
    .listing--custom-entry-featured .listing__list-item {
      margin-bottom: 0.625rem; }
      .listing--custom-entry-featured .listing__list-item:last-child {
        margin-bottom: 0; }
        .listing--custom-entry-featured .listing__list-item:last-child .custom-entry--featured {
          padding-bottom: 0;
          border-bottom: none; }

.listing--vehicle-compare {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-compare {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-compare {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--vehicle-compare::before, .listing--vehicle-compare::after {
    display: table;
    content: ' '; }
  .listing--vehicle-compare::after {
    clear: both; }
  .listing--vehicle-compare .listing__header {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-compare .listing__header {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--vehicle-compare .listing__header:last-child:not(:first-child) {
      float: right; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-compare .listing__title {
      float: left; } }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-compare .listing__remove {
      float: right;
      margin-left: 0.625rem; } }
  .listing--vehicle-compare .listing__key {
    display: none; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-compare .listing__key {
        width: 25%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        display: block; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .listing--vehicle-compare .listing__key {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .listing--vehicle-compare .listing__key:last-child:not(:first-child) {
          float: right; } }
    @media print, screen and (min-width: 64em) {
      .listing--vehicle-compare .listing__key {
        width: 16.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .listing--vehicle-compare .listing__key {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .listing--vehicle-compare .listing__key:last-child:not(:first-child) {
          float: right; } }
    .listing--vehicle-compare .listing__key ul {
      margin: 13.9375rem 0 0 0;
      list-style: none; }
      .listing--vehicle-compare .listing__key ul li {
        height: 3.75rem;
        padding: 1.0625rem 0 0 0.9375rem; }
        .listing--vehicle-compare .listing__key ul li:nth-child(odd) {
          background-color: #000000; }
  .listing--vehicle-compare .listing__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-compare .listing__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--vehicle-compare .listing__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-compare .listing__content {
        width: 75%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .listing--vehicle-compare .listing__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .listing--vehicle-compare .listing__content:last-child:not(:first-child) {
          float: right; } }
    @media print, screen and (min-width: 64em) {
      .listing--vehicle-compare .listing__content {
        width: 83.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .listing--vehicle-compare .listing__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .listing--vehicle-compare .listing__content:last-child:not(:first-child) {
          float: right; } }

.listing--vehicle-recently-viewed .listing__title {
  display: none; }

.listing--vehicle-recently-viewed .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-recently-viewed .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-recently-viewed .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--vehicle-recently-viewed .listing__list::before, .listing--vehicle-recently-viewed .listing__list::after {
    display: table;
    content: ' '; }
  .listing--vehicle-recently-viewed .listing__list::after {
    clear: both; }
  .listing--vehicle-recently-viewed .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-recently-viewed .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--vehicle-recently-viewed .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--vehicle-recently-viewed .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--vehicle-recently-viewed .listing__list > li:last-child {
      float: left; }
  .listing--vehicle-recently-viewed .listing__list-item {
    margin-bottom: 0.25rem; }
    .listing--vehicle-recently-viewed .listing__list-item:last-child {
      margin-bottom: 0; }

.listing--vehicle-recently-viewed .listing__no-items {
  text-align: center; }

.listing--vehicle-featured .listing__title, .listing--vehicle-latest .listing__title {
  margin-bottom: 1.875rem;
  line-height: 1; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-featured .listing__title, .listing--vehicle-latest .listing__title {
      text-align: center; } }

.listing--vehicle-similar {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  .listing--vehicle-similar::before, .listing--vehicle-similar::after {
    display: table;
    content: ' '; }
  .listing--vehicle-similar::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-similar {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--vehicle-similar:last-child:not(:first-child) {
    float: right; }
  .listing--vehicle-similar, .listing--vehicle-similar:last-child {
    float: none; }
  .listing--vehicle-similar .listing__title {
    margin-bottom: 1.875rem;
    line-height: 1; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-similar .listing__title {
        text-align: center; } }

.listing--vehicle-featured-sidebar, .listing--vehicle-latest-sidebar {
  margin-bottom: 1.25rem; }
  .listing--vehicle-featured-sidebar .listing__title, .listing--vehicle-latest-sidebar .listing__title {
    display: none; }

.listing--vehicle-teaser .listing__header {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__header {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-teaser .listing__header {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--vehicle-teaser .listing__header::before, .listing--vehicle-teaser .listing__header::after {
    display: table;
    content: ' '; }
  .listing--vehicle-teaser .listing__header::after {
    clear: both; }

.listing--vehicle-teaser .listing__title {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__title {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--vehicle-teaser .listing__title:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-teaser .listing__title {
      width: 66.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .listing--vehicle-teaser .listing__title {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .listing--vehicle-teaser .listing__title:last-child:not(:first-child) {
        float: right; } }

.listing--vehicle-teaser .listing__order {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__order {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--vehicle-teaser .listing__order:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-teaser .listing__order {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .listing--vehicle-teaser .listing__order {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .listing--vehicle-teaser .listing__order:last-child:not(:first-child) {
        float: right; } }
  .listing--vehicle-teaser .listing__order .vehicle-order {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-teaser .listing__order .vehicle-order {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .listing--vehicle-teaser .listing__order .vehicle-order {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .listing--vehicle-teaser .listing__order .vehicle-order::before, .listing--vehicle-teaser .listing__order .vehicle-order::after {
      display: table;
      content: ' '; }
    .listing--vehicle-teaser .listing__order .vehicle-order::after {
      clear: both; }
  .listing--vehicle-teaser .listing__order .field-vehicle_search_order {
    width: 66.66667%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-teaser .listing__order .field-vehicle_search_order {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--vehicle-teaser .listing__order .field-vehicle_search_order:last-child:not(:first-child) {
      float: right; }
  .listing--vehicle-teaser .listing__order .field-vehicle_search_per_page {
    width: 33.33333%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-teaser .listing__order .field-vehicle_search_per_page {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--vehicle-teaser .listing__order .field-vehicle_search_per_page:last-child:not(:first-child) {
      float: right; }

.listing--vehicle-teaser .listing__filter-results {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__filter-results {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--vehicle-teaser .listing__filter-results:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-teaser .listing__filter-results {
      display: none; } }
  .listing--vehicle-teaser .listing__filter-results .button {
    width: 100%; }

.listing--vehicle-teaser .listing__filter-results--reduced {
  width: 50%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__filter-results--reduced {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--vehicle-teaser .listing__filter-results--reduced:last-child:not(:first-child) {
    float: right; }

.listing--vehicle-teaser .listing__adjust-finance {
  width: 50%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__adjust-finance {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--vehicle-teaser .listing__adjust-finance:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-teaser .listing__adjust-finance {
      display: none; } }
  .listing--vehicle-teaser .listing__adjust-finance .button {
    width: 100%; }

.listing--vehicle-teaser .listing__finance-form {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__finance-form {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .listing--vehicle-teaser .listing__finance-form:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-teaser .listing__finance-form {
      display: block; } }

.listing--vehicle-teaser .listing__item-count {
  margin-bottom: 0.1875rem; }
  .listing--vehicle-teaser .listing__item-count span {
    font-weight: 600; }

.listing--vehicle-teaser .listing__list {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-teaser .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-teaser .listing__list {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .listing--vehicle-teaser .listing__list::before, .listing--vehicle-teaser .listing__list::after {
    display: table;
    content: ' '; }
  .listing--vehicle-teaser .listing__list::after {
    clear: both; }
  .listing--vehicle-teaser .listing__list > li {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-teaser .listing__list > li {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .listing--vehicle-teaser .listing__list > li:nth-of-type(1n) {
      clear: none; }
    .listing--vehicle-teaser .listing__list > li:nth-of-type(1n+1) {
      clear: both; }
    .listing--vehicle-teaser .listing__list > li:last-child {
      float: left; }
  .listing--vehicle-teaser .listing__list-item {
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--vehicle-teaser .listing__list-item {
        margin-bottom: 0.9375rem; } }

.listing--vehicle-teaser .listing__finance-example {
  margin-top: 1.875rem; }

.listing--vehicle-teaser .listing__footer {
  text-align: center; }

.listing--vehicle-teaser .listing__filter-results-icon {
  position: fixed;
  right: 0.625rem;
  bottom: 0.625rem;
  z-index: 99; }
  @media print, screen and (min-width: 64em) {
    .listing--vehicle-teaser .listing__filter-results-icon {
      display: none; } }

.menu-toggle a {
  padding-left: 0.9375rem;
  color: #ffffff;
  text-align: center;
  line-height: 4.8125rem; }
  .menu-toggle a i,
  .menu-toggle a span {
    display: inline-block;
    line-height: 1;
    vertical-align: middle; }
  .menu-toggle a i::before {
    font-size: 1.625rem; }

@media print, screen and (min-width: 64em) {
  .menu--main {
    margin: 0;
    list-style-type: none;
    display: table;
    width: 100%;
    table-layout: fixed;
    table-layout: auto; }
    .menu--main > li {
      display: table-cell;
      vertical-align: middle; }
      [data-whatinput='mouse'] .menu--main > li {
        outline: 0; }
    .menu--main > li > a {
      display: block;
      padding: 0.7rem 1rem;
      line-height: 1; }
    .menu--main input,
    .menu--main select,
    .menu--main a,
    .menu--main button {
      margin-bottom: 0; }
    .menu--main > li:first-child:last-child {
      width: 100%; } }

.menu--main li a {
  padding: 0.9375rem;
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1; }
  @media print, screen and (min-width: 64em) {
    .menu--main li a {
      padding: 1.4375rem 0;
      text-align: center; } }

.menu--main .active > a {
  background-color: #292929; }

@media print, screen and (min-width: 64em) {
  .menu--main > li > ul {
    display: none; } }

.menu--main .submenu li a {
  background-color: #222222; }
  @media print, screen and (min-width: 64em) {
    .menu--main .submenu li a {
      padding: 1.25rem 2.5rem;
      text-align: left; } }

@media print, screen and (min-width: 64em) {
  .menu--fixed {
    float: right;
    clear: right;
    margin-bottom: 0.9375rem; } }

.menu--fixed .menu-item {
  float: right;
  padding: 1.5rem 0.75rem; }
  @media print, screen and (min-width: 64em) {
    .menu--fixed .menu-item {
      float: left;
      padding: 0.375rem 0 0.375rem 2.5rem; } }
  .menu--fixed .menu-item a {
    padding: 0;
    font-size: 1.125rem;
    text-align: center; }
    @media print, screen and (min-width: 64em) {
      .menu--fixed .menu-item a {
        text-align: left; } }
    .menu--fixed .menu-item a i {
      margin-right: 0;
      font-size: 1.625rem; }
      @media print, screen and (min-width: 64em) {
        .menu--fixed .menu-item a i {
          margin-right: 0.1875rem;
          font-size: 1.125rem; } }
      .menu--fixed .menu-item a i + span {
        display: none; }
        @media print, screen and (min-width: 64em) {
          .menu--fixed .menu-item a i + span {
            display: inline-block; } }
  .menu--fixed .menu-item--menu-toggle {
    float: left; }
    @media print, screen and (min-width: 64em) {
      .menu--fixed .menu-item--menu-toggle {
        display: none; } }
    .menu--fixed .menu-item--menu-toggle a i + span {
      display: inline-block; }
  @media print, screen and (min-width: 64em) {
    .menu--fixed .menu-item--phone {
      display: none; } }
  .menu--fixed .menu-item--save .saved-counter {
    display: none;
    margin-left: 0.1875rem;
    vertical-align: middle; }
  .menu--fixed .menu-item--social {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .menu--fixed .menu-item--social {
        display: block; } }
    .menu--fixed .menu-item--social a i {
      font-size: 1.375rem; }

.menu--footer {
  margin-bottom: 0.9375rem; }
  .menu--footer li {
    display: inline-block;
    vertical-align: inherit; }
    .menu--footer li a {
      padding: 0 0.25rem; }
    .menu--footer li.active > a {
      color: #ffffff;
      background: none; }
  .menu--footer > li > ul {
    display: none; }

.menu--share {
  margin: 0;
  list-style-type: none;
  display: table;
  width: 100%;
  table-layout: fixed; }
  .menu--share > li {
    display: table-cell;
    vertical-align: middle; }
    [data-whatinput='mouse'] .menu--share > li {
      outline: 0; }
  .menu--share > li > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .menu--share input,
  .menu--share select,
  .menu--share a,
  .menu--share button {
    margin-bottom: 0; }
  .menu--share > li:first-child:last-child {
    width: 100%; }
  .menu--share li {
    text-align: center; }
    .menu--share li a {
      padding: 0; }
      .menu--share li a .icon {
        width: 2.5rem;
        margin-right: 0;
        padding: 0.5rem 0;
        color: #ffffff;
        font-size: 1.25rem;
        text-align: center;
        background-color: #905dad; }
        .menu--share li a .icon--facebook {
          background-color: #0b5998; }
        .menu--share li a .icon--twitter {
          background-color: #4099ff; }
        .menu--share li a .icon--google-plus {
          background-color: #DA4835; }

.menu--social li a {
  font-size: 2.125rem; }

.menu--vehicle-featured .menu-item a, .menu--vehicle-latest .menu-item a {
  padding: 0.125rem 0.3125rem;
  text-shadow: 0 1px rgba(0, 0, 0, 0.3); }
  .menu--vehicle-featured .menu-item a i, .menu--vehicle-latest .menu-item a i {
    color: #ffffff;
    font-size: 1.75rem;
    margin-right: 0; }
  .menu--vehicle-featured .menu-item a span, .menu--vehicle-latest .menu-item a span {
    display: none; }
  .menu--vehicle-featured .menu-item a i::before, .menu--vehicle-latest .menu-item a i::before {
    font-family: 'Material Icons';
    content: '\e87e'; }
  .menu--vehicle-featured .menu-item a.js-save-vehicle--saved i::before, .menu--vehicle-latest .menu-item a.js-save-vehicle--saved i::before {
    font-family: 'Material Icons';
    content: '\e87d'; }

.menu--vehicle-full {
  text-align: center; }
  .menu--vehicle-full .menu-item {
    display: inline-block; }
    .menu--vehicle-full .menu-item a {
      padding: 0.6875rem 0.375rem; }
      .menu--vehicle-full .menu-item a i {
        font-size: 1.5rem; }
      .menu--vehicle-full .menu-item a span {
        margin-right: 0.375rem;
        font-size: 1.125rem;
        vertical-align: middle; }
  .menu--vehicle-full .menu-item--save a i::before {
    font-family: 'Material Icons';
    content: '\e87e'; }
  .menu--vehicle-full .menu-item--save a.js-save-vehicle--saved i::before {
    font-family: 'Material Icons';
    content: '\e87d'; }
  @media screen and (max-width: 63.9375em) {
    .menu--vehicle-full .menu-item--print {
      display: none; } }
  .menu--vehicle-full .menu-item--enquire, .menu--vehicle-full .menu-item--service-history {
    width: 100%;
    margin-bottom: 0.5rem; }
    .menu--vehicle-full .menu-item--enquire a, .menu--vehicle-full .menu-item--service-history a {
      padding: 0.8125rem 0; }

.is-dropdown-submenu {
  border: none; }

.dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
  padding-right: 1.125rem; }

.dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
  background-image: url("data:image/svg+xml;utf8,<svg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'><path d='M10.59.59L6 5.17 1.41.59 0 2l6 6 6-6' fill='%23999999' fill-rule='evenodd'/></svg>");
  background-size: 0.6875rem 0.4375rem;
  width: 0.6875rem;
  height: 0.4375rem;
  border: none;
  right: 0.375rem; }

.is-drilldown-submenu-parent > a::after {
  background-image: url("data:image/svg+xml;utf8,<svg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'><path d='M10.59.59L6 5.17 1.41.59 0 2l6 6 6-6' fill='%23999999' fill-rule='evenodd'/></svg>");
  background-size: 0.6875rem 0.4375rem;
  width: 0.6875rem;
  height: 0.4375rem;
  border: none;
  margin-top: -0.1875rem;
  -webkit-transform: rotate(270deg);
      -ms-transform: rotate(270deg);
          transform: rotate(270deg); }

.js-drilldown-back > a::before {
  background-image: url("data:image/svg+xml;utf8,<svg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'><path d='M10.59.59L6 5.17 1.41.59 0 2l6 6 6-6' fill='%23999999' fill-rule='evenodd'/></svg>");
  background-size: 0.6875rem 0.4375rem;
  width: 0.6875rem;
  height: 0.4375rem;
  border: none;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg); }

.js-drilldown-back > a span {
  vertical-align: middle; }

.pop-up {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999999999;
  overflow-y: auto; }
  .pop-up__inner {
    position: relative;
    top: 0.625rem;
    left: 5%;
    right: 5%;
    width: 90%;
    height: auto;
    padding: 0.625rem;
    text-align: center;
    background-color: #000000;
    box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.2);
    z-index: 99999999999; }
    @media print, screen and (min-width: 40em) {
      .pop-up__inner {
        top: 0.9375rem;
        left: 10%;
        right: 10%;
        width: 80%;
        padding: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .pop-up__inner {
        top: 1.875rem;
        padding: 1.875rem; } }
    @media screen and (min-width: 75em) {
      .pop-up__inner {
        top: 3.125rem; } }
  .pop-up__overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 9999999999; }
  .pop-up__logo {
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .pop-up__logo {
        margin-bottom: 0.9375rem; } }
  .pop-up__content {
    margin-bottom: 0.625rem;
    color: #ffffff;
    font-size: 0.75rem; }
    @media print, screen and (min-width: 40em) {
      .pop-up__content {
        margin-bottom: 0.9375rem;
        font-size: 0.875rem; } }
    @media print, screen and (min-width: 64em) {
      .pop-up__content {
        font-size: 1rem; } }
    @media screen and (min-width: 75em) {
      .pop-up__content {
        font-size: 1.125rem; } }
    .pop-up__content p {
      margin-bottom: 0.625rem;
      line-height: 1.6; }
      .pop-up__content p:last-child {
        margin-bottom: 0; }
    .pop-up__content a {
      color: #ffffff; }
    .pop-up__content ul {
      margin: 0 0 0.9375rem 0;
      list-style: none; }
  .pop-up__close {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    padding: 0.75rem 0.875rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #905dad;
    color: #ffffff;
    margin-bottom: 0;
    padding: 0.5rem 0.75rem;
    font-size: 0.75rem;
    text-transform: uppercase;
    border-radius: 0.625rem; }
    [data-whatinput='mouse'] .pop-up__close {
      outline: 0; }
    .pop-up__close:hover, .pop-up__close:focus {
      background-color: #7b4c96;
      color: #ffffff; }
    @media print, screen and (min-width: 40em) {
      .pop-up__close {
        padding: 0.75rem 0.875rem;
        font-size: 0.875rem; } }
    @media print, screen and (min-width: 64em) {
      .pop-up__close {
        font-size: 1rem; } }
    @media screen and (min-width: 75em) {
      .pop-up__close {
        font-size: 1.125rem; } }
  .pop-up__close-icon {
    color: #ffffff; }
    .pop-up__close-icon:hover {
      color: #ffffff; }

body.pop-up-open {
  overflow: hidden; }

.rating {
  padding: 1.25rem;
  background-color: #0d0d0d;
  text-align: center; }
  .rating__logo {
    display: block;
    margin-bottom: 0.625rem; }
  .rating__title {
    display: inline-block;
    margin: 0 0.125rem;
    font-size: 1.375rem;
    line-height: 1; }
  .rating__stars {
    display: inline-block;
    margin: 0 0.125rem;
    color: #ffc71f;
    font-size: 2.5rem;
    line-height: 1; }
  .rating__link {
    margin-top: 0.625rem; }
    .rating__link .button {
      margin-bottom: 0; }

.reveal {
  outline: none; }
  .reveal__header {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .reveal__header {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .reveal__header {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .reveal__header::before, .reveal__header::after {
      display: table;
      content: ' '; }
    .reveal__header::after {
      clear: both; }
  .reveal__title {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.9375rem;
    font-size: 1.5rem;
    line-height: 1; }
    @media print, screen and (min-width: 40em) {
      .reveal__title {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .reveal__title:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .reveal__title {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .reveal__title {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .reveal__title:last-child:not(:first-child) {
          float: right; } }
  .reveal__vehicle {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.9375rem;
    font-size: 0.875rem;
    line-height: 2.3; }
    @media print, screen and (min-width: 40em) {
      .reveal__vehicle {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .reveal__vehicle:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .reveal__vehicle {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        text-align: right; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .reveal__vehicle {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .reveal__vehicle:last-child:not(:first-child) {
          float: right; } }
  .reveal__vehicle-make-model {
    font-size: 1.125rem;
    line-height: 1.2; }
  .reveal__vehicle-image {
    float: left;
    margin-right: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .reveal__vehicle-image {
        float: right;
        margin-left: 0.625rem;
        margin-right: 0; } }
  .reveal--vehicle-enquiry, .reveal--email-vehicle {
    padding: 1.875rem; }
    @media print, screen and (min-width: 40em) {
      .reveal--vehicle-enquiry, .reveal--email-vehicle {
        padding: 3.125rem 1.875rem 1.875rem; } }
  .reveal--ulez .reveal__header {
    margin: 0 0 0.9375rem 0; }
  .reveal--ulez .reveal__footer {
    padding: 0.9375rem;
    color: #ffffff;
    text-align: center;
    background-color: #103b92; }

.toggler {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 16.875rem;
  background-color: #000000;
  box-shadow: 0 0 10px rgba(10, 10, 10, 0.2);
  overflow-y: scroll;
  z-index: 999; }
  .toggler::-webkit-scrollbar {
    display: none; }

.toggler-overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 998;
  background-color: rgba(0, 0, 0, 0.5); }

.block--default {
  position: relative;
  background-color: #000000; }
  .block--default .block__primary-images {
    position: relative; }
  .block--default .block__icon {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 0.375rem 0.5rem;
    background-color: #000000;
    line-height: 1; }
    .block--default .block__icon i {
      font-size: 1.5rem;
      line-height: 1; }
  .block--default .block__details {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .block--default .block__details {
        padding: 0.9375rem; } }
  .block--default .block__title {
    float: left;
    margin-bottom: 0;
    padding: 0.625rem;
    color: #ffffff;
    text-shadow: 1px 1px #000000;
    background-color: rgba(13, 13, 13, 0.5); }
  .block--default .block__description {
    float: left;
    clear: left;
    margin-bottom: 0;
    padding: 0.625rem;
    color: #ffffff;
    text-shadow: 1px 1px #000000;
    background-color: rgba(13, 13, 13, 0.5); }

.block--reviews {
  padding: 1rem;
  background-color: #0d0d0d;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .block--reviews {
      padding: 1.625rem; } }
  .block--reviews .block__primary-images {
    margin: 0.25rem;
    vertical-align: middle; }
    @media print, screen and (min-width: 40em) {
      .block--reviews .block__primary-images {
        display: inline-block;
        margin-left: 0.375rem;
        margin-right: 0.375rem; } }
  .block--reviews .block__sub-title {
    margin: 0.25rem;
    font-size: 1.375rem;
    font-weight: 600;
    vertical-align: middle; }
    @media print, screen and (min-width: 40em) {
      .block--reviews .block__sub-title {
        display: inline-block;
        margin-left: 0.375rem;
        margin-right: 0.375rem;
        font-size: 1.625rem; } }
  .block--reviews .block__description-rating {
    display: inline-block;
    position: relative;
    width: 10.0625rem;
    height: 1.6875rem;
    margin: 0.25rem;
    background-image: url("/dist/img/stars.png");
    background-repeat: repeat-x;
    background-size: 2rem 3.4375rem;
    line-height: 1.6875rem;
    overflow: hidden;
    vertical-align: middle; }
    @media print, screen and (min-width: 40em) {
      .block--reviews .block__description-rating {
        margin-left: 0.375rem;
        margin-right: 0.375rem; } }
    .block--reviews .block__description-rating-inner {
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 1.6875rem;
      background-image: url("/dist/img/stars.png");
      background-position: 0 -27px;
      background-repeat: repeat-x;
      background-size: 2rem 3.375rem;
      line-height: 1.6875rem; }
  .block--reviews .block__description {
    display: inline-block;
    margin: 0.25rem;
    font-size: 1.375rem;
    font-weight: 600;
    vertical-align: middle; }
    @media print, screen and (min-width: 40em) {
      .block--reviews .block__description {
        margin-left: 0.375rem;
        margin-right: 0.375rem;
        font-size: 1.625rem; } }
  .block--reviews .block__link {
    margin: 0.25rem;
    vertical-align: middle; }
    @media print, screen and (min-width: 40em) {
      .block--reviews .block__link {
        display: inline-block;
        margin-left: 0.375rem;
        margin-right: 0.375rem; } }
    .block--reviews .block__link a {
      margin-bottom: 0; }

.block--sidebar {
  position: relative;
  background-color: #000000; }
  .block--sidebar .block__primary-images {
    position: relative; }
  .block--sidebar .block__icon {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 0.375rem 0.5rem;
    background-color: #000000;
    line-height: 1; }
    .block--sidebar .block__icon i {
      font-size: 1.5rem;
      line-height: 1; }
  .block--sidebar .block__details {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0.625rem; }
  .block--sidebar .block__title {
    display: inline-block;
    margin-bottom: 0;
    padding: 0.625rem;
    color: #ffffff;
    text-shadow: 1px 1px #000000;
    background-color: rgba(13, 13, 13, 0.5); }

.branch--header {
  display: none;
  float: right;
  margin-top: 0.9375rem;
  margin-bottom: 0.3125rem;
  text-align: right; }
  @media print, screen and (min-width: 64em) {
    .branch--header {
      display: block; } }
  .branch--header .branch__telephone {
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1; }
  .branch--header .branch__address {
    display: inline-block; }
    .branch--header .branch__address span::after {
      content: ',';
      display: inline-block; }
    .branch--header .branch__address span:last-child::after {
      content: ''; }

.branch--vehicle-summary {
  padding: 1rem;
  font-weight: 600;
  background-color: #0d0d0d;
  text-align: center; }
  .branch--vehicle-summary .branch__address {
    display: inline-block; }
    .branch--vehicle-summary .branch__address span::after {
      content: ',';
      display: inline-block; }
    .branch--vehicle-summary .branch__address span:last-child::after {
      content: ''; }

.custom-entry--featured {
  padding-bottom: 0.625rem;
  border-bottom: 1px solid #1a1a1a; }
  .custom-entry--featured .custom-entry__title {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.2; }
  .custom-entry--featured .custom-entry__description {
    line-height: 1.2; }
    @media print, screen and (min-width: 40em) {
      .custom-entry--featured .custom-entry__description {
        line-height: 1.6; } }

.no-image {
  position: relative;
  width: 100%;
  padding-top: 75%;
  background-color: #222222; }
  .no-image__text {
    position: absolute;
    margin-top: -0.625rem;
    top: 50%;
    left: 0;
    bottom: 0;
    right: 0;
    font-size: 1.25rem;
    color: #ffffff;
    line-height: 1;
    text-align: center; }

.vehicle--recently-viewed .no-image .no-image__text {
  margin-top: -0.375rem;
  font-size: 0.75rem; }

.vehicle--full .no-image .no-image__text {
  margin-top: -0.8125rem;
  font-size: 1.625rem; }

.vehicle--similar .no-image .no-image__text {
  margin-top: -0.625rem;
  font-size: 1.25rem; }

@media print, screen and (min-width: 40em) {
  .vehicle--compare .no-image {
    height: 11.25rem;
    padding-top: 0; } }

@media screen and (max-width: 39.9375em) {
  .vehicle--teaser .no-image .no-image__text,
  .vehicle--featured .no-image .no-image__text,
  .vehicle--featured-sidebar .no-image .no-image__text,
  .vehicle--latest .no-image .no-image__text,
  .vehicle--latest-sidebar .no-image .no-image__text,
  .vehicle--similar .no-image .no-image__text {
    margin-top: -0.8125rem;
    font-size: 1.625rem; } }

.vehicle--featured-sidebar .no-image {
  padding-top: 100%; }

.primary-image {
  position: relative; }
  .primary-image__details {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .primary-image__details {
        padding: 0.9375rem; } }
  .primary-image__title {
    float: left;
    margin-bottom: 0;
    padding: 0.625rem;
    color: #ffffff;
    text-shadow: 1px 1px #000000;
    background-color: rgba(13, 13, 13, 0.5); }
    .primary-image__title a {
      color: #ffffff; }
  .primary-image__description {
    float: left;
    clear: left;
    margin-bottom: 0;
    padding: 0.625rem;
    color: #ffffff;
    text-shadow: 1px 1px #000000;
    background-color: rgba(13, 13, 13, 0.5); }

.page--home .page__primary-images {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 1.875rem; }
  .page--home .page__primary-images::before, .page--home .page__primary-images::after {
    display: table;
    content: ' '; }
  .page--home .page__primary-images::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .page--home .page__primary-images {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .page--home .page__primary-images:last-child:not(:first-child) {
    float: right; }
  .page--home .page__primary-images, .page--home .page__primary-images:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .page--home .page__primary-images {
      padding-bottom: 3.125rem; } }
  @media print, screen and (min-width: 64em) {
    .page--home .page__primary-images {
      max-width: 75rem;
      margin-right: auto;
      margin-left: auto;
      width: 100%;
      float: left;
      padding-right: 0;
      padding-left: 0;
      max-width: 90rem; }
      .page--home .page__primary-images::before, .page--home .page__primary-images::after {
        display: table;
        content: ' '; }
      .page--home .page__primary-images::after {
        clear: both; }
      .page--home .page__primary-images:last-child:not(:first-child) {
        float: right; }
      .page--home .page__primary-images, .page--home .page__primary-images:last-child {
        float: none; } }
  .page--home .page__primary-images ul {
    margin: 0;
    list-style: none; }

.page--home .page__search {
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .page--home .page__search {
      padding-bottom: 3.125rem; } }

.page--home .page__blocks {
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .page--home .page__blocks {
      max-width: 75rem;
      margin-right: auto;
      margin-left: auto;
      width: 100%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      .page--home .page__blocks::before, .page--home .page__blocks::after {
        display: table;
        content: ' '; }
      .page--home .page__blocks::after {
        clear: both; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .page--home .page__blocks {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .page--home .page__blocks:last-child:not(:first-child) {
        float: right; }
      .page--home .page__blocks, .page--home .page__blocks:last-child {
        float: none; } }
  @media print, screen and (min-width: 64em) {
    .page--home .page__blocks {
      max-width: 75rem;
      margin-right: auto;
      margin-left: auto;
      width: 100%;
      float: left;
      padding-right: 0;
      padding-left: 0;
      max-width: 90rem;
      padding-bottom: 1.875rem; }
      .page--home .page__blocks::before, .page--home .page__blocks::after {
        display: table;
        content: ' '; }
      .page--home .page__blocks::after {
        clear: both; }
      .page--home .page__blocks:last-child:not(:first-child) {
        float: right; }
      .page--home .page__blocks, .page--home .page__blocks:last-child {
        float: none; } }

.page--home .page__content {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 1.875rem; }
  .page--home .page__content::before, .page--home .page__content::after {
    display: table;
    content: ' '; }
  .page--home .page__content::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .page--home .page__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .page--home .page__content:last-child:not(:first-child) {
    float: right; }
  .page--home .page__content, .page--home .page__content:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .page--home .page__content {
      padding-bottom: 3.125rem; } }

.page--home .page__due-in-shortly {
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .page--home .page__due-in-shortly {
      padding-bottom: 3.125rem; } }

.page--home .page__title,
.page--home .page__sub-title {
  text-align: left; }
  @media print, screen and (min-width: 40em) {
    .page--home .page__title,
    .page--home .page__sub-title {
      text-align: center; } }

.page--home .page__description {
  text-align: left; }
  @media screen and (max-width: 39.9375em) {
    .page--home .page__description {
      position: relative;
      overflow: hidden; } }
  @media print, screen and (min-width: 40em) {
    .page--home .page__description {
      text-align: center; } }
  .page--home .page__description a:not(.button) {
    text-decoration: underline; }
    .page--home .page__description a:not(.button):hover {
      text-decoration: none; }
  .page--home .page__description p:last-child {
    margin-bottom: 0; }
  .page--home .page__description .expand {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6.25rem;
    padding-top: 4.6875rem;
    background: linear-gradient(to top, black 0%, black 25%, rgba(0, 0, 0, 0) 100%); }

.page--home .page__reviews {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 1.875rem; }
  .page--home .page__reviews::before, .page--home .page__reviews::after {
    display: table;
    content: ' '; }
  .page--home .page__reviews::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .page--home .page__reviews {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .page--home .page__reviews:last-child:not(:first-child) {
    float: right; }
  .page--home .page__reviews, .page--home .page__reviews:last-child {
    float: none; }
  @media print, screen and (min-width: 64em) {
    .page--home .page__reviews {
      padding-bottom: 3.125rem; } }

.page--home .page__featured-vehicles {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 1.875rem; }
  .page--home .page__featured-vehicles::before, .page--home .page__featured-vehicles::after {
    display: table;
    content: ' '; }
  .page--home .page__featured-vehicles::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .page--home .page__featured-vehicles {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .page--home .page__featured-vehicles:last-child:not(:first-child) {
    float: right; }
  .page--home .page__featured-vehicles, .page--home .page__featured-vehicles:last-child {
    float: none; }
  @media print, screen and (min-width: 64em) {
    .page--home .page__featured-vehicles {
      max-width: 75rem;
      margin-right: auto;
      margin-left: auto;
      width: 100%;
      float: left;
      padding-right: 0;
      padding-left: 0;
      max-width: 90rem;
      padding-bottom: 3.125rem; }
      .page--home .page__featured-vehicles::before, .page--home .page__featured-vehicles::after {
        display: table;
        content: ' '; }
      .page--home .page__featured-vehicles::after {
        clear: both; }
      .page--home .page__featured-vehicles:last-child:not(:first-child) {
        float: right; }
      .page--home .page__featured-vehicles, .page--home .page__featured-vehicles:last-child {
        float: none; } }

.search {
  margin-bottom: 1.25rem; }
  .search__header {
    display: inline-block;
    width: 100%;
    position: relative;
    padding: 0.9375rem 0.9375rem 0.625rem;
    background-color: #905dad;
    vertical-align: top; }
    .search__header legend {
      float: left;
      margin-top: 0.3125rem;
      margin-bottom: 0.5625rem;
      color: #ffffff;
      font-size: 1.25rem;
      font-weight: 600;
      line-height: 1; }
    .search__header .button {
      float: right; }
  .search .search__form {
    padding: 0.9375rem;
    background-color: #0d0d0d; }
  .search .help-block {
    margin-bottom: 0.625rem; }
  .search label.control-label {
    font-weight: 600; }
  .search select {
    font-size: 0.9375rem;
    font-weight: 400; }
  .search .form-group div label {
    display: block;
    position: relative;
    padding: 0.25rem 0.5rem;
    color: #000000;
    font-size: 0.9375rem;
    background-color: #ffffff;
    border-right: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
    border-left: 1px solid #e6e6e6;
    cursor: pointer; }
    .search .form-group div label .label-count {
      margin-left: 0.1875rem;
      color: #999999; }
    .search .form-group div label input {
      margin-bottom: 0; }
  .search .form-group div:not(.help-block):not(#price_type) {
    border-top: 1px solid #e6e6e6; }
  .search .form-group div#colours label::after {
    content: "";
    position: absolute;
    top: 0.625rem;
    right: 0.5rem;
    display: block;
    height: 1rem;
    width: 1rem;
    border-radius: 50%; }
  .search .form-group div#colours label[for=colours-white]::after {
    border: 1px solid #e6e6e6; }
  .search .search__price {
    display: inline-block;
    width: 100%;
    vertical-align: top; }
    .search .search__price .field-price_type {
      float: left;
      width: 100%;
      margin-bottom: 0.375rem; }
      .search .search__price .field-price_type label {
        float: left;
        width: 50%;
        padding: 0;
        border: none; }
        .search .search__price .field-price_type label .label-value {
          display: block;
          padding: 0.1875rem 0;
          color: #000000;
          font-size: 0.9375rem;
          background-color: #ffffff;
          text-align: center;
          border: 1px solid #e6e6e6; }
      .search .search__price .field-price_type label:last-child {
        border-bottom: none; }
      .search .search__price .field-price_type input {
        display: none; }
      .search .search__price .field-price_type input:checked + .label-value {
        color: #ffffff;
        background-color: #222222;
        border: 1px solid transparent; }
        .search .search__price .field-price_type input:checked + .label-value::after {
          position: absolute;
          top: 100%;
          left: 50%;
          margin-left: -0.3125rem;
          content: '';
          display: block;
          width: 0;
          height: 0;
          -moz-transform: scale(0.9999);
          border-left: 5px solid transparent;
          border-right: 5px solid transparent;
          border-top: 5px solid #222222; }
    .search .search__price .field-price_min,
    .search .search__price .field-price_monthly_min {
      float: left;
      width: 50%;
      padding-right: 0.1875rem; }
    .search .search__price .field-price_max,
    .search .search__price .field-price_monthly_max {
      float: left;
      width: 50%;
      padding-left: 0.1875rem; }
  .search .show-more {
    display: block;
    width: 100%;
    padding-top: 0.25rem;
    font-size: 0.9375rem;
    line-height: 1;
    text-align: center;
    cursor: pointer; }
  .search .field-submit {
    margin-bottom: 0; }

.page--home .search {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-bottom: 0; }
  .page--home .search::before, .page--home .search::after {
    display: table;
    content: ' '; }
  .page--home .search::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .page--home .search {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .page--home .search:last-child:not(:first-child) {
    float: right; }
  .page--home .search, .page--home .search:last-child {
    float: none; }
  .page--home .search .search__header {
    display: none; }
  .page--home .search .search__form {
    padding: 0;
    background: none; }
    @media print, screen and (min-width: 64em) {
      .page--home .search .search__form {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 40em) {
    .page--home .search .help-block {
      margin-bottom: 0; } }
  .page--home .search label.control-label {
    display: none; }
  .page--home .search select {
    height: 3.125rem; }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .page--home .search select {
        border-right: none; } }
  @media print, screen and (min-width: 40em) {
    .page--home .search .field-make_slug,
    .page--home .search .field-model_slug,
    .page--home .search .field-submit {
      float: left;
      width: 20%; } }
  @media print, screen and (min-width: 64em) {
    .page--home .search .field-make_slug,
    .page--home .search .field-model_slug,
    .page--home .search .field-submit {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
    .page--home .search .search__price {
      float: left;
      width: 40%;
      margin-right: 0;
      margin-left: 0; } }
  @media print, screen and (min-width: 64em) {
    .page--home .search .search__price {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .page--home .search .search__price .field-price_type {
    margin-bottom: 0.5rem; }
    @media print, screen and (min-width: 40em) {
      .page--home .search .search__price .field-price_type {
        padding-right: 0;
        padding-left: 0; } }
  @media print, screen and (min-width: 40em) {
    .page--home .search .search__price .field-price_min,
    .page--home .search .search__price .field-price_monthly_min {
      margin-bottom: 0;
      padding-left: 0;
      padding-right: 0; } }
  @media print, screen and (min-width: 64em) {
    .page--home .search .search__price .field-price_min,
    .page--home .search .search__price .field-price_monthly_min {
      padding-right: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
    .page--home .search .search__price .field-price_max,
    .page--home .search .search__price .field-price_monthly_max {
      margin-bottom: 0;
      padding-left: 0;
      padding-right: 0; } }
  @media print, screen and (min-width: 64em) {
    .page--home .search .search__price .field-price_max,
    .page--home .search .search__price .field-price_monthly_max {
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
    .page--home .search--finance .field-make_slug,
    .page--home .search--finance .field-model_slug,
    .page--home .search--finance .field-submit {
      margin-top: 2.6875rem; } }

.toggler .search {
  margin-bottom: 0; }
  .toggler .search .search__header {
    padding-top: 3.125rem; }

.sensi-spinner-overlay {
  background-color: rgba(13, 13, 13, 0.75); }

.sk-spinner-three-bounce div {
  background-color: #905dad; }

.price__total {
  font-size: 1.5rem;
  line-height: 1; }

.price__sold {
  font-weight: 600;
  line-height: 1; }

.price--teaser > div:nth-child(1) {
  font-size: 1.5rem; }

.price--teaser > div:nth-child(2) {
  font-size: 1.125rem; }

.price--full .price__total,
.price--full .price__sold {
  font-size: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .price--full .price__total,
    .price--full .price__sold {
      font-size: 2.125rem; } }

.price--full .price__monthly {
  font-size: 1.5rem; }

.price--compare .price__total,
.price--compare .price__sold {
  font-size: 100%;
  line-height: inherit; }

.price--recently-viewed .price__total,
.price--recently-viewed .price__sold {
  font-size: 1.125rem;
  line-height: 1; }

.price--featured .price__total,
.price--featured .price__sold, .price--similar .price__total,
.price--similar .price__sold {
  margin-bottom: 0;
  color: #ffffff;
  text-shadow: 1px 1px #000000; }

.price-combined__value {
  display: inline-block;
  font-weight: 600; }

.price-combined__vat {
  display: inline-block;
  margin-left: 0.25rem;
  font-size: 65%; }

.price-combined__was {
  display: inline-block;
  margin-left: 0.25rem;
  font-weight: 600; }
  .price-combined__was-label {
    font-size: 65%; }
  .price-combined__was-value {
    font-size: 75%; }

.vehicle--featured-sidebar {
  position: relative; }
  .vehicle--featured-sidebar .vehicle__primary-images {
    position: relative; }
  .vehicle--featured-sidebar .vehicle__menu {
    position: absolute;
    top: 0;
    right: 0; }
  .vehicle--featured-sidebar .vehicle__details {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0.625rem; }
  .vehicle--featured-sidebar .vehicle__title {
    float: left;
    margin-bottom: 0;
    padding: 0.625rem;
    color: #ffffff;
    text-shadow: 1px 1px #000000;
    background-color: rgba(13, 13, 13, 0.5); }
    .vehicle--featured-sidebar .vehicle__title a {
      color: #ffffff; }
  .vehicle--featured-sidebar .vehicle__price {
    float: left;
    clear: left;
    padding: 0.625rem;
    background-color: rgba(13, 13, 13, 0.5); }

.vehicle--featured {
  position: relative; }
  .vehicle--featured .vehicle__primary-images {
    position: relative; }
  .vehicle--featured .vehicle__menu {
    position: absolute;
    top: 0;
    right: 0; }
  .vehicle--featured .vehicle__details {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .vehicle--featured .vehicle__details {
        padding: 0.9375rem; } }
  .vehicle--featured .vehicle__title {
    float: left;
    margin-bottom: 0;
    padding: 0.625rem;
    color: #ffffff;
    text-shadow: 1px 1px #000000;
    background-color: rgba(13, 13, 13, 0.5); }
    .vehicle--featured .vehicle__title a {
      color: #ffffff; }
  .vehicle--featured .vehicle__price {
    float: left;
    clear: left;
    padding: 0.625rem;
    background-color: rgba(13, 13, 13, 0.5); }

.vehicle--full .vehicle__top {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__top {
      padding-top: 0;
      padding-bottom: 3.125rem; } }
  .vehicle--full .vehicle__top-inner {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto; }
    .vehicle--full .vehicle__top-inner::before, .vehicle--full .vehicle__top-inner::after {
      display: table;
      content: ' '; }
    .vehicle--full .vehicle__top-inner::after {
      clear: both; }
  .vehicle--full .vehicle__top .vehicle__promo-text {
    display: block;
    position: inherit;
    top: inherit;
    left: inherit;
    margin-bottom: 0.625rem; }
  .vehicle--full .vehicle__top .vehicle__details {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__top .vehicle__details {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .vehicle--full .vehicle__top .vehicle__details:last-child:not(:first-child) {
      float: right; }
    @media screen and (min-width: 48em) {
      .vehicle--full .vehicle__top .vehicle__details {
        width: 41.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 40em) {
    .vehicle--full .vehicle__top .vehicle__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media screen and (min-width: 48em) {
        .vehicle--full .vehicle__top .vehicle__details:last-child:not(:first-child) {
          float: right; } }
    @media print, screen and (min-width: 64em) {
      .vehicle--full .vehicle__top .vehicle__details {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .vehicle--full .vehicle__top .vehicle__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .vehicle--full .vehicle__top .vehicle__details:last-child:not(:first-child) {
          float: right; } }
    .vehicle--full .vehicle__top .vehicle__details .vehicle__details-inner {
      padding: 0.625rem;
      background-color: #0d0d0d; }
      @media print, screen and (min-width: 40em) {
        .vehicle--full .vehicle__top .vehicle__details .vehicle__details-inner {
          padding: 0.9375rem; } }
      .vehicle--full .vehicle__top .vehicle__details .vehicle__details-inner .vehicle__title {
        margin-bottom: 0.9375rem;
        line-height: 1; }
        .vehicle--full .vehicle__top .vehicle__details .vehicle__details-inner .vehicle__title .vehicle__model-variant {
          display: block;
          font-size: 1.5rem;
          font-weight: 400; }
      .vehicle--full .vehicle__top .vehicle__details .vehicle__details-inner .vehicle__price {
        margin-bottom: 0.9375rem;
        padding-top: 0.9375rem;
        border-top: 1px solid #1a1a1a; }
      .vehicle--full .vehicle__top .vehicle__details .vehicle__details-inner .vehicle__telephone {
        margin-bottom: 0.9375rem;
        font-size: 1rem;
        text-align: center;
        line-height: 1.5rem; }
        .vehicle--full .vehicle__top .vehicle__details .vehicle__details-inner .vehicle__telephone span {
          display: block;
          font-size: 1.625rem;
          font-weight: 600; }
      .vehicle--full .vehicle__top .vehicle__details .vehicle__details-inner .vehicle__cta {
        padding: 0.625rem 1.25rem;
        background-color: #000000; }

.vehicle--full .vehicle__back {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__back {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__back:last-child:not(:first-child) {
    float: right; }
  .vehicle--full .vehicle__back a {
    display: block;
    margin-bottom: 0.375rem; }
    .vehicle--full .vehicle__back a i {
      font-size: 0.75rem; }
    .vehicle--full .vehicle__back a span {
      line-height: 1;
      vertical-align: middle; }

.vehicle--full .vehicle__media {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__media {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__media:last-child:not(:first-child) {
    float: right; }
  @media screen and (min-width: 48em) {
    .vehicle--full .vehicle__media {
      width: 58.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media screen and (min-width: 48em) and (min-width: 40em) {
    .vehicle--full .vehicle__media {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media screen and (min-width: 48em) {
      .vehicle--full .vehicle__media:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 64em) {
    .vehicle--full .vehicle__media {
      width: 66.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .vehicle--full .vehicle__media {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .vehicle--full .vehicle__media:last-child:not(:first-child) {
        float: right; } }

.vehicle--full .vehicle__primary-images ul {
  margin: 0;
  list-style: none; }

.vehicle--full .vehicle__primary-images-thumbnails {
  display: none;
  margin-top: 0.125rem; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__primary-images-thumbnails {
      display: block; } }
  .vehicle--full .vehicle__primary-images-thumbnails ul {
    margin: 0;
    list-style: none; }

.vehicle--full .vehicle__part-exchange {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-top: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__part-exchange {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__part-exchange:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .vehicle--full .vehicle__part-exchange {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .vehicle--full .vehicle__part-exchange {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .vehicle--full .vehicle__part-exchange:last-child:not(:first-child) {
        float: right; } }

.vehicle--full > .vehicle__technical-data-promoted {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 1.875rem; }
  .vehicle--full > .vehicle__technical-data-promoted::before, .vehicle--full > .vehicle__technical-data-promoted::after {
    display: table;
    content: ' '; }
  .vehicle--full > .vehicle__technical-data-promoted::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full > .vehicle__technical-data-promoted {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full > .vehicle__technical-data-promoted:last-child:not(:first-child) {
    float: right; }
  .vehicle--full > .vehicle__technical-data-promoted, .vehicle--full > .vehicle__technical-data-promoted:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full > .vehicle__technical-data-promoted {
      padding-bottom: 3.125rem; } }
  .vehicle--full > .vehicle__technical-data-promoted > ul {
    margin-bottom: 0;
    list-style: none; }
    @media screen and (max-width: 39.9375em) {
      .vehicle--full > .vehicle__technical-data-promoted > ul {
        margin-right: -0.625rem;
        margin-left: -0.625rem; } }
  @media screen and (max-width: 39.9375em) and (min-width: 40em) {
    .vehicle--full > .vehicle__technical-data-promoted > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media screen and (max-width: 39.9375em) and (min-width: 64em) {
    .vehicle--full > .vehicle__technical-data-promoted > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
    @media screen and (max-width: 39.9375em) {
        .vehicle--full > .vehicle__technical-data-promoted > ul::before, .vehicle--full > .vehicle__technical-data-promoted > ul::after {
          display: table;
          content: ' '; }
        .vehicle--full > .vehicle__technical-data-promoted > ul::after {
          clear: both; }
        .vehicle--full > .vehicle__technical-data-promoted > ul > li {
          float: left;
          width: 100%; }
          .vehicle--full > .vehicle__technical-data-promoted > ul > li:nth-of-type(1n) {
            clear: none; }
          .vehicle--full > .vehicle__technical-data-promoted > ul > li:nth-of-type(1n+1) {
            clear: both; }
          .vehicle--full > .vehicle__technical-data-promoted > ul > li:last-child {
            float: left; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .vehicle--full > .vehicle__technical-data-promoted > ul {
        margin-right: -0.625rem;
        margin-left: -0.625rem; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) and (min-width: 40em) {
    .vehicle--full > .vehicle__technical-data-promoted > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) and (min-width: 64em) {
    .vehicle--full > .vehicle__technical-data-promoted > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        .vehicle--full > .vehicle__technical-data-promoted > ul::before, .vehicle--full > .vehicle__technical-data-promoted > ul::after {
          display: table;
          content: ' '; }
        .vehicle--full > .vehicle__technical-data-promoted > ul::after {
          clear: both; }
        .vehicle--full > .vehicle__technical-data-promoted > ul > li {
          float: left;
          width: 50%; }
          .vehicle--full > .vehicle__technical-data-promoted > ul > li:nth-of-type(1n) {
            clear: none; }
          .vehicle--full > .vehicle__technical-data-promoted > ul > li:nth-of-type(2n+1) {
            clear: both; }
          .vehicle--full > .vehicle__technical-data-promoted > ul > li:last-child {
            float: left; } }
    @media print, screen and (min-width: 64em) {
      .vehicle--full > .vehicle__technical-data-promoted > ul {
        margin: 0;
        list-style-type: none;
        display: table;
        width: 100%;
        table-layout: fixed; }
        .vehicle--full > .vehicle__technical-data-promoted > ul > li {
          display: table-cell;
          vertical-align: middle; }
          [data-whatinput='mouse'] .vehicle--full > .vehicle__technical-data-promoted > ul > li {
            outline: 0; }
        .vehicle--full > .vehicle__technical-data-promoted > ul > li > a {
          display: block;
          padding: 0.7rem 1rem;
          line-height: 1; }
        .vehicle--full > .vehicle__technical-data-promoted > ul input,
        .vehicle--full > .vehicle__technical-data-promoted > ul select,
        .vehicle--full > .vehicle__technical-data-promoted > ul a,
        .vehicle--full > .vehicle__technical-data-promoted > ul button {
          margin-bottom: 0; }
        .vehicle--full > .vehicle__technical-data-promoted > ul > li:first-child:last-child {
          width: 100%; } }
    .vehicle--full > .vehicle__technical-data-promoted > ul > li {
      padding: 0 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .vehicle--full > .vehicle__technical-data-promoted > ul > li {
          padding: 0 0.9375rem; } }
      @media print, screen and (min-width: 64em) {
        .vehicle--full > .vehicle__technical-data-promoted > ul > li {
          vertical-align: top; } }

.vehicle--full .vehicle__technical-data-summary {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 1.875rem; }
  .vehicle--full .vehicle__technical-data-summary::before, .vehicle--full .vehicle__technical-data-summary::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle__technical-data-summary::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__technical-data-summary {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__technical-data-summary:last-child:not(:first-child) {
    float: right; }
  .vehicle--full .vehicle__technical-data-summary, .vehicle--full .vehicle__technical-data-summary:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__technical-data-summary {
      padding-bottom: 3.125rem; } }
  .vehicle--full .vehicle__technical-data-summary > ul {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    margin-bottom: 0;
    list-style: none; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__technical-data-summary > ul {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .vehicle--full .vehicle__technical-data-summary > ul {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .vehicle--full .vehicle__technical-data-summary > ul::before, .vehicle--full .vehicle__technical-data-summary > ul::after {
      display: table;
      content: ' '; }
    .vehicle--full .vehicle__technical-data-summary > ul::after {
      clear: both; }
    .vehicle--full .vehicle__technical-data-summary > ul > li {
      float: left;
      width: 100%; }
      .vehicle--full .vehicle__technical-data-summary > ul > li:nth-of-type(1n) {
        clear: none; }
      .vehicle--full .vehicle__technical-data-summary > ul > li:nth-of-type(1n+1) {
        clear: both; }
      .vehicle--full .vehicle__technical-data-summary > ul > li:last-child {
        float: left; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__technical-data-summary > ul > li {
        float: left;
        width: 50%; }
        .vehicle--full .vehicle__technical-data-summary > ul > li:nth-of-type(1n) {
          clear: none; }
        .vehicle--full .vehicle__technical-data-summary > ul > li:nth-of-type(2n+1) {
          clear: both; }
        .vehicle--full .vehicle__technical-data-summary > ul > li:last-child {
          float: left; } }
    @media print, screen and (min-width: 64em) {
      .vehicle--full .vehicle__technical-data-summary > ul > li {
        float: left;
        width: 33.33333%; }
        .vehicle--full .vehicle__technical-data-summary > ul > li:nth-of-type(1n) {
          clear: none; }
        .vehicle--full .vehicle__technical-data-summary > ul > li:nth-of-type(3n+1) {
          clear: both; }
        .vehicle--full .vehicle__technical-data-summary > ul > li:last-child {
          float: left; } }
    .vehicle--full .vehicle__technical-data-summary > ul > li {
      padding: 0 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .vehicle--full .vehicle__technical-data-summary > ul > li {
          padding: 0 0.9375rem 0.25rem; } }
      @media print, screen and (min-width: 40em) {
        .vehicle--full .vehicle__technical-data-summary > ul > li:nth-child(3n) {
          border-right: none; } }

.vehicle--full .vehicle__ulez {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 1.875rem; }
  .vehicle--full .vehicle__ulez::before, .vehicle--full .vehicle__ulez::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle__ulez::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__ulez {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__ulez:last-child:not(:first-child) {
    float: right; }
  .vehicle--full .vehicle__ulez, .vehicle--full .vehicle__ulez:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__ulez {
      padding-bottom: 3.125rem; } }
  .vehicle--full .vehicle__ulez-inner {
    padding: 0.625rem;
    color: #ffffff;
    background-color: #0d0d0d;
    text-align: center; }
  .vehicle--full .vehicle__ulez span {
    display: block;
    margin-bottom: 0.625rem;
    font-size: 1.25rem;
    line-height: 1.3;
    vertical-align: middle; }
    @media print, screen and (min-width: 64em) {
      .vehicle--full .vehicle__ulez span {
        display: inline-block;
        margin-right: 0.625rem;
        margin-bottom: 0; } }
  .vehicle--full .vehicle__ulez strong {
    font-weight: 700; }
  .vehicle--full .vehicle__ulez a {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    padding: 0.75rem 0.875rem;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 0;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #905dad;
    color: #ffffff;
    margin-bottom: 0;
    padding: 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 0.1875rem; }
    [data-whatinput='mouse'] .vehicle--full .vehicle__ulez a {
      outline: 0; }
    .vehicle--full .vehicle__ulez a:hover, .vehicle--full .vehicle__ulez a:focus {
      background-color: #7b4c96;
      color: #ffffff; }

.vehicle--full .vehicle__description {
  line-height: 1.8; }
  @media screen and (max-width: 39.9375em) {
    .vehicle--full .vehicle__description {
      position: relative;
      overflow: hidden; } }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__description {
      text-align: center; } }
  .vehicle--full .vehicle__description .expand {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6.25rem;
    padding-top: 4.6875rem;
    background: linear-gradient(to top, black 0%, black 25%, rgba(0, 0, 0, 0) 100%); }
  .vehicle--full .vehicle__description-outer {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    padding-bottom: 1.875rem; }
    .vehicle--full .vehicle__description-outer::before, .vehicle--full .vehicle__description-outer::after {
      display: table;
      content: ' '; }
    .vehicle--full .vehicle__description-outer::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__description-outer {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .vehicle--full .vehicle__description-outer:last-child:not(:first-child) {
      float: right; }
    .vehicle--full .vehicle__description-outer, .vehicle--full .vehicle__description-outer:last-child {
      float: none; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__description-outer {
        padding-bottom: 3.125rem; } }

.vehicle--full .vehicle__includes {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 1.875rem; }
  .vehicle--full .vehicle__includes::before, .vehicle--full .vehicle__includes::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle__includes::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__includes {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__includes:last-child:not(:first-child) {
    float: right; }
  .vehicle--full .vehicle__includes, .vehicle--full .vehicle__includes:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__includes {
      padding-bottom: 3.125rem;
      text-align: center; } }
  .vehicle--full .vehicle__includes ul {
    margin: 0 0 0.625rem 0; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__includes ul {
        font-size: 1.125rem; } }
    .vehicle--full .vehicle__includes ul li {
      margin-right: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .vehicle--full .vehicle__includes ul li {
          display: inline-block; } }
      .vehicle--full .vehicle__includes ul li::before {
        display: inline-block;
        margin-right: 0.1875rem;
        font-weight: bold;
        font-style: normal;
        font-size: 1.25rem;
        line-height: 1;
        letter-spacing: normal;
        text-transform: none;
        display: inline-block;
        white-space: nowrap;
        word-wrap: normal;
        direction: ltr;
        -webkit-font-feature-settings: 'liga';
        -webkit-font-smoothing: antialiased;
        vertical-align: middle;
        font-family: 'Material Icons';
        content: '\e5ca'; }

.vehicle--full .vehicle__reviews {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  .vehicle--full .vehicle__reviews::before, .vehicle--full .vehicle__reviews::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle__reviews::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__reviews {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__reviews:last-child:not(:first-child) {
    float: right; }
  .vehicle--full .vehicle__reviews, .vehicle--full .vehicle__reviews:last-child {
    float: none; }

.vehicle--full .vehicle__branch-summary {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-bottom: 1.875rem; }
  .vehicle--full .vehicle__branch-summary::before, .vehicle--full .vehicle__branch-summary::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle__branch-summary::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__branch-summary {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__branch-summary:last-child:not(:first-child) {
    float: right; }
  .vehicle--full .vehicle__branch-summary, .vehicle--full .vehicle__branch-summary:last-child {
    float: none; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__branch-summary {
      padding-bottom: 3.125rem; } }

.vehicle--full .vehicle__secondary-images {
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__secondary-images {
      padding-bottom: 3.125rem; } }
  .vehicle--full .vehicle__secondary-images-inner {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    .vehicle--full .vehicle__secondary-images-inner::before, .vehicle--full .vehicle__secondary-images-inner::after {
      display: table;
      content: ' '; }
    .vehicle--full .vehicle__secondary-images-inner::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__secondary-images-inner {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .vehicle--full .vehicle__secondary-images-inner:last-child:not(:first-child) {
      float: right; }
    .vehicle--full .vehicle__secondary-images-inner, .vehicle--full .vehicle__secondary-images-inner:last-child {
      float: none; }
  .vehicle--full .vehicle__secondary-images ul {
    list-style: none;
    padding: 0;
    margin: 0; }
    .vehicle--full .vehicle__secondary-images ul li {
      width: 100%;
      height: auto; }
      @media print, screen and (min-width: 40em) {
        .vehicle--full .vehicle__secondary-images ul li {
          width: 50%; } }
      @media print, screen and (min-width: 64em) {
        .vehicle--full .vehicle__secondary-images ul li {
          width: 33.33%; } }

.vehicle--full .vehicle__middle {
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__middle {
      padding-bottom: 3.125rem; } }
  .vehicle--full .vehicle__middle-inner {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    .vehicle--full .vehicle__middle-inner::before, .vehicle--full .vehicle__middle-inner::after {
      display: table;
      content: ' '; }
    .vehicle--full .vehicle__middle-inner::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__middle-inner {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .vehicle--full .vehicle__middle-inner:last-child:not(:first-child) {
      float: right; }
    .vehicle--full .vehicle__middle-inner, .vehicle--full .vehicle__middle-inner:last-child {
      float: none; }

.vehicle--full .vehicle__content {
  background-color: #0d0d0d; }
  @media print, screen and (min-width: 64em) {
    .vehicle--full .vehicle__content {
      padding: 1.25rem; } }

.vehicle--full .vehicle__specification > ul {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__specification > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .vehicle--full .vehicle__specification > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .vehicle--full .vehicle__specification > ul::before, .vehicle--full .vehicle__specification > ul::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle__specification > ul::after {
    clear: both; }
  .vehicle--full .vehicle__specification > ul > li {
    float: left;
    width: 100%; }
    .vehicle--full .vehicle__specification > ul > li:nth-of-type(1n) {
      clear: none; }
    .vehicle--full .vehicle__specification > ul > li:nth-of-type(1n+1) {
      clear: both; }
    .vehicle--full .vehicle__specification > ul > li:last-child {
      float: left; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__specification > ul > li {
      float: left;
      width: 33.33333%; }
      .vehicle--full .vehicle__specification > ul > li:nth-of-type(1n) {
        clear: none; }
      .vehicle--full .vehicle__specification > ul > li:nth-of-type(3n+1) {
        clear: both; }
      .vehicle--full .vehicle__specification > ul > li:last-child {
        float: left; } }
  .vehicle--full .vehicle__specification > ul > li {
    padding: 0.625rem 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__specification > ul > li {
        padding: 0.625rem 0.9375rem; } }
    .vehicle--full .vehicle__specification > ul > li .specification {
      display: inline; }
      .vehicle--full .vehicle__specification > ul > li .specification__value {
        display: inline; }
    .vehicle--full .vehicle__specification > ul > li ul {
      margin-left: 0;
      color: #999999;
      list-style: square;
      list-style-position: inside; }

.vehicle--full .vehicle__specification-button {
  text-align: center; }
  .vehicle--full .vehicle__specification-button .button {
    display: none; }

.vehicle--full .vehicle__technical-data > ul {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__technical-data > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .vehicle--full .vehicle__technical-data > ul {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .vehicle--full .vehicle__technical-data > ul::before, .vehicle--full .vehicle__technical-data > ul::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle__technical-data > ul::after {
    clear: both; }
  .vehicle--full .vehicle__technical-data > ul > li {
    float: left;
    width: 100%; }
    .vehicle--full .vehicle__technical-data > ul > li:nth-of-type(1n) {
      clear: none; }
    .vehicle--full .vehicle__technical-data > ul > li:nth-of-type(1n+1) {
      clear: both; }
    .vehicle--full .vehicle__technical-data > ul > li:last-child {
      float: left; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__technical-data > ul > li {
      float: left;
      width: 33.33333%; }
      .vehicle--full .vehicle__technical-data > ul > li:nth-of-type(1n) {
        clear: none; }
      .vehicle--full .vehicle__technical-data > ul > li:nth-of-type(3n+1) {
        clear: both; }
      .vehicle--full .vehicle__technical-data > ul > li:last-child {
        float: left; } }
  .vehicle--full .vehicle__technical-data > ul > li {
    padding: 0.625rem 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .vehicle--full .vehicle__technical-data > ul > li {
        padding: 0.625rem 0.9375rem; } }
    .vehicle--full .vehicle__technical-data > ul > li .technical-data__label {
      display: inline-block; }
      .vehicle--full .vehicle__technical-data > ul > li .technical-data__label::after {
        content: ':'; }
    .vehicle--full .vehicle__technical-data > ul > li .technical-data__value {
      display: inline-block;
      float: right;
      font-weight: 600; }
    .vehicle--full .vehicle__technical-data > ul > li ul {
      margin-left: 0;
      list-style: none; }

.vehicle--full .vehicle__documents ul {
  margin-left: 0;
  list-style: none; }
  .vehicle--full .vehicle__documents ul li {
    display: inline-block;
    margin-right: 0.25rem; }

.vehicle--full .vehicle__bottom {
  position: fixed;
  bottom: 0;
  width: 100%;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  background-color: rgba(0, 0, 0, 0.9);
  z-index: 10; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__bottom {
      display: none; } }

.vehicle--full .vehicle__bottom-inner {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .vehicle--full .vehicle__bottom-inner::before, .vehicle--full .vehicle__bottom-inner::after {
    display: table;
    content: ' '; }
  .vehicle--full .vehicle__bottom-inner::after {
    clear: both; }

.vehicle--full .vehicle__bottom-telephone {
  width: 50%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  line-height: 1; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__bottom-telephone {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__bottom-telephone:last-child:not(:first-child) {
    float: right; }
  .vehicle--full .vehicle__bottom-telephone span {
    display: block;
    font-size: 1.25rem;
    font-weight: 600; }

.vehicle--full .vehicle__bottom-cta {
  width: 50%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .vehicle--full .vehicle__bottom-cta {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .vehicle--full .vehicle__bottom-cta:last-child:not(:first-child) {
    float: right; }
  .vehicle--full .vehicle__bottom-cta .button {
    width: 100%;
    margin: 0;
    padding: 0.5625rem 0;
    font-size: 1rem; }

.vehicle--similar {
  position: relative; }
  .vehicle--similar .vehicle__primary-images {
    position: relative; }
  .vehicle--similar .vehicle__menu {
    position: absolute;
    top: 0;
    right: 0; }
  .vehicle--similar .vehicle__details {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .vehicle--similar .vehicle__details {
        padding: 0.9375rem; } }
  .vehicle--similar .vehicle__title {
    float: left;
    margin-bottom: 0;
    padding: 0.625rem;
    color: #ffffff;
    text-shadow: 1px 1px #000000;
    background-color: rgba(13, 13, 13, 0.5); }
    .vehicle--similar .vehicle__title a {
      color: #ffffff; }
  .vehicle--similar .vehicle__price {
    float: left;
    clear: left;
    padding: 0.625rem;
    background-color: rgba(13, 13, 13, 0.5); }

.vehicle--teaser {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid #1a1a1a; }
  .vehicle--teaser::before, .vehicle--teaser::after {
    display: table;
    content: ' '; }
  .vehicle--teaser::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .vehicle--teaser {
      padding-bottom: 0.9375rem; } }
  .vehicle--teaser .vehicle__primary-images {
    width: 100%;
    float: left;
    padding-right: 0;
    padding-left: 0;
    position: relative; }
    .vehicle--teaser .vehicle__primary-images:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .vehicle--teaser .vehicle__primary-images {
        width: 33.33333%;
        float: left;
        padding-right: 0;
        padding-left: 0; }
        .vehicle--teaser .vehicle__primary-images:last-child:not(:first-child) {
          float: right; } }
  .vehicle--teaser .vehicle__menu {
    position: absolute;
    top: 0;
    right: 0; }
  .vehicle--teaser .vehicle__details {
    width: 100%;
    float: left;
    padding-right: 0;
    padding-left: 0; }
    .vehicle--teaser .vehicle__details:last-child:not(:first-child) {
      float: right; }
    @media screen and (max-width: 39.9375em) {
      .vehicle--teaser .vehicle__details {
        padding-top: 0.625rem;
        padding-bottom: 0.625rem; } }
    @media print, screen and (min-width: 40em) {
      .vehicle--teaser .vehicle__details {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        padding-right: 0 !important; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .vehicle--teaser .vehicle__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .vehicle--teaser .vehicle__details:last-child:not(:first-child) {
          float: right; } }
  .vehicle--teaser .vehicle__header {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .vehicle--teaser .vehicle__header {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .vehicle--teaser .vehicle__header {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .vehicle--teaser .vehicle__header::before, .vehicle--teaser .vehicle__header::after {
      display: table;
      content: ' '; }
    .vehicle--teaser .vehicle__header::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .vehicle--teaser .vehicle__header {
        min-height: 4.375rem;
        margin-bottom: 0; } }
    @media print, screen and (min-width: 64em) {
      .vehicle--teaser .vehicle__header {
        min-height: 5rem; } }
  .vehicle--teaser .vehicle__title {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.375rem;
    font-size: 1.5rem;
    line-height: 1; }
    @media print, screen and (min-width: 40em) {
      .vehicle--teaser .vehicle__title {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .vehicle--teaser .vehicle__title:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .vehicle--teaser .vehicle__title {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-bottom: 0; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .vehicle--teaser .vehicle__title {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .vehicle--teaser .vehicle__title:last-child:not(:first-child) {
          float: right; } }
    .vehicle--teaser .vehicle__title .vehicle__make,
    .vehicle--teaser .vehicle__title .vehicle__model {
      font-size: 1.5rem;
      line-height: 1; }
    .vehicle--teaser .vehicle__title .vehicle__model-variant {
      display: block;
      font-size: 1.125rem;
      font-weight: 400;
      line-height: 1; }
  .vehicle--teaser .vehicle__price {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .vehicle--teaser .vehicle__price {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .vehicle--teaser .vehicle__price:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .vehicle--teaser .vehicle__price {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        text-align: right; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .vehicle--teaser .vehicle__price {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .vehicle--teaser .vehicle__price:last-child:not(:first-child) {
          float: right; } }
  @media print, screen and (min-width: 40em) {
    .vehicle--teaser .vehicle__technical-data-promoted {
      min-height: 5rem; } }
  @media print, screen and (min-width: 64em) {
    .vehicle--teaser .vehicle__technical-data-promoted {
      min-height: 5.625rem; } }
  .vehicle--teaser .vehicle__technical-data-promoted > ul {
    margin-bottom: 0;
    margin-left: 0;
    list-style: none; }
    @media screen and (max-width: 39.9375em) {
      .vehicle--teaser .vehicle__technical-data-promoted > ul {
        line-height: 1.375rem; } }
    @media print, screen and (min-width: 40em) {
      .vehicle--teaser .vehicle__technical-data-promoted > ul {
        margin: 0;
        list-style-type: none;
        display: table;
        width: 100%;
        table-layout: fixed; }
        .vehicle--teaser .vehicle__technical-data-promoted > ul > li {
          display: table-cell;
          vertical-align: middle; }
          [data-whatinput='mouse'] .vehicle--teaser .vehicle__technical-data-promoted > ul > li {
            outline: 0; }
        .vehicle--teaser .vehicle__technical-data-promoted > ul > li > a {
          display: block;
          padding: 0.7rem 1rem;
          line-height: 1; }
        .vehicle--teaser .vehicle__technical-data-promoted > ul input,
        .vehicle--teaser .vehicle__technical-data-promoted > ul select,
        .vehicle--teaser .vehicle__technical-data-promoted > ul a,
        .vehicle--teaser .vehicle__technical-data-promoted > ul button {
          margin-bottom: 0; }
        .vehicle--teaser .vehicle__technical-data-promoted > ul > li:first-child:last-child {
          width: 100%; } }
    @media screen and (max-width: 39.9375em) {
      .vehicle--teaser .vehicle__technical-data-promoted > ul > li {
        display: inline-block; }
        .vehicle--teaser .vehicle__technical-data-promoted > ul > li .technical-data__label::after {
          content: ':';
          margin-right: 0.1875rem; }
        .vehicle--teaser .vehicle__technical-data-promoted > ul > li .technical-data__value::after {
          content: ',';
          margin-right: 0.1875rem;
          font-weight: 400; }
        .vehicle--teaser .vehicle__technical-data-promoted > ul > li:last-child .technical-data__value::after {
          content: '';
          margin-right: 0; } }
    @media print, screen and (min-width: 40em) {
      .vehicle--teaser .vehicle__technical-data-promoted > ul > li {
        vertical-align: top; } }
  .vehicle--teaser .vehicle__description {
    display: none;
    line-height: 1.6; }
    @media print, screen and (min-width: 40em) {
      .vehicle--teaser .vehicle__description {
        display: block; } }
    @media print, screen and (min-width: 64em) {
      .vehicle--teaser .vehicle__description {
        min-height: 3.5rem; } }
  .vehicle--teaser .vehicle__footer {
    display: none; }
    @media print, screen and (min-width: 40em) {
      .vehicle--teaser .vehicle__footer {
        width: 100%;
        float: left;
        padding-right: 0;
        padding-left: 0;
        display: block; }
        .vehicle--teaser .vehicle__footer:last-child:not(:first-child) {
          float: right; } }
    @media print, screen and (min-width: 64em) {
      .vehicle--teaser .vehicle__footer {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        padding-right: 0 !important; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .vehicle--teaser .vehicle__footer {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .vehicle--teaser .vehicle__footer:last-child:not(:first-child) {
          float: right; } }
    .vehicle--teaser .vehicle__footer-inner {
      margin-right: -0.625rem;
      margin-left: -0.625rem; }
      @media print, screen and (min-width: 40em) {
        .vehicle--teaser .vehicle__footer-inner {
          margin-right: -0.9375rem;
          margin-left: -0.9375rem; } }
      @media print, screen and (min-width: 64em) {
        .vehicle--teaser .vehicle__footer-inner {
          margin-right: -0.9375rem;
          margin-left: -0.9375rem; } }
      .vehicle--teaser .vehicle__footer-inner::before, .vehicle--teaser .vehicle__footer-inner::after {
        display: table;
        content: ' '; }
      .vehicle--teaser .vehicle__footer-inner::after {
        clear: both; }
  .vehicle--teaser .vehicle__link {
    width: 25%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    float: right;
    margin-top: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .vehicle--teaser .vehicle__link {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .vehicle--teaser .vehicle__link:last-child:not(:first-child) {
      float: right; }
  .vehicle--teaser .vehicle__finance {
    width: 75%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    padding-right: 0 !important; }
    @media print, screen and (min-width: 40em) {
      .vehicle--teaser .vehicle__finance {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .vehicle--teaser .vehicle__finance:last-child:not(:first-child) {
      float: right; }
  .vehicle--teaser .vehicle__finance-summary {
    float: left;
    width: 100%; }
  @media screen and (max-width: 39.9375em) {
    .vehicle--teaser .dropdown-pane {
      display: none; } }

.vehicle__media-count {
  position: absolute;
  bottom: 0;
  left: 0; }
  .vehicle__media-count > ul {
    margin-left: 0;
    margin-bottom: 0;
    padding-left: 0.375rem;
    padding-right: 0.375rem;
    font-size: 1rem;
    line-height: 1;
    text-shadow: 0 1px rgba(0, 0, 0, 0.3);
    background-color: rgba(13, 13, 13, 0.2); }
    .vehicle__media-count > ul li {
      display: inline-block;
      padding: 0.375rem 0.125rem; }
      .vehicle__media-count > ul li i {
        font-size: 1.25rem;
        line-height: 1; }

.vehicle__promo-text {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem; }
  .vehicle__promo-text span {
    padding: 0.25rem 0.5rem;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 1;
    background-color: #905dad;
    border-radius: 0.1875rem; }

.l-breadcrumbs {
  display: none;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .l-breadcrumbs {
      display: block; } }

.l-header__inner {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .l-header__inner::before, .l-header__inner::after {
    display: table;
    content: ' '; }
  .l-header__inner::after {
    clear: both; }
  @media print, screen and (min-width: 64em) {
    .l-header__inner {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }

.l-header__first {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .l-header__first {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .l-header__first:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .l-header__first {
      width: 41.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      text-align: left; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .l-header__first {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .l-header__first:last-child:not(:first-child) {
        float: right; } }

.l-header__second {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .l-header__second {
      width: 16.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      display: block;
      padding-top: 0.625rem;
      padding-bottom: 0.625rem;
      text-align: right; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .l-header__second {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .l-header__second:last-child:not(:first-child) {
        float: right; } }

.l-header__third {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .l-header__third {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .l-header__third:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .l-header__third {
      width: 41.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .l-header__third {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .l-header__third:last-child:not(:first-child) {
        float: right; } }

.not-front .l-header__first {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .not-front .l-header__first {
      display: block; } }

.l-main--aside, .l-main--aside-desktop, .l-main--full-width {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .l-main--aside, .l-main--aside-desktop, .l-main--full-width {
      padding-top: 0;
      padding-bottom: 3.125rem; } }

.l-main--aside .l-main__inner {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .l-main--aside .l-main__inner::before, .l-main--aside .l-main__inner::after {
    display: table;
    content: ' '; }
  .l-main--aside .l-main__inner::after {
    clear: both; }

.l-main--aside .l-main__aside {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .l-main--aside .l-main__aside {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .l-main--aside .l-main__aside:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .l-main--aside .l-main__aside {
      width: 25%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      position: relative;
      left: -75%; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .l-main--aside .l-main__aside {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .l-main--aside .l-main__aside:last-child:not(:first-child) {
        float: right; } }

.l-main--aside .l-main__section {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .l-main--aside .l-main__section {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .l-main--aside .l-main__section:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .l-main--aside .l-main__section {
      width: 75%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      position: relative;
      left: 25%; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .l-main--aside .l-main__section {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .l-main--aside .l-main__section:last-child:not(:first-child) {
        float: right; } }

.l-main--aside-desktop .l-main__inner {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .l-main--aside-desktop .l-main__inner::before, .l-main--aside-desktop .l-main__inner::after {
    display: table;
    content: ' '; }
  .l-main--aside-desktop .l-main__inner::after {
    clear: both; }

.l-main--aside-desktop .l-main__aside {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .l-main--aside-desktop .l-main__aside {
      width: 25%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      position: relative;
      left: -75%;
      display: block; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .l-main--aside-desktop .l-main__aside {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .l-main--aside-desktop .l-main__aside:last-child:not(:first-child) {
        float: right; } }

.l-main--aside-desktop .l-main__section {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .l-main--aside-desktop .l-main__section {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .l-main--aside-desktop .l-main__section:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .l-main--aside-desktop .l-main__section {
      width: 75%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      position: relative;
      left: 25%; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .l-main--aside-desktop .l-main__section {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .l-main--aside-desktop .l-main__section:last-child:not(:first-child) {
        float: right; } }

.l-main--full-width .l-main__inner {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  .l-main--full-width .l-main__inner::before, .l-main--full-width .l-main__inner::after {
    display: table;
    content: ' '; }
  .l-main--full-width .l-main__inner::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .l-main--full-width .l-main__inner {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .l-main--full-width .l-main__inner:last-child:not(:first-child) {
    float: right; }
  .l-main--full-width .l-main__inner, .l-main--full-width .l-main__inner:last-child {
    float: none; }

.l-nav {
  background-color: #222222; }
  .l-nav__inner {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    float: left;
    padding-right: 0;
    padding-left: 0; }
    .l-nav__inner::before, .l-nav__inner::after {
      display: table;
      content: ' '; }
    .l-nav__inner::after {
      clear: both; }
    .l-nav__inner:last-child:not(:first-child) {
      float: right; }
    .l-nav__inner, .l-nav__inner:last-child {
      float: none; }
    @media print, screen and (min-width: 64em) {
      .l-nav__inner {
        max-width: 75rem;
        margin-right: auto;
        margin-left: auto;
        width: 100%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; }
        .l-nav__inner::before, .l-nav__inner::after {
          display: table;
          content: ' '; }
        .l-nav__inner::after {
          clear: both; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .l-nav__inner {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .l-nav__inner:last-child:not(:first-child) {
          float: right; }
        .l-nav__inner, .l-nav__inner:last-child {
          float: none; } }

.finance-price {
  line-height: 1; }
  .finance-price__list {
    display: inline-block;
    margin: 0;
    line-height: 1;
    list-style: none; }
    .finance-price__list-item {
      display: inline-block;
      margin-right: 0.25rem; }
  .finance-price__label {
    font-size: 65%; }
  .finance-price__value {
    font-weight: 600; }
  .finance-price__suffix {
    display: inline-block;
    font-size: 65%; }
  .finance-price--full .finance-price__list-item::after {
    display: inline-block;
    margin-right: 0.1875rem;
    margin-left: 0.1875rem;
    font-size: 65%;
    content: 'or'; }
  .finance-price--full .finance-price__list-item:last-child::after {
    display: none; }
  .finance-price--full .finance-price__link .button {
    margin-top: 0.9375rem;
    margin-bottom: 0;
    padding: 0.375rem 0.5rem;
    font-size: 0.875rem; }

.finance-form {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .finance-form {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .finance-form {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .finance-form::before, .finance-form::after {
    display: table;
    content: ' '; }
  .finance-form::after {
    clear: both; }
  .finance-form .finance-form__title {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 0.5rem; }
    @media print, screen and (min-width: 40em) {
      .finance-form .finance-form__title {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .finance-form .finance-form__title:last-child:not(:first-child) {
      float: right; }
  .finance-form .form-group {
    width: 50%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .finance-form .form-group {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .finance-form .form-group:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .finance-form .form-group {
        width: 25%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .finance-form .form-group {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .finance-form .form-group:last-child:not(:first-child) {
          float: right; } }
  .finance-form .button {
    width: 100%;
    margin-top: 1.5625rem;
    margin-bottom: 0; }

.finance-summary {
  margin: 0;
  list-style-type: none;
  display: table;
  width: 100%;
  table-layout: fixed; }
  .finance-summary > li {
    display: table-cell;
    vertical-align: middle; }
    [data-whatinput='mouse'] .finance-summary > li {
      outline: 0; }
  .finance-summary > li > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .finance-summary input,
  .finance-summary select,
  .finance-summary a,
  .finance-summary button {
    margin-bottom: 0; }
  .finance-summary > li:first-child:last-child {
    width: 100%; }

.finance-summary-type {
  margin-top: 0.9375rem;
  margin-right: 0.125rem;
  padding: 0.375rem;
  background-color: #0d0d0d;
  text-align: center;
  line-height: 1; }
  .finance-summary-type__key {
    display: inline-block;
    margin-right: 0.3125rem;
    padding: 0.375rem;
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 600;
    background-color: #905dad; }
  .finance-summary-type__value {
    display: inline-block;
    font-size: 0.875rem; }
    .finance-summary-type__value span {
      font-size: 1.25rem;
      font-weight: 600; }
  .finance-summary-type__video {
    margin-left: 0.3125rem;
    font-size: 0.875rem;
    font-weight: 600; }

.finance-tables {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .finance-tables {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .finance-tables {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .finance-tables::before, .finance-tables::after {
    display: table;
    content: ' '; }
  .finance-tables::after {
    clear: both; }
  .finance-tables > .finance-table {
    float: left;
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .finance-tables > .finance-table {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .finance-tables > .finance-table:nth-of-type(1n) {
      clear: none; }
    .finance-tables > .finance-table:nth-of-type(1n+1) {
      clear: both; }
    .finance-tables > .finance-table:last-child {
      float: left; }
  @media print, screen and (min-width: 64em) {
    .finance-tables > .finance-table {
      float: left;
      width: 50%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .finance-tables > .finance-table {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .finance-tables > .finance-table:nth-of-type(1n) {
        clear: none; }
      .finance-tables > .finance-table:nth-of-type(2n+1) {
        clear: both; }
      .finance-tables > .finance-table:last-child {
        float: left; } }
  @media print, screen and (min-width: 64em) {
    .finance-tables--3 > .finance-table {
      float: left;
      width: 33.33333%;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .finance-tables--3 > .finance-table {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .finance-tables--3 > .finance-table:nth-of-type(1n) {
        clear: none; }
      .finance-tables--3 > .finance-table:nth-of-type(3n+1) {
        clear: both; }
      .finance-tables--3 > .finance-table:last-child {
        float: left; } }
  .finance-tables .finance-warning {
    margin-top: 0.9375rem;
    text-align: center; }

.finance-table--teaser {
  display: none; }

.finance-table--full {
  margin-top: 0.9375rem; }
  .finance-table--full .finance-table__table {
    font-size: 0.9375rem;
    border-collapse: collapse;
    border: none; }
    .finance-table--full .finance-table__table tbody {
      border: none; }
      .finance-table--full .finance-table__table tbody th,
      .finance-table--full .finance-table__table tbody td {
        padding-top: 0.625rem;
        padding-bottom: 0.625rem; }
      .finance-table--full .finance-table__table tbody th {
        font-weight: 400;
        text-align: left; }
      .finance-table--full .finance-table__table tbody td {
        font-weight: 600;
        text-align: right; }
  .finance-table--full .finance-table__checker {
    margin-bottom: 0.9375rem;
    padding-bottom: 0.9375rem;
    border-bottom: 1px solid #1a1a1a;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .finance-table--full .finance-table__checker {
        padding: 0.9375rem; } }
    .finance-table--full .finance-table__checker-title {
      margin-bottom: 0.625rem; }
    .finance-table--full .finance-table__checker-image {
      display: block; }
      .finance-table--full .finance-table__checker-image img {
        max-width: 13.75rem; }
    .finance-table--full .finance-table__checker .button {
      margin-bottom: 0; }
  .finance-table--full .finance-table__apply {
    text-align: center; }
    .finance-table--full .finance-table__apply .button {
      margin-bottom: 0.3125rem; }
  .finance-table--full .finance-table__why-apply {
    text-align: center; }
  .finance-table--full .finance-table__video {
    position: relative;
    height: 0;
    margin-bottom: 1rem;
    padding-bottom: 56.25%;
    overflow: hidden;
    margin: 0.9375rem 0 0; }
    .finance-table--full .finance-table__video iframe,
    .finance-table--full .finance-table__video object,
    .finance-table--full .finance-table__video embed,
    .finance-table--full .finance-table__video video {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }

.finance-example {
  overflow-y: auto;
  margin: 0.625rem 0 0.9375rem; }
  .finance-example__title {
    margin-bottom: 0; }
  .finance-example__table {
    border: 1px solid #1a1a1a;
    margin-top: 0.9375rem;
    margin-bottom: 0; }
    .finance-example__table th,
    .finance-example__table td {
      border-right: 1px solid #1a1a1a;
      text-align: center; }
      .finance-example__table th:last-child,
      .finance-example__table td:last-child {
        border-right: none; }
    .finance-example__table thead,
    .finance-example__table tbody,
    .finance-example__table tfoot {
      background: none; }
    .finance-example__table thead th {
      padding-bottom: 0;
      font-size: 0.6875rem;
      font-weight: normal; }
    .finance-example__table tbody td {
      padding-top: 0; }
    .finance-example__table tfoot td {
      padding-top: 0.25rem;
      padding-bottom: 0.25rem;
      font-weight: normal;
      text-align: center;
      border-top: 1px solid #1a1a1a; }

.finance-disclaimer {
  margin-bottom: 0.9375rem;
  font-size: 0.75rem; }
  .finance-disclaimer--full {
    margin: 0.9375rem 0 0;
    text-align: center; }

.finance-checker {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
  margin-top: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .finance-checker {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .finance-checker {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .finance-checker::before, .finance-checker::after {
    display: table;
    content: ' '; }
  .finance-checker::after {
    clear: both; }
  .finance-checker__video {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .finance-checker__video {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .finance-checker__video:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .finance-checker__video {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .finance-checker__video {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .finance-checker__video:last-child:not(:first-child) {
          float: right; } }
    .finance-checker__video-inner {
      position: relative;
      height: 0;
      margin-bottom: 1rem;
      padding-bottom: 56.25%;
      overflow: hidden; }
      .finance-checker__video-inner iframe,
      .finance-checker__video-inner object,
      .finance-checker__video-inner embed,
      .finance-checker__video-inner video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
  .finance-checker__details {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .finance-checker__details {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .finance-checker__details:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .finance-checker__details {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .finance-checker__details {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .finance-checker__details:last-child:not(:first-child) {
          float: right; } }
    .finance-checker__details-image img {
      max-width: 13.75rem;
      vertical-align: top; }

.slick-slider .slick-slide:hover, .slick-slider .slick-slide:focus {
  outline: none; }

.slick-slider .slick-prev,
.slick-slider .slick-next {
  position: absolute;
  display: block;
  height: 2.5rem;
  width: 2.5rem;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  z-index: 9; }
  .slick-slider .slick-prev:hover, .slick-slider .slick-prev:focus,
  .slick-slider .slick-next:hover,
  .slick-slider .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
  .slick-slider .slick-prev.slick-disabled:before,
  .slick-slider .slick-next.slick-disabled:before {
    opacity: 0.5;
    cursor: default; }
  .slick-slider .slick-prev:before,
  .slick-slider .slick-next:before {
    font-family: 'Material Icons';
    font-size: 2.5rem;
    line-height: 1;
    background-color: #ffffff;
    color: #222222;
    opacity: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-slider .slick-prev {
  left: 0; }
  .slick-slider .slick-prev:before {
    content: '\e5cb'; }

.slick-slider .slick-next {
  right: 0; }
  .slick-slider .slick-next:before {
    content: '\e5cc'; }

.slick-slider.slick-dotted {
  padding-bottom: 1.25rem; }

.slick-slider .slick-dots {
  position: absolute;
  bottom: -0.4375rem;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-slider .slick-dots li {
    position: relative;
    display: inline-block;
    height: 0.1875rem;
    width: 1.25rem;
    margin: 0 0.125rem;
    cursor: pointer; }
    @media print, screen and (min-width: 40em) {
      .slick-slider .slick-dots li {
        width: 1.875rem;
        margin: 0 0.25rem; } }
    @media print, screen and (min-width: 64em) {
      .slick-slider .slick-dots li {
        width: 2.5rem;
        margin: 0 0.375rem; } }
    .slick-slider .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      width: 100%;
      height: 0.1875rem;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      cursor: pointer;
      background-color: #999999; }
      .slick-slider .slick-dots li button:hover, .slick-slider .slick-dots li button:focus {
        outline: none;
        opacity: 1; }
    .slick-slider .slick-dots li.slick-active button {
      background: #905dad; }

.listing--block .slick-slider,
.listing--vehicle-featured-sidebar .slick-slider,
.listing--vehicle-latest-sidebar .slick-slider,
.listing--vehicle-similar .slick-slider {
  margin-left: -0.625rem;
  margin-right: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--block .slick-slider,
    .listing--vehicle-featured-sidebar .slick-slider,
    .listing--vehicle-latest-sidebar .slick-slider,
    .listing--vehicle-similar .slick-slider {
      margin-left: -0.9375rem;
      margin-right: -0.9375rem; } }
  .listing--block .slick-slider .slick-slide,
  .listing--vehicle-featured-sidebar .slick-slider .slick-slide,
  .listing--vehicle-latest-sidebar .slick-slider .slick-slide,
  .listing--vehicle-similar .slick-slider .slick-slide {
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--block .slick-slider .slick-slide,
      .listing--vehicle-featured-sidebar .slick-slider .slick-slide,
      .listing--vehicle-latest-sidebar .slick-slider .slick-slide,
      .listing--vehicle-similar .slick-slider .slick-slide {
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
  .listing--block .slick-slider .slick-prev,
  .listing--block .slick-slider .slick-next,
  .listing--vehicle-featured-sidebar .slick-slider .slick-prev,
  .listing--vehicle-featured-sidebar .slick-slider .slick-next,
  .listing--vehicle-latest-sidebar .slick-slider .slick-prev,
  .listing--vehicle-latest-sidebar .slick-slider .slick-next,
  .listing--vehicle-similar .slick-slider .slick-prev,
  .listing--vehicle-similar .slick-slider .slick-next {
    top: 3.75rem; }
  .listing--block .slick-slider .slick-prev,
  .listing--vehicle-featured-sidebar .slick-slider .slick-prev,
  .listing--vehicle-latest-sidebar .slick-slider .slick-prev,
  .listing--vehicle-similar .slick-slider .slick-prev {
    left: inherit;
    right: 3.1875rem; }
    @media print, screen and (min-width: 40em) {
      .listing--block .slick-slider .slick-prev,
      .listing--vehicle-featured-sidebar .slick-slider .slick-prev,
      .listing--vehicle-latest-sidebar .slick-slider .slick-prev,
      .listing--vehicle-similar .slick-slider .slick-prev {
        right: 3.5rem; } }
  .listing--block .slick-slider .slick-next,
  .listing--vehicle-featured-sidebar .slick-slider .slick-next,
  .listing--vehicle-latest-sidebar .slick-slider .slick-next,
  .listing--vehicle-similar .slick-slider .slick-next {
    right: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .listing--block .slick-slider .slick-next,
      .listing--vehicle-featured-sidebar .slick-slider .slick-next,
      .listing--vehicle-latest-sidebar .slick-slider .slick-next,
      .listing--vehicle-similar .slick-slider .slick-next {
        right: 0.9375rem; } }

.listing--block .slick-slider .slick-prev,
.listing--block .slick-slider .slick-next {
  top: 3.75rem; }

.listing--block .slick-slider .slick-prev {
  left: inherit;
  right: 3.8125rem; }

.listing--block .slick-slider .slick-next {
  right: 1.25rem; }

.listing--vehicle-featured .slick-slider,
.listing--vehicle-latest .slick-slider {
  margin-left: -0.625rem;
  margin-right: -0.625rem; }
  .listing--vehicle-featured .slick-slider .slick-slide,
  .listing--vehicle-latest .slick-slider .slick-slide {
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
  .listing--vehicle-featured .slick-slider .slick-prev,
  .listing--vehicle-featured .slick-slider .slick-next,
  .listing--vehicle-latest .slick-slider .slick-prev,
  .listing--vehicle-latest .slick-slider .slick-next {
    top: 3.75rem; }
  .listing--vehicle-featured .slick-slider .slick-prev,
  .listing--vehicle-latest .slick-slider .slick-prev {
    left: inherit;
    right: 3.1875rem; }
  .listing--vehicle-featured .slick-slider .slick-next,
  .listing--vehicle-latest .slick-slider .slick-next {
    right: 0.625rem; }

.vehicle__primary-images-thumbnails ul.slick-slider,
.vehicle__secondary-images ul.slick-slider {
  margin-left: -0.0625rem;
  margin-right: -0.0625rem; }
  .vehicle__primary-images-thumbnails ul.slick-slider .slick-slide,
  .vehicle__secondary-images ul.slick-slider .slick-slide {
    margin-left: 0.0625rem;
    margin-right: 0.0625rem;
    cursor: pointer; }
  .vehicle__primary-images-thumbnails ul.slick-slider .slick-prev,
  .vehicle__secondary-images ul.slick-slider .slick-prev {
    left: 0.0625rem; }
  .vehicle__primary-images-thumbnails ul.slick-slider .slick-next,
  .vehicle__secondary-images ul.slick-slider .slick-next {
    right: 0.0625rem; }

.vehicle__primary-images-thumbnails .slick-slider .slick-slide {
  cursor: pointer; }
  .vehicle__primary-images-thumbnails .slick-slider .slick-slide.slick-current {
    opacity: 0.75; }

.listing--vehicle-compare .slick-slider {
  padding-top: 2.5625rem; }
  @media print, screen and (min-width: 40em) {
    .listing--vehicle-compare .slick-slider .slick-slide {
      margin-left: 0.1875rem; } }
  .listing--vehicle-compare .slick-slider .slick-prev,
  .listing--vehicle-compare .slick-slider .slick-next {
    top: 1.25rem; }
    .listing--vehicle-compare .slick-slider .slick-prev:before,
    .listing--vehicle-compare .slick-slider .slick-next:before {
      background-color: #905dad;
      color: #ffffff; }
  .listing--vehicle-compare .slick-slider .slick-prev {
    left: inherit;
    right: 2.5625rem; }
  .listing--vehicle-compare .slick-slider .slick-next {
    right: 0; }

@media print, screen and (min-width: 40em) {
  .page--home .listing--block .slick-slider .slick-track,
  .page--home .listing--vehicle-featured .slick-slider .slick-track,
  .listing--vehicle-similar .slick-slider .slick-track {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; } }

@media print, screen and (min-width: 40em) {
  .page--home .listing--block .slick-slider .slick-track .slick-slide,
  .page--home .listing--vehicle-featured .slick-slider .slick-track .slick-slide,
  .listing--vehicle-similar .slick-slider .slick-track .slick-slide {
    height: auto;
    background-color: #000000; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2Jhc2UvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9fY29va2llLXBvbGljeS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL19jcmVkaXRzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL19sb2dvLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL190ZW1wb3Jhcnktc2xvZ2FuLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvYmxvY2svX2Jsb2NrLS1mb290ZXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9icmFuY2gvX2JyYW5jaC0tZm9vdGVyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvYnJhbmNoL19icmFuY2gtLWZ1bGwuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9icmFuY2gvX2JyYW5jaC0tdGVhc2VyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvYnJhbmNoL19icmFuY2gtLXZlaGljbGUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9jdXN0b20tZW50cnkvX2N1c3RvbS1lbnRyeS0tZnVsbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL2N1c3RvbS1lbnRyeS9fY3VzdG9tLWVudHJ5LS10ZWFzZXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9kZXBhcnRtZW50L19kZXBhcnRtZW50LS10ZWFzZXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9kZXBhcnRtZW50L19kZXBhcnRtZW50LS12ZWhpY2xlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvZm9ybS9fZm9ybS0tZGVsaXZlcnktY2FsZW5kYXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9mb3JtL19mb3JtLS1kaXJlY3Rpb25zLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvZm9ybS9fZm9ybS0tcGFydC1leGNoYW5nZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL2Zvcm0vX2Zvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL2Zvcm0vX2Zvcm0tLXNlbGwteW91ci12ZWhpY2xlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvZm9ybS9fZm9ybS0tc2VydmljZS1ib29raW5nLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvZm9ybS9fZm9ybS0tdmVoaWNsZS1wYXltZW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvZm9ybS9fZm9ybS0tdmVoaWNsZS1zb3J0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvZm9ybS9fZm9ybS0tdmVoaWNsZS12YWx1YXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9mb3JtL19mb3JtLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvbWVkaWEvX3NlY29uZGFyeS1pbWFnZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL21lZGlhL192aWRlby5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL25ldy12ZWhpY2xlL19uZXctdmVoaWNsZS0tZnVsbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL25ldy12ZWhpY2xlL19uZXctdmVoaWNsZS0tdGVhc2VyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvbmV3LXZlaGljbGUvX25ldy12ZWhpY2xlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvb2ZmZXIvX29mZmVyLS1mZWF0dXJlZC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29mZmVyL19vZmZlci0tZnVsbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29mZmVyL19vZmZlci0tdGVhc2VyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvb3JkZXIvX2FkZC1vbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29yZGVyL19jYWxlbmRhci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29yZGVyL19jb2xsZWN0aW9uLWRlbGl2ZXJ5LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvb3JkZXIvX29yZGVyLWludHJvZHVjdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29yZGVyL19vcmRlci1wYXltZW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvb3JkZXIvX29yZGVyLXByb2dyZXNzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvb3JkZXIvX29yZGVyLXN0YXRlLXN1bW1hcnkuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9vcmRlci9fb3JkZXItc3VtbWFyeS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29yZGVyL19vcmRlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL29yZGVyL19wYXJ0LWV4Y2hhbmdlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvcGFnZS9fcGFnZS0tY29udGFjdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3BhZ2UvX3BhZ2UtLWRlZmF1bHQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9wYWdlL19wYWdlLS1mdWxsLXdpZHRoLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvcGFnZS9fcGFnZS0tdGVhc2VyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvcGFydC9fcGFydC0tZmVhdHVyZWQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9wYXJ0L19wYXJ0LS1mdWxsLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvcGFydC9fcGFydC0tdGVhc2VyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvcG9zdC9fbWV0YS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3Bvc3QvX3Bvc3QtLWRlZmF1bHQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9wb3N0L19wb3N0LS1mZWF0dXJlZC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3Bvc3QvX3Bvc3QtLWZ1bGwtd2lkdGguc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9wb3N0L19wb3N0LS10ZWFzZXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9zZWFyY2gvX3F1aWNrLXNlYXJjaC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3NlYXJjaC9fc2VhcmNoLXNlbGVjdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3Nob3dyb29tL19zaG93cm9vbS0tZmVhdHVyZWQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9zaG93cm9vbS9fc2hvd3Jvb20tLWZ1bGwuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy9zaG93cm9vbS9fc2hvd3Jvb20tLXRlYXNlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3ZlaGljbGUvX3NwZWNpZmljYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy92ZWhpY2xlL190ZWNobmljYWwtZGF0YS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy9jb21wb25lbnRzL3ZlaGljbGUvX3ZlaGljbGUtLWNvbXBhcmUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvY29tcG9uZW50cy92ZWhpY2xlL192ZWhpY2xlLS1nZW5lcmFsLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvdmVoaWNsZS9fdmVoaWNsZS0tbGF0ZXN0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2NvbXBvbmVudHMvdmVoaWNsZS9fdmVoaWNsZS0tcmVjZW50bHktdmlld2VkLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL2xheW91dC9fYWxlcnQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvbGF5b3V0L19mb290ZXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3RoZW1lcy9hbHBoYS9oZWxwZXJzL3Njc3MvdmVuZG9yL19jcmVkaXQtY2FsY3VsYXRvci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy92ZW5kb3IvX2V4dHJhcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWVzL2FscGhhL2hlbHBlcnMvc2Nzcy92ZW5kb3IvX2ZhbmN5Ym94LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL3ZlbmRvci9fcmV2aWV3LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi90aGVtZXMvYWxwaGEvaGVscGVycy9zY3NzL3ZlbmRvci9fd2l6YXJkLnNjc3MiLCJjb21wb25lbnRzL19idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLWxlZ2Fscy5zY3NzIiwiY29tcG9uZW50cy9faWNvbi5zY3NzIiwiY29tcG9uZW50cy9fbGlzdGluZy5zY3NzIiwiY29tcG9uZW50cy9fbWVudS5zY3NzIiwiY29tcG9uZW50cy9fcG9wLXVwLnNjc3MiLCJjb21wb25lbnRzL19yYXRpbmcuc2NzcyIsImNvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiY29tcG9uZW50cy9fdG9nZ2xlci5zY3NzIiwiY29tcG9uZW50cy9ibG9jay9fYmxvY2stLWRlZmF1bHQuc2NzcyIsImNvbXBvbmVudHMvYmxvY2svX2Jsb2NrLS1yZXZpZXdzLnNjc3MiLCJjb21wb25lbnRzL2Jsb2NrL19ibG9jay0tc2lkZWJhci5zY3NzIiwiY29tcG9uZW50cy9icmFuY2gvX2JyYW5jaC0taGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL2JyYW5jaC9fYnJhbmNoLS12ZWhpY2xlLXN1bW1hcnkuc2NzcyIsImNvbXBvbmVudHMvY3VzdG9tLWVudHJ5L19jdXN0b20tZW50cnktLWZlYXR1cmVkLnNjc3MiLCJjb21wb25lbnRzL21lZGlhL19uby1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9tZWRpYS9fcHJpbWFyeS1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9wYWdlL19wYWdlLS1ob21lLnNjc3MiLCJjb21wb25lbnRzL3NlYXJjaC9fc2VhcmNoLnNjc3MiLCJjb21wb25lbnRzL3ZlaGljbGUvX3ByaWNlLnNjc3MiLCJjb21wb25lbnRzL3ZlaGljbGUvX3ZlaGljbGUtLWZlYXR1cmVkLXNpZGViYXIuc2NzcyIsImNvbXBvbmVudHMvdmVoaWNsZS9fdmVoaWNsZS0tZmVhdHVyZWQuc2NzcyIsImNvbXBvbmVudHMvdmVoaWNsZS9fdmVoaWNsZS0tZnVsbC5zY3NzIiwiY29tcG9uZW50cy92ZWhpY2xlL192ZWhpY2xlLS1zaW1pbGFyLnNjc3MiLCJjb21wb25lbnRzL3ZlaGljbGUvX3ZlaGljbGUtLXRlYXNlci5zY3NzIiwiY29tcG9uZW50cy92ZWhpY2xlL192ZWhpY2xlLnNjc3MiLCJsYXlvdXQvX2JyZWFkY3J1bWJzLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19tYWluLnNjc3MiLCJsYXlvdXQvX25hdi5zY3NzIiwidmVuZG9yL19maW5hbmNlLnNjc3MiLCJ2ZW5kb3IvX3NsaWNrLXNsaWRlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7R0FLRztBQ3dDRCxpRUFBaUU7QUFHL0Q7b0ZBQ2dGO0FBRWhGOzs7OztPQUtHO0FBRUg7RUFDRSx3QkMxQ3VCO0VEMENTLE9BQU87RUFRckMsa0JBQWlCO0VBQUUsT0FBTztFQUU1QiwyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLCtCQUE4QjtFQUFFLE9BQU8sRUFDeEM7O0FBSUQ7b0ZBQ2dG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cUQsRU4yRWhEOztBQUlDO0VPN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRVBpRzlDOztBQUVEO0VPakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRVBxRzlDOztBQU1IO0VPOUVKLGlCRGJxRCxFTjZGaEQ7O0FBcEJEO0VLeEZKLGlCQ2VxRCxFTjJFaEQ7O0FBSUM7RU83RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFUGlHOUM7O0FBRUQ7RU9qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUHFHOUM7O0FBTUg7RU85RUosdUJEYnFELEVONkZoRDs7QUFwQkQ7RUt4RkosV0NlcUQsRU4yRWhEOztBQUlDO0VPN0ZKLG1CQUFrQjtFQUNsQixVQUhtRCxFUGlHOUM7O0FBRUQ7RU9qR0osbUJBQWtCO0VBQ2xCLFdBSG1ELEVQcUc5Qzs7QUFNSDtFTzlFSix1QkRicUQsRU42RmhEOztBQXBCRDtFS3hGSixpQkNlcUQsRU4yRWhEOztBQUlDO0VPN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRVBpRzlDOztBQUVEO0VPakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRVBxRzlDOztBQU1IO0VPOUVKLGlCRGJxRCxFTjZGaEQ7O0FBcEJEO0VLeEZKLGlCQ2VxRCxFTjJFaEQ7O0FBSUM7RU83RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFUGlHOUM7O0FBRUQ7RU9qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUHFHOUM7O0FBTUg7RU85RUosdUJEYnFELEVONkZoRDs7QUFwQkQ7RUt4RkosWUNlcUQsRU4yRWhEOztBQWdCRDtFTzlFSix1QkRicUQsRU42RmhEOztBQUtEO0VRekdGLFlYK0V1RDtFVzlFdkQsWUFBdUIsRUFpQ3hCO0VSdUVHO0lRakZBLFlBQVcsRUFDWjtFUmdGQztJUTdFQSxZQUFXLEVBQ1o7RVI0RUM7SVF6RUEsWVgrQ3FELEVXOUN0RDs7QVJ3RUM7RVF6R0YsWVgrRXVEO0VXOUV2RCxXQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELGlCQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELFdBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYK0NxRCxFVzlDdEQ7O0FSd0VDO0VRekdGLFlYK0V1RDtFVzlFdkQsV0FBdUIsRUFpQ3hCO0VSdUVHO0lRakZBLFlBQVcsRUFDWjtFUmdGQztJUTdFQSxZQUFXLEVBQ1o7RVI0RUM7SVF6RUEsWVgrQ3FELEVXOUN0RDs7QVJ3RUM7RVF6R0YsWVgrRXVEO0VXOUV2RCxpQkFBdUIsRUFpQ3hCO0VSdUVHO0lRakZBLFlBQVcsRUFDWjtFUmdGQztJUTdFQSxZQUFXLEVBQ1o7RVI0RUM7SVF6RUEsWVgrQ3FELEVXOUN0RDs7QVJ3RUM7RVF6R0YsWVgrRXVEO0VXOUV2RCxpQkFBdUIsRUFpQ3hCO0VSdUVHO0lRakZBLFlBQVcsRUFDWjtFUmdGQztJUTdFQSxZQUFXLEVBQ1o7RVI0RUM7SVF6RUEsWVgrQ3FELEVXOUN0RDs7QVJ3RUM7RVF6R0YsWVgrRXVEO0VXOUV2RCxhQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUjhFRDtFRy9HQSxpQkR1RVM7RUN0RVQsZ0JEc0VTLEVGeUN1Qzs7QUFEaEQ7RUFJSSxnQkFBZTtFQUNmLGVBQWMsRUFDZjs7QUFHSDtFQUNFLGdCQUFlO0VBQ2YsZUFBYyxFQUNmOztBQUVEO0VHN0hBLHdCQUZxQztFQUdyQyx1QkFIcUMsRUhnSW9COztBQUl6RDtFT2pJQSxtQkFBa0I7RUFDbEIsa0JBQWlCLEVQa0loQjtFT3ZJRDtJQUNFLFlBQVc7SUFDWCxZQUFXLEVBQ1o7O0FQdUlEOzs7RU81SEYsaUJBQWdCO0VBQ2hCLFlBQVc7RUFDWCxnQkFBZTtFQUNmLGVBQWMsRVA2SFg7O0FJTkM7RUpyREE7SUt4RkosZ0JDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixlQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQcUc5QztFQU1IO0lPOUVKLGdCRGhCZ0MsRU5nRzNCO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosc0JEYnFELEVONkZoRDtFQXBCRDtJS3hGSixXQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSixpQkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosdUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixXQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSixpQkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosdUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixXQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSixpQkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosdUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixZQ2VxRCxFTjJFaEQ7RUFnQkQ7SU85RUosdUJEYnFELEVONkZoRDtFQUtEO0lRekdGLFlYK0V1RDtJVzlFdkQsWUFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELFdBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxpQkFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELFdBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxXQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsaUJBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxpQkFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELGFBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVI4RUQ7SUcvR0EsaUJEdUVTO0lDdEVULGdCRHNFUyxFRnlDdUM7RUFEaEQ7SUFJSSxnQkFBZTtJQUNmLGVBQWMsRUFDZjtFQUdIO0lBQ0UsZ0JBQWU7SUFDZixlQUFjLEVBQ2Y7RUFFRDtJRzdIQSx5QkFGcUM7SUFHckMsd0JBSHFDLEVIZ0lvQjtFQUl6RDtJT2pJQSxtQkFBa0I7SUFDbEIsa0JBQWlCLEVQa0loQjtJT3ZJRDtNQUNFLFlBQVc7TUFDWCxZQUFXLEVBQ1o7RVB1SUQ7OztJTzVIRixpQkFBZ0I7SUFDaEIsWUFBVztJQUNYLGdCQUFlO0lBQ2YsZUFBYyxFUDZIWCxFQUFBOztBSU5DO0VKckRBO0lLeEZKLGdCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZUFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSixnQkRoQmdDLEVOZ0czQjtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHNCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosV0NlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFUHFHOUM7RUFNSDtJTzlFSix1QkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosaUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosV0NlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFUHFHOUM7RUFNSDtJTzlFSix1QkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosaUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosV0NlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFUHFHOUM7RUFNSDtJTzlFSix1QkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosaUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosWUNlcUQsRU4yRWhEO0VBZ0JEO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFLRDtJUXpHRixZWCtFdUQ7SVc5RXZELFlBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxXQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsaUJBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxXQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsV0FBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELGlCQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsaUJBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxhQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSOEVEO0lHL0dBLGlCRHVFUztJQ3RFVCxnQkRzRVMsRUZ5Q3VDO0VBRGhEO0lBSUksZ0JBQWU7SUFDZixlQUFjLEVBQ2Y7RUFHSDtJQUNFLGdCQUFlO0lBQ2YsZUFBYyxFQUNmO0VBRUQ7SUc3SEEseUJBRnFDO0lBR3JDLHdCQUhxQyxFSGdJb0I7RUFJekQ7SU9qSUEsbUJBQWtCO0lBQ2xCLGtCQUFpQixFUGtJaEI7SU92SUQ7TUFDRSxZQUFXO01BQ1gsWUFBVyxFQUNaO0VQdUlEOzs7SU81SEYsaUJBQWdCO0lBQ2hCLFlBQVc7SUFDWCxnQkFBZTtJQUNmLGVBQWMsRVA2SFgsRUFBQTs7QUFJSDtFRzFGRSx1QkRhcUQsRUYrRXREO0VHMUZDO0lBQ0UsaUJBQWdCLEVBQ2pCO0VDNEVDO0lKVUo7TUcxRkUsd0JEYXFELEVGK0V0RDtNRzFGQztRQUNFLGlCQUFnQixFQUNqQixFQUFBOztBTWdMSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRSxVQUFTO0VBQ1QsV0FBVSxFQUNYOztBQUdEO0VBQ0Usb0JYaEowQjtFV2tKMUIsbUJBQWtCO0VBQ2xCLGlCWHBKc0I7RVdxSnRCLG1DWG5KeUMsRVdvSjFDOztBQUdEOztFQUVFLG1CQUFrQjtFQUNsQixxQkFBb0IsRUFDckI7O0FBR0Q7O0VBRUUsaUJYbE9vQjtFV21PcEIscUJBQW9CLEVBQ3JCOztBZmdEQztFZTVDQSxlWDFLaUI7RVcyS2pCLHFCQUFvQixFQUNyQjs7QUFHRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBTUUsa0RYelBtRDtFVzBQbkQsbUJYOU1zQjtFVytNdEIsaUJYdFB5QjtFV3VQekIsZVg5TWtCO0VXK01sQixtQ1gxTHNDLEVXZ012QztFQWhCRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBYUksZUFBYztJQUNkLGVYdlFlLEVXd1FoQjs7QWYzTkQ7RWV1T1Esb0JQdlA2QztFT21RN0MsZVgzT1M7RVdtUFQsY0FBYTtFQU9iLG9CUGxSNkMsRU9vUmhEOzs7QUFyR1A7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXdFVSxvQlB2UDZDO0VPbVE3QyxlWDNPUztFV21QVCxjQUFhO0VBT2Isb0JQbFI2QyxFT29SaEQ7OztBQXBHUDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXVFVSxvQlB2UDZDO0VPbVE3QyxlWDNPUztFV21QVCxjQUFhO0VBT2Isb0JQbFI2QyxFT29SaEQ7OztBQW5HUDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFzRVUsb0JQdlA2QztFT21RN0MsZVgzT1M7RVdtUFQsY0FBYTtFQU9iLG9CUGxSNkMsRU9vUmhEOztBQWpDRDtFQUlJLG9CUHZQNkM7RU9tUTdDLGVYM09TO0VXbVBULGNBQWE7RUFPYixvQlBsUjZDLEVPb1JoRDs7QUFqQ0Q7RUFJSSxvQlB2UDZDO0VPbVE3QyxlWDNPUztFV21QVCxjQUFhO0VBT2Isb0JQbFI2QyxFT29SaEQ7O0FMak5IO0VWbkRGO0lldU9RLGdCUHZQNkMsRU9vUmhEOztFQXJHUDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBd0VVLG1CUHZQNkMsRU9vUmhEOztFQXBHUDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXVFVSxrQlB2UDZDLEVPb1JoRDs7RUFuR1A7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBc0VVLG1CUHZQNkMsRU9vUmhEO0VBakNEO0lBSUksZ0JQdlA2QyxFT29SaEQ7RUFqQ0Q7SUFJSSxtQlB2UDZDLEVPb1JoRCxFQUFBOztBZm5HTDtFZTBHQSxxQkFBb0I7RUFDcEIsZVh0VFc7RVd1VFgsc0JYbk95QjtFV3FPekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlWDFPMkQsRVc4TzVEO0VBYkg7SUFnQkksVUFBUyxFQUNWOztBZnZLRDtFZTRLQSxZQUFXO0VBRVgsaUJQbFRxRDtFT21UckQsVUFBUztFQUNULHFCWHRQeUI7RVd3UHpCLGNBQWE7RUFDYixnQkFBZTtFQUNmLGlDWHJWaUI7RVdzVmpCLGVBQWMsRUFDZjs7QUFHRDs7O0VBR0Usb0JYaFIwQjtFV2lSMUIsNkJYL1B5QjtFV2dRekIsaUJYblJzQixFV29SdkI7O0FBR0Q7RUFDRSxtQkFBa0IsRUFDbkI7O0FBR0Q7RUFDRSxxQlh6UXNCO0VXMFF0QixzQlg1UWtCLEVXNlFuQjs7QUFHRDtFQUNFLHFCWC9Rc0IsRVdnUnZCOztBQUdEO0VBRUkscUJYcFIyQjtFV3FSM0IsaUJBQWdCLEVBQ2pCOztBQUlIO0VBQ0Usb0JYMVJ5QixFV2dTMUI7RUFQRDtJQUlJLHNCWDNSOEI7SVc0UjlCLGlCWHBYa0IsRVdxWG5COztBQUlIO0VBQ0UsaUJYelQwQjtFVzBUMUIsdUNQMVdxRDtFTzJXckQsK0JYeFlpQixFVzhZbEI7RUFURDtJQU1JLGlCWC9Ub0I7SVdnVXBCLGVYM1lhLEVXNFlkOztBQUlIO0VBQ0UsZUFBYztFQUNkLHFCUHRYcUQ7RU91WHJELGVYblplLEVXd1poQjtFQVJEO0lBTUks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O0VnQjRCbkIsaUJoQmZlO0VnQmdCZiwwQmhCMUJhO0VnQjJCYiwrQ2hCNUJhO0VnQjhCYixxQmhCNFJ5QjtFZ0IzUnpCLHFCWkp1RDtFWUt2RCxpQmhCeEJ3QjtFZ0J5QnhCLGVoQmpDYTtFZ0JvQ1gsNERoQmlTOEQ7RWdCNVE5RCx5QkFBZ0I7VUFBaEIsaUJBQWdCLEVBQ2pCO0V0QnkrREQ7O0lzQjEvREUsY0FBYTtJQUNiLDBCaEIzQ2U7SWdCNENmLDBCaEIxQ1c7SWdCMkNYLDRCaEI5Q2lCO0lnQmlEZiw0RGhCc1I0RCxFZ0JwUi9EOztBcEI4ZEM7RW9CamRBLGdCQUFlLEVBS2hCO0VBTkQ7SUFJSSxhQUFZLEVBQ2I7O0FBR0g7O0VBSUksZWhCMUVhLEVnQjJFZDs7QUFMSDs7RUFJSSxlaEIxRWEsRWdCMkVkOztBQUxIOztFQUlJLGVoQjFFYSxFZ0IyRWQ7O0FBTEg7OztFQVVJLDBCaEI5RVM7RWdCK0VULG9CaEJvUDZCLEVnQm5QOUI7O0F0QnkrREw7O0VzQm4rREkseUJBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQixpQmhCN0VhLEVnQjhFZDs7QUFHRDtFQUNFLHVCQUFzQixFQUN2Qjs7QXRCbytESDs7O0V1Qm5uRUksaUJiNEVxRCxFYTNFdEQ7O0F2QnVuRUg7O0V1QmxuRUksc0JBQXFCO0VBQ3JCLHlCQUF3QjtFQUV4QixvQkFBa0Q7RUFDbEQsbUJia0VxRDtFYWpFckQsaUJBQWdCLEVBS2pCO0V2QittRUQ7O0l1QmpuRUksZ0JBQWUsRUFDaEI7O0FBSUg7O0VBRUUscUJBQW1ELEVBQ3BEOztBdkJpbkVIO0V1QjdtRUksWUFBVyxFQUNaOztBQ0dEO0VBakJBLGVBQWM7RUFDZCxVQUFTO0VBRVQsb0JkNER1RDtFYzNEdkQsaUJsQndDd0I7RWtCdkN4QixpQmxCbVYwQjtFa0JsVjFCLGVsQitCYSxFa0JkWjtFQU5EO0lBTEEsaUJkbUR1RDtJY2xEdkQscUJBQThELEVBUzNEOztBQzFCSDtFQUdFLG9CQUZ1QztFQUd2QyxxQmYrRHFEO0VlOURyRCxtQm5CK1V3QjtFbUI5VXhCLGVuQmtDVyxFbUJq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O1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUhvQ3JDLGdDRjNCcUQ7TUUyQnJELDRCRjNCcUQ7VUUyQnJELHdCRjNCcUQ7RU1FbkQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNER25DaUM7VUhtQ2pDLDhDR25DaUM7RUhtQ2pDLGlDRjFCc0Q7TUUwQnRELDZCRjFCc0Q7VUUwQnRELHlCRjFCc0Q7RU1DcEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNER2xDK0I7VUhrQy9CLDhDR2xDK0I7RUhrQy9CLCtCRnpCb0Q7TUV5QnBELDJCRnpCb0Q7VUV5QnBELHVCRnpCb0Q7RU1BbEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUhxQ25DLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHcENxQztVSG9DckMsK0NHcENxQztFSG9DckMsaUNHQ2U7TUhEZiw2QkdDZTtVSERmLHlCR0NlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLDhCRnRCbUQ7TUVzQm5ELDBCRnRCbUQ7VUVzQm5ELHNCRnRCbUQ7RU1IakQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHckNtQztVSHFDbkMsK0NHckNtQztFQ3VCakMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGdDRnJCcUQ7TUVxQnJELDRCRnJCcUQ7VUVxQnJELHdCRnJCcUQ7RU1KbkQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHcENxQztVSG9DckMsK0NHcENxQztFQ3NCbkMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDRnBCc0Q7TUVvQnRELDZCRnBCc0Q7VUVvQnRELHlCRnBCc0Q7RU1McEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsc0RHbkNpQztVSG1DakMsOENHbkNpQztFQ3FCL0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLCtCRm5Cb0Q7TUVtQnBELDJCRm5Cb0Q7VUVtQnBELHVCRm5Cb0Q7RU1ObEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsc0RHbEMrQjtVSGtDL0IsOENHbEMrQjtFQ29CN0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VDdUJqQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1I4QztVSFE5Qyw0Q0dSOEM7RUhROUMsaUNHQ2U7TUhEZiw2QkdDZTtVSERmLHlCR0NlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUNzQm5DLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsOEJBRnlCO01BRXpCLDBCQUZ5QjtVQUV6QixzQkFGeUI7RUszQnZCLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVSRjVCOztBQVVEO0VHb0JBLDRCQUZ5QjtNQUV6Qix3QkFGeUI7VUFFekIsb0JBRnlCO0VLaEJ2QixXQUEyQixFUkE1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDhCQUZ5QjtNQUV6QiwwQkFGeUI7VUFFekIsc0JBRnlCO0VLM0J2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUkY1Qjs7QUFVRDtFR29CQSw0QkFGeUI7TUFFekIsd0JBRnlCO1VBRXpCLG9CQUZ5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O01BR3JDLHdCQUhxQyxFa0VYdEMsRUFBQTtJakVrSkc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RStEckVMO0lBWVcsZUFBYyxFQUFJO0VBWjdCO0loRWNFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUM7SWtFSnJDLHlCbkV3RXFELEVtRS9EdEQ7SWpFa0lHO01pRTNKTjtRbEVzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFa0VLdEMsRUFBQTtJL0QwQ0M7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO01pRTNKTjtRaEVjRSxpQkNlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQyxFa0VLdEMsRUFBQTtFakVrSUc7SWlFM0pOO01sRXNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEVrRUt0QyxFQUFBO0lqRWtJRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtJK0RyRUw7TUFxQk0saUJBQWdCO01BQ2hCLFVBQVMsRUFDVjtFQXZCTDtJaEVjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDO0lrRVFyQyx5Qm5FNERxRCxFbUV0RHREO0lqRXlIRztNaUUzSk47UWxFc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRWtFY3RDLEVBQUE7SS9EaUNDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNaUUzSk47UWhFY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRWtFY3RDLEVBQUE7RWpFeUhHO0lpRTNKTjtNbEVzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFa0VjdEMsRUFBQTtJakV5SEc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7SStEckVMO01BaUNhLHlCbkV1RDRDLEVtRXZEYjs7QUNqQzVDO0VyRW9GSSx3QkFGK0Q7RUFHL0QsdUJBSCtELEVxRXRDbEU7RWxFK0dLO0lrRTNKTjtNckVvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFcUV0Q2xFLEVBQUE7RWxFK0dLO0lrRTNKTjtNckVvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFcUV0Q2xFLEVBQUE7RXZFcUdDO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0V1RTlKSDtJakVjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEVtRUp0QztJbEUySUc7TWtFM0pOO1FuRXNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEVtRUp0QyxFQUFBO0loRW1EQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TWtFM0pOO1FqRWNFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEVtRUp0QyxFQUFBO0VsRTJJRztJa0UzSk47TW5Fc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRW1FSnRDLEVBQUE7SWxFMklHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0lnRXJFTDtNQVFNLFlBQVc7TUFDWCxpQnBFK0VtRDtNb0U5RW5ELHlCcEU4RW1ELEVvRXpFcEQ7TWxFNElDO1FrRTNKTjtVQVlRLGdCcEU0RWlEO1VvRTNFakQsaUJBQWdCLEVBRW5CLEVBQUE7RUFmTDtJakVjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEVtRUV0QztJbEVxSUc7TWtFM0pOO1FuRXNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEVtRUV0QyxFQUFBO0loRTZDQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TWtFM0pOO1FqRWNFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEVtRUV0QyxFQUFBO0VsRXFJRztJa0UzSk47TW5Fc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRW1FRXRDLEVBQUE7SWxFcUlHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0VnRXJFTDs7SUEwQkksd0JwRThEcUQsRW9FN0R0RDtFQTNCSDtJQTZCSSx1QnBFMkRxRCxFb0V6RHREO0lBL0JIO01BOEJXLGVBQWMsRUFBSTtFQTlCN0I7O0lBa0NJLHVCcEVzRHFELEVvRTdDdEQ7SUEzQ0g7O01BcUNNLHdCcEVtRG1ELEVvRWxEcEQ7SUF0Q0w7O01Bd0NNLGlCQUFnQjtNQUNoQixVQUFTLEVBQ1Y7O0FDMUNMO0VBRUksd0JyRXNGcUQsRXFFaEZ0RDtFbkVtSkc7SW1FM0pOO01BR2tDLHlCckVxRnVCLEVxRWhGdEQsRUFBQTtFQVJIO0lBS00sVUFBUztJQUNULGlCQUFnQixFQUNqQjs7QUFQTDtFQVVJLHVCckU4RXFELEVxRXBFdEQ7RW5FdUlHO0ltRTNKTjtNQVlNLGFBQVk7TUFDWixhckUyRW1EO01xRTFFbkQscUJyRTBFbUQsRXFFcEV0RCxFQUFBO0VBcEJIO0lBaUJNLFVBQVM7SUFDVCxpQkFBZ0IsRUFDakI7O0FuRXdJQztFbUUzSk47SUF1Qk0sYUFBWTtJQUNaLGFBQVk7SUFDWixhckUrRG1EO0lxRTlEbkQscUJyRThEbUQsRXFFckR0RCxFQUFBOztBQW5DSDtFQTZCTSxpQkFBZ0I7RUFDaEIsZUFBYztFdEVzRGhCLHdCQUYrRDtFQUcvRCx1QkFIK0QsRXNFaEQ5RDtFbkV5SEM7SW1FM0pOO010RW9GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEVzRWhEOUQsRUFBQTtFbkV5SEM7SW1FM0pOO010RW9GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEVzRWhEOUQsRUFBQTtFeEUrR0g7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RVN6SUQ7SUFDRSxZWCtFdUQ7SVc5RXZELFlBQXVCO0lBVWYsd0JBSDRCO0lBSTVCLHVCQUo0QixFQTBCckM7SUptR0c7TUl0SUo7UUFZVSx5QkFINEI7UUFJNUIsd0JBSjRCLEVBMEJyQyxFQUFBO0lBWEM7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlBQVcsRUFDWjtJQUVEO01BQ0UsWVgrQ3FELEVXOUN0RDtFK0R2REw7SUFpQ1csdUJyRXVEOEMsRXFFdkRmOztBQWpDMUM7RUFxQ0ksd0JyRW1EcUQsRXFFM0N0RDtFQTdDSDtJQXVDTSxVQUFTO0lBQ1QsaUJBQWdCLEVBSWpCO0lBNUNMO01BMENlLGlCekU0QmMsRXlFNUIyQjs7QUExQ3hEO0VBK0NJLHlCckV5Q3FELEVxRW5DdEQ7RW5Fc0dHO0ltRTNKTjtNQWdEa0Msd0JyRXdDdUIsRXFFbkN0RCxFQUFBO0VBckRIO0lBa0RNLDJCQUEwQixFQUUzQjtJQXBETDtNQW1EZ0Isc0JBQXFCLEVBQUk7O0FBbkR6QztFQXdETSxlQUFjO0VBQ2QsaUJBQWdCLEVBS2pCO0VBOURMO0lBMkRRLHNCQUFxQjtJQUNyQixzQnJFNEJpRCxFcUUzQmxEOztBQTdEUDtFQWlFSSxhQUFZLEVBR2I7RW5FNEZHO0ltRWhLTjtNQWtFc0Msd0JyRXNCbUIsRXFFcEJ0RCxFQUFBOztBQ3BFSDtFdkVvRkksd0JBRitEO0VBRy9ELHVCQUgrRCxFdUVoRGxFO0VwRXlISztJb0UzSk47TXZFb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRXVFaERsRSxFQUFBO0VwRXlISztJb0UzSk47TXZFb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRXVFaERsRSxFQUFBO0V6RStHQztJQUVFLGVBQWM7SUFDZCxhQUFZLEVBTWI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFeUU5Skg7SW5FY0UsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQztJcUVoQnJDLHdCdEVvRnFELEVzRS9FdEQ7SXBFa0pHO01vRTNKTjtRckVzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFcUVYdEMsRUFBQTtJbEUwREM7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO01vRTNKTjtRbkVjRSxpQkNlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQztRcUVibkMsaUJBQWdCLEVBRW5CLEVBQUE7RXBFa0pHO0lvRTNKTjtNckVzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFcUVYdEMsRUFBQTtJcEVrSkc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RWtFckVMO0luRWNFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRXFFTHRDO0lwRTRJRztNb0UzSk47UXJFc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRXFFTHRDLEVBQUE7SWxFb0RDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNb0UzSk47UW5FY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRXFFTHRDLEVBQUE7RXBFNElHO0lvRTNKTjtNckVzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFcUVMdEMsRUFBQTtJcEU0SUc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RWtFckVMO0luRWNFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRXFFSjZCO0lwRTJJaEU7TW9FM0pOO1FyRXNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEVxRUo2QixFQUFBO0lsRW1EbEU7TUFDRSxhVGtDc0QsRVNqQ3ZEO0VrRXJFTDtJQWtCSSx3QnRFc0VxRCxFc0U5RHREO0lBMUJIO01Bb0JNLFVBQVM7TUFDVCxpQkFBZ0IsRUFJakI7TUF6Qkw7UUF1QmUsaUIxRStDYyxFMEUvQzJCO0VBdkJ4RDtJQTRCSSx5QnRFNERxRDtJc0UzRHJELGlCQUFnQixFQUNqQjtFQTlCSDtJQWdDYyxpQkFBZ0IsRUFBSTs7QUNoQ2xDO0VBQ3NCLGlCM0VxRU8sRTJFckVrQzs7QUFEL0Q7RUFLUSxzQkFBcUI7RUFDckIsYUFBWTtFQUNaLHdCdkVpRmlELEV1RWhGbEQ7O0FBUlA7RUFVeUIsaUIzRTRESSxFMkU1RHFDOztBQVZsRTtFQWNNLGlCQUFnQjtFQUNoQixVQUFTLEVBQ1Y7O0FBaEJMO0VBa0JNLHNCQUFxQjtFQUNyQixhQUFZO0VBQ1osaUIzRWtEdUIsRTJFakR4Qjs7QUNyQkw7RUFJUSxzQkFBcUI7RUFDckIsYUFBWTtFQUNaLHdCeEVrRmlELEV3RWpGbEQ7O0FBUFA7RUFTeUIsaUI1RTZESSxFNEU3RHFDOztBQVRsRTtFQWFNLHNCQUFxQjtFQUNyQixhQUFZO0VBQ1osaUI1RXVEdUIsRTRFdER4Qjs7QUNoQkw7RUFDRSxzQnpFdUZ1RCxFeUVqRnhEO0VBUEQ7SUFHSSxvQnpFcUZxRCxFeUVsRnREO0l2RXFKRztNdUUzSk47UUFJa0MscUJ6RW9GdUIsRXlFbEZ0RCxFQUFBO0lBTkg7TUFLYyxpQkFBZ0IsRUFBSTs7QUNMbEM7RTNFb0ZJLHdCQUYrRDtFQUcvRCx1QkFIK0QsRTJFakRsRTtFeEUwSEs7SXdFM0pOO00zRW9GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEUyRWpEbEUsRUFBQTtFeEUwSEs7SXdFM0pOO00zRW9GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEUyRWpEbEUsRUFBQTtFN0VnSEM7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RTZFOUpIO0l2RWNFLFdDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRXlFYnRDO0l4RW9KRztNd0UzSk47UXpFc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRXlFYnRDLEVBQUE7SXRFNERDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNd0UzSk47UXZFY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRXlFYnRDLEVBQUE7RXhFb0pHO0l3RTNKTjtNekVzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFeUVidEMsRUFBQTtJeEVvSkc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RXNFckVMO0l2RWNFLFdDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRXlFUHRDO0l4RThJRztNd0UzSk47UXpFc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRXlFUHRDLEVBQUE7SXRFc0RDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNd0UzSk47UXZFY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRXlFUHRDLEVBQUE7RXhFOElHO0l3RTNKTjtNekVzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFeUVQdEMsRUFBQTtJeEU4SUc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RXNFckVMO0l2RWNFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRXlFSXRDO0l4RW1JRztNd0UzSk47UXpFc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRXlFSXRDLEVBQUE7SXRFMkNDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNd0UzSk47UXZFY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUM7UXlFRm5DLHNCMUVzRW1ELEUwRWhFdEQsRUFBQTtFeEVtSUc7SXdFM0pOO016RXNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEV5RUl0QyxFQUFBO0l4RW1JRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQ7UXNFckVMO1VBb0JRLFlBQVc7VUFDWCxpQkFBZ0IsRUFDakIsRUFBQTtFQXRCUDtJdkVjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEV5RVdwQztJeEU0SEM7TXdFM0pOO1F6RXNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEV5RVdwQyxFQUFBO0l0RW9DRDtNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TXdFM0pOO1F2RWNFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEV5RVdwQyxFQUFBO0V4RTRIQztJd0UzSk47TXpFc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRXlFV3BDLEVBQUE7SXhFNEhDO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBOztBc0VuQ0w7RUFDRSxtQkFBa0IsRUFhbkI7RUFkRDtJQUdJLG1CQUFrQjtJQUNsQixnQjFFa0RxRDtJMEVqRHJELGUxRWlEcUQ7STBFaERyRCxpQkFBZ0IsRUFPakI7SUFiSDtNQVFNLGdCMUU4Q21EO00wRTdDbkQsaUJB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LGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEUyRW9HcEMsRUFBQTtFMUVtQ0M7STBFM0pOO00zRXNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEUyRW9HcEMsRUFBQTtJMUVtQ0M7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7SXdFckVMO01BbUdRLGVoRnJDTztNZ0ZzQ1AsMEJoRmhEVTtNZ0ZpRFYsaUI1RWJpRCxFNEVjbEQ7SUF0R1A7TUF3R1EseUI1RWhCaUQ7TTRFaUJqRCxlaEYzQ087TWdGNENQLGtCNUVsQmlEO000RW1CakQsaUJoRnJDcUI7TWdGc0NyQixlQUFjLEVBQ2Y7SUE3R1A7TUErR1EsVUFBUztNQUNULGlCQUFnQixFQUNqQjtJQWpIUDtNQW9IVSxhQUFZO01BQ1osaUJoRi9DbUIsRWdGZ0RwQjs7QUFNUDtFQUNFLGtCNUVyQ3FEO0U0RXNDckQsaUJoRnZEb0IsRWdGd0RyQjs7QUMvSEg7Ozs7Ozs7Ozs7Ozs7Ozs7RUFnQmEseUI3RXdFNEMsRTZFeEViOztBQWhCNUM7RUFrQkksa0I3RXNFcUQ7RTZFckVyRCx1QjdFcUVxRDtFNkVwRXJELHlCN0VvRXFEO0U2RW5FckQsZWpGbUNZO0VpRmxDWixxQjdFa0VxRDtFNkVqRXJELHVCN0VpRXFELEU2RWhFdEQ7O0FBeEJIO0VBMkJNLGVBQWM7RUFDZCx3QjdFNERtRCxFNkV0RHBEO0VBbENMO0lBNkJVLG1CN0UyRCtDLEU2RTNEcEI7RUE3QnJDO0lBK0JRLGVBQWM7SUFDZCx1QkFBc0IsRUFDdkI7O0FBakNQO0VBc0NNLHlCN0VrRG1ELEU2RURwRDtFQXZGTDtJQXdDUSxtQkFBa0I7SUFDbEIsWUFBVztJQUNYLGdCN0U4Q2lEO0k2RTdDakQsc0I3RTZDaUQ7STZFNUNqRCx3QjdFNENpRDtJNkUzQ2pELDBCakZpQk87SWlGaEJQLGFBQVk7SUFDWix3QjdFeUNpRDtJNkV4Q2pELGlCQUFnQixFQXFDakI7SUFyRlA7TUFrRFUseUJBQXdCO01BQ3hCLGVBQWM7TUFDZCxtQkFBa0I7TUFDbEIsT0FBTTtNQUNOLFFBQU87TUFDUCxnQjdFaUMrQztNNkVoQy9DLGdCN0VnQytDO002RS9CL0Msb0I3RStCK0M7TTZFOUIvQyxpQkFBZ0I7TUFDaEIsbUJBQWtCO01BQ2xCLDBCakZQVTtNaUZRVixlakZDSztNaUZBTCxpQzdFMEIrQztNNkV6Qi9DLG9DN0V5QitDO002RXhCL0Msb0JBQW1CO01BQ25CLG1CQUFrQjtNQUNsQix1QkFBc0I7TUFDdEIscUJBQW9CO01BQ3BCLHNCQUFxQjtNQUNyQixvQkFBbUI7TUFDbkIsa0JBQWlCO01BQ2pCLGVBQWM7TUFDZCxzQ0FBcUM7TUFDckMsb0NBQW1DO01BQ25DLHVCQUFzQixFQUN2QjtJQTNFVDtNQTZFVSxpQjdFVytDO002RVYvQyxvQjdFVStDO002RVQvQyxpQmpGUmM7TWlGU2QsMEJBQXlCO01BQ3pCLDBCakZuQks7TWlGb0JMLGFBQVk7TUFDWixpQkFBZ0IsRUFDakI7RUFwRlQ7SUFzRnVCLGNBQWEsRUFBSTs7QUN0RnhDO0UvRW9GSSx3QkFGK0Q7RUFHL0QsdUJBSCtELEUrRTJLbEU7RTVFbEdLO0k0RTNKTjtNL0VvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFK0UyS2xFLEVBQUE7RTVFbEdLO0k0RTNKTjtNL0VvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFK0UyS2xFLEVBQUE7RWpGNUdDO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VpRjlKSDs7Ozs7Ozs7Ozs7Ozs7OztJQWlCYSx5QjlFdUU0QyxFOEV2RWI7RUFqQjVDO0lBbUJJLGtCOUVxRXFEO0k4RXBFckQsdUI5RW9FcUQ7SThFbkVyRCx5QjlFbUVxRDtJOEVsRXJELGVsRmtDWTtJa0ZqQ1oscUI5RWlFcUQ7SThFaEVyRCx1QjlFZ0VxRCxFOEUvRHREO0VBekJIO0kzRWNFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRTZFU3RDO0k1RThIRztNNEUzSk47UTdFc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRTZFU3RDLEVBQUE7STFFc0NDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNNEUzSk47UTNFY0UsV0NlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQyxFNkVTdEMsRUFBQTtFNUU4SEc7STRFM0pOO003RXNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEU2RVN0QyxFQUFBO0k1RThIRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFMEVyRUw7STNFY0UsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFNkVhdEM7STVFMEhHO000RTNKTjtRN0VzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFNkVhdEMsRUFBQTtJMUVrQ0M7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO000RTNKTjtRM0VjRSxXQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEU2RWF0QyxFQUFBO0U1RTBIRztJNEUzSk47TTdFc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRTZFYXRDLEVBQUE7STVFMEhHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0UwRXJFTDtJM0VjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEU2RWdCdEM7STVFdUhHO000RTNKTjtRN0VzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFNkVnQnRDLEVBQUE7STFFK0JDO01BQ0UsYVRrQ3NELEVTakN2RDtFMEVyRUw7SUFzQ0kseUI5RWtEcUQsRThFRHREO0lBdkZIO01Bd0NNLG1CQUFrQjtNQUNsQixZQUFXO01BQ1gsZ0I5RThDbUQ7TThFN0NuRCxzQjlFNkNtRDtNOEU1Q25ELHdCOUU0Q21EO004RTNDbkQsMEJsRmlCUztNa0ZoQlQsYUFBWTtNQUNaLHdCOUV5Q21EO004RXhDbkQsaUJBQWdCLEVBcUNqQjtNQXJGTDtRQWtEUSx5QkFBd0I7UUFDeEIsZUFBYztRQUNkLG1CQUFrQjtRQUNsQixPQUFNO1FBQ04sUUFBTztRQUNQLGdCOUVp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a0JyRmErQztRcUZaL0MsaUJ6RlBnQixFeUZRakI7SUE3RVQ7TUErRTRCLHlCckZTNkIsRXFGVEU7SUEvRTNEO01BaUZRLHlCckZPaUQ7TXFGTmpELGdCckZNaUQ7TXFGTGpELG1CQUFrQjtNQUNsQixvQnJGSWlELEVxRkVsRDtNQTFGUDtRQXNGVSxlQUFjO1FBQ2Qsb0JyRkMrQztRcUZBL0MsaUJ6RmxCbUIsRXlGbUJwQjtJQXpGVDtNQTRGUSwwQnJGSmlEO01xRktqRCwwQmhERnlDLEVnREcxQzs7QUE5RlA7RWxGY0UsWUNlcUQ7RUErQnJELFlUeUN5RDtFTS9FdkQsd0JBRnFDO0VBR3JDLHVCQUhxQztFb0YrRXJDLG9CckZYcUQsRXFGZXREO0VuRm9ERztJbUYzSk47TXBGc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRW9GbUZ0QyxFQUFBO0VqRnBDQztJQUNFLGFUa0NzRCxFU2pDdkQ7RUZzRkM7SW1GM0pOO01sRmNFLGlCQ2VxRDtNQStCckQsWVR5Q3lEO01NL0V2RCx3QkFGcUM7TUFHckMsdUJBSHFDLEVvRm1GdEMsRUFBQTtFbkZvREc7SW1GM0pOO01wRnNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEVvRm1GdEMsRUFBQTtFbkZvREc7TUV4RkY7UUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7O0FpRnJFTDtFdEZpR0UsaUJDVHVEO0VEMUJyRCxtQkFBa0I7RUFDbEIsa0JBQWlCO0VJakRuQixZQ2VxRDtFQStCckQsWVR5Q3lEO0VNL0V2RCx3QkFGcUM7RUFHckMsdUJBSHFDO0VvRnNGckMsc0JyRmxCcUQ7RXFGbUJyRCx5QnJGbkJxRCxFcUYrQ3REO0V4RlVEO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VLSEc7SW1GM0pOO01wRnNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEVvRm1IdEMsRUFBQTtFakZwRUM7SUFDRSxhVGtDc0QsRVNqQ3ZEO0VBYUg7SUFFRSxZQUFXLEVBQ1o7RUZzRUc7SW1GM0pOO01BNkdNLHNCckZyQm1EO01xRnNCbkQseUJyRnRCbUQsRXFG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RjNKTjtNekZvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFeUZuRGxFLEVBQUE7RXRGNEhLO0lzRjNKTjtNekZvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFeUZuRGxFLEVBQUE7RTNGa0hDO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0UyRjlKSDtJckZjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDO0l1RmhCckMsd0J4Rm9GcUQsRXdGaEZ0RDtJdEZtSkc7TXNGM0pOO1F2RnNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEV1Rlp0QyxFQUFBO0lwRjJEQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TXNGM0pOO1FyRmNFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEV1Rlp0QyxFQUFBO0V0Rm1KRztJc0YzSk47TXZGc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRXVGWnRDLEVBQUE7SXRGbUpHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0VvRnJFTDtJckZjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEV1Rk50QztJdEY2SUc7TXNGM0pOO1F2RnNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEV1Rk50QyxFQUFBO0lwRnFEQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TXNGM0pOO1FyRmNFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEV1Rk50QyxFQUFBO0V0RjZJRztJc0YzSk47TXZGc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRXVGTnRDLEVBQUE7SXRGNklHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0VvRnJFTDtJckZjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEV1RkxzQjtJdEY0SXpEO01zRjNKTjtRdkZzQkkseUJBRnFDO1FBR3JD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RjNKTjtRekZzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFeUZMdEMsRUFBQTtJdEZvREM7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO013RjNKTjtRdkZjRSxpQkNlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQyxFeUZMdEMsRUFBQTtFeEY0SUc7SXdGM0pOO016RnNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEV5Rkx0QyxFQUFBO0l4RjRJRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFc0ZyRUw7SXZGY0UsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFeUZKc0I7SXhGMkl6RDtNd0YzSk47UXpGc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRXlGSnNCLEVBQUE7SXRGbUQzRDtNQUNFLGFUa0NzRCxFU2pDdkQ7RXNGckVMO0lBa0JJLHlCMUZzRXFEO0kwRnJFckQsaUJBQWdCLEVBQ2pCO0VBcEJIO0lBc0JjLGlCQUFnQixFQUFJOztBQ3RCbEM7RUFDQyxrQjNGdUZ3RDtFMkZ0RnZELDBCdER5RitDLEVzRC9DaEQ7RXpGK0dLO0l5RjNKTjtNQUdnQyxtQjNGcUZ5QixFMkY1Q3hELEVBQUE7RUE1Q0Q7SUFJa0IsZS9Gb0RGLEUrRnBEeUI7RUFDeEM7STVGK0VHLHdCQUYrRDtJQUcvRCx1QkFIK0QsRTRGM0VqRTtJekZvSkk7TXlGdEpMO1E1RitFRyx5QkFGK0Q7UUFHL0Qsd0JBSCtELEU0RjNFakUsRUFBQTtJekZvSkk7TXlGdEpMO1E1RitFRyx5QkFGK0Q7UUFHL0Qsd0JBSCtELEU0RjNFakUsRUFBQTtJOUYwSUE7TUFFRSxlQUFjO01BQ2QsYUFBWSxFQU1iO0lBRUQ7TUFDRSxZQUFXLEVBQ1o7RThGdEpGO0l4Rk1DLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUM7STBGVnJDLHlCM0Y4RXFELEUyRnhFdkQ7SXpGMklJO015Rm5KTDtRMUZjRyx5QkFGcUM7UUFHckMsd0JBSHFDLEUwRkp2QyxFQUFBO0l2Rm1ERTtNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TXlGbkpMO1F4Rk1DLFdDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUM7UTBGUG5DLGlCQUFnQixFQUdwQixFQUFBO0V6RjJJSTtJeUZuSkw7TTFGY0cseUJBRnFDO01BR3JDLHdCQUhxQyxFMEZKdkMsRUFBQTtJekYySUk7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7SXVGN0RIO01BT1EsWUFBVyxFQUFJO0VBRXhCO0l4RkhDLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRTBGRHZDO0l6RndJSTtNeUYxSUw7UTFGS0cseUJBRnFDO1FBR3JDLHdCQUhxQyxFMEZEdkMsRUFBQTtJdkZnREU7TUFDRSxhVGtDc0QsRVNqQ3ZEO0V1RjlDSjtJQUNDLHFCM0ZnRXVELEUyRjdEdkQ7SXpGZ0lJO015RnBJTDtRQUVnQyxrQkFBaUIsRUFFaEQsRUFBQTtJQUpBO01BR1ksaUJBQWdCLEVBQUk7RUFFakM7SUFBaUIscUIzRjREdUMsRTJGNURYO0VBQzdDO0lBQ0cscUIzRjBEcUQsRTJGdER0RDtJQUxEOztNQUdZLHNCQUFxQixFQUFJO0lBSHJDO01BSVMsdUJBQXNCLEVBQUk7RUFFcEM7SUFBb0IscUIzRnFEb0MsRTJGckRSO0VBQ2hEO0lBQWMsMEJ0RHVEa0MsRXNEdkRzQjtFekZ1SGpFO0l5RnRISjtNeEZ2QkEsV0NlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQyxFMEZzQnRDLEVBQUE7RXpGaUhHO0l5RnRISjtNMUZmRSx5QkFGcUM7TUFHckMsd0JBSHFDLEUwRnNCdEMsRUFBQTtFekZpSEc7TUV4RkY7UUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7O0F1RnhCTDtFNUZ1Q0ksd0JBRitEO0VBRy9ELHVCQUgrRDtFNEZqQ2pFLFVBQVM7RUFDVCxpQkFBZ0IsRUFNaEI7RXpGbUdJO0l5RjlHTjtNNUZ1Q0kseUJBRitEO01BRy9ELHdCQUgrRCxFNEYxQmpFLEVBQUE7RXpGbUdJO0l5RjlHTjtNNUZ1Q0kseUJBRitEO01BRy9ELHdCQUgrRCxFNEYxQmpFLEVBQUE7RTlGeUZBO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VTeklEO0lBQ0UsWVgrRXVEO0lXOUV2RCxZQUF1QjtJQVVmLHdCQUg0QjtJQUk1Qix1QkFKNEIsRUEwQnJDO0lKbUdHO01JdElKO1FBWVUseUJBSDRCO1FBSTVCLHdCQUo0QixFQTBCckMsRUFBQTtJQVhDO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlYK0NxRCxFVzlDdEQ7RXFGVkw7SUFPRyx3QjNGb0NzRCxFMkZqQ3REO0l6Rm9HRztNeUY5R047UUFRaUMseUIzRm1Dd0IsRTJGakN0RCxFQUFBO0lBVkg7TUFTa0IsaUJBQWdCLEVBQUk7O0FDdER0QztFQUNFLHFCNUZ1RnVELEU0RjFCeEQ7RTFGNkZLO0kwRjNKTjtNQUVnQyxzQjVGc0Z5QixFNEYxQnhELEVBQUE7RUEzREM7STdGaUZFLHdCQUYrRDtJQUcvRCx1QkFIK0Q7STZGN0UvRCxzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLHVCNUZrRnFELEU0RnpEdEQ7STFGNEhHO00wRnhKSjtRN0ZpRkUseUJBRitEO1FBRy9ELHdCQUgrRCxFNkZuRGhFLEVBQUE7STFGNEhHO00wRnhKSjtRN0ZpRkUseUJBRitEO1FBRy9ELHdCQUgrRCxFNkZuRGhFLEVBQUE7SS9Ga0hEO01BRUUsZUFBYztNQUNkLGFBQVksRUFNYjtJQUVEO01BQ0UsWUFBVyxFQUNaO0krRjNKQTtNekZXRCxpQkNlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQztNMkZYbkMsNkJBQW9CO1VBQXBCLHlCQUFvQjtjQUFwQixxQkFBb0IsRUFhckI7TTFGcUlDO1EwRnhKSDtVM0ZtQkMseUJBRnFDO1VBR3JDLHdCQUhxQyxFMkZFcEMsRUFBQTtNeEY2Q0Q7UUFDRSxhVGtDc0QsRVNqQ3ZEO013RmxFRjtRQVFLLG9CNUY2RWlELEU0RnpFbEQ7UTFGNElEO1UwRnhKSDtZQVNtQyxnQjVGNEVtQixFNEZ6RWxELEVBQUE7UTFGNElEO1UwRnhKSDtZQVVrQyxvQjVGMkVvQixFNEZ6RWxELEVBQUE7UUFaSjtVQVdTLHVCNUYwRTZDLEU0RjFFaEI7TUFYdEM7UUFjSyxrQkFBaUIsRUFJbEI7UUFsQko7VUFnQlcsc0I1RnFFMkMsRTRGckVmO0lBaEJ2QztNekZXRCxpQkNlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQztNMkZLbkMsNkJBQW9CO1VBQXBCLHlCQUFvQjtjQUFwQixxQkFBb0I7TUFDcEIsbUJBQWtCLEVBSW5CO00xRjZIQztRMEZ4Skg7VTNGbUJDLHlCQUZxQztVQUdyQyx3QkFIcUMsRTJGVXBDLEVBQUE7TXhGcUNEO1FBQ0UsYVRrQ3NELEVTakN2RDtFd0ZyQ0g7SUFDRSxpQkFBZ0IsRUE0QmpCO0lBN0JBO01BR0csaUJBQWdCLEVBeUJqQjtNQTVCRjtRQUlRLGdCNUZvRDhDLEU0RnBEbkI7TUFKbkM7UUFPTyxlaEd1Qks7UWdHdEJMLGdCNUZnRCtDO1E0Ri9DL0MsbUJBQWtCO1FBQ2xCLDBCaEdVUSxFZ0dUVDtNQVhOO1FBYU8sMEJBQTZDO1FBQzdDLGdCQUFlLEVBQ2hCO01BZk47UUFpQk8sYUFBWTtRQUNaLDBCdkR5Q3VDLEV1RHZDeEM7UUFwQk47VUFtQmlCLGFBQVksRUFBSTtNQW5CakM7UUFzQk8sYUFBWTtRQUNaLDBCdkRvQ3VDLEV1RGxDeEM7UUF6Qk47VUF3QmlCLGFBQVksRUFBSTtNQXhCakM7UUEwQmtCLDBCaEdKSCxFZ0dJdUM7O0FBS3pEO0VBQWlDLHNCNUZ5QndCLEU0RnpCSzs7QUFDOUQ7RUFDRSxtQkFBa0I7RUFDbEIsaUJBQWdCO0VBQ2hCLFlBQVc7RUFDWCxrQkFBaUIsRUFDbEI7O0FDckVEO0VBQ0Usa0I3RnVGdUQ7RTZGdEZ2RCwwQnhEeUYrQyxFd0RsRGhEO0UzRmtISztJMkYzSk47TUFHZ0MsbUI3RnFGeUIsRTZGL0N4RCxFQUFBO0VBckNDO0lBQWMsMEJ4RHVGaUMsRXdEdkZ1QjtFQUN0RTtJOUYrRUUsd0JBRitEO0lBRy9ELHVCQUgrRCxFOEYzRWhFO0kzRm9KRztNMkZ0Sko7UTlGK0VFLHlCQUYrRDtRQUcvRCx3QkFIK0QsRThGM0VoRSxFQUFBO0kzRm9KRztNMkZ0Sko7UTlGK0VFLHlCQUYrRDtRQUcvRCx3QkFIK0QsRThGM0VoRSxFQUFBO0loRzBJRDtNQUVFLGVBQWM7TUFDZCxhQUFZLEVBTWI7SUFFRDtNQUNFLFlBQVcsRUFDWjtFZ0d0SkQ7STFGTUEsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQztJNEZWckMseUI3RjhFcUQsRTZGeEV0RDtJM0YySUc7TTJGbkpKO1E1RmNFLHlCQUZxQztRQUdyQyx3QkFIcUMsRTRGSnRDLEVBQUE7SXpGbURDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNMkZuSko7UTFGTUEsV0NlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQztRNEZQbkMsaUJBQWdCLEVBR25CLEVBQUE7RTNGMklHO0kyRm5KSjtNNUZjRSx5QkFGcUM7TUFHckMsd0JBSHFDLEU0Rkp0QyxFQUFBO0kzRjJJRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtJeUY3REY7TUFPTyxZQUFXLEVBQUk7RUFFdkI7STFGSEEsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFNEZEdEM7STNGd0lHO00yRjFJSjtRNUZLRSx5QkFGcUM7UUFHckMsd0JBSHFDLEU0RkR0QyxFQUFBO0l6RmdEQztNQUNFLGFUa0NzRCxFU2pDdkQ7RXlGOUNIO0lBQWlCLHFCN0ZpRXNDLEU2RmpFVjtFQUM3QztJQUFhLHFCN0ZnRTBDLEU2RmhFZDtFQUN6QztJQUNFLHFCN0Y4RHFELEU2RjVEdEQ7SUFIQTtNQUVRLHVCQUFzQixFQUFJO0VBRW5DO0lBQ0UscUI3RjBEcUQsRTZGdkR0RDtJM0YwSEc7TTJGOUhKO1FBRStCLGtCQUFpQixFQUUvQyxFQUFBO0lBSkE7TUFHVyxpQkFBZ0IsRUFBSTtFM0YySDVCO0kyRnpISDtNMUZwQkQsV0NlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQyxFNEZtQnBDLEVBQUE7RTNGb0hDO0kyRnpISDtNNUZaQyx5QkFGcUM7TUFHckMsd0JBSHFDLEU0Rm1CcEMsRUFBQTtFM0ZvSEM7TUV4RkY7UUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7O0F5RjNCTDtFQUVJLFVBQVM7RUFDVCxpQkFBZ0I7RTlGdUNoQix3QkFGK0Q7RUFHL0QsdUJBSCtELEU4RjdCakU7RTNGc0dJO0kyRmpITjtNOUYwQ0kseUJBRitEO01BRy9ELHdCQUgrRCxFOEY3QmpFLEVBQUE7RTNGc0dJO0kyRmpITjtNOUYwQ0kseUJBRitEO01BRy9ELHdCQUgrRCxFOEY3QmpFLEVBQUE7RWhHNEZBO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VTeklEO0lBQ0UsWVgrRXVEO0lXOUV2RCxZQUF1QjtJQVVmLHdCQUg0QjtJQUk1Qix1QkFKNEIsRUEwQnJDO0lKbUdHO01JdElKO1FBWVUseUJBSDRCO1FBSTVCLHdCQUo0QixFQTBCckMsRUFBQTtJQVhDO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlYK0NxRCxFVzlDdEQ7RXVGYkw7SUFPRyx3QjdGdUNzRCxFNkZwQ3REO0kzRnVHRztNMkZqSE47UUFRaUMseUI3RnNDd0IsRTZGcEN0RCxFQUFBO0lBVkg7TUFTa0IsaUJBQWdCLEVBQUk7O0FDbERwQztFQUNFLHlCOUZzRnFELEU4RjlFdEQ7RUFUQTtJQUdrQixpQkFBZ0IsRUFBSTtFQUh0QztJQUtLLDJCQUEwQixFQUUzQjtJQVBKO01BTWUsc0JBQXFCLEVBQUk7O0FBSXhDO0VBQ1csaUJBQWdCLEVBQUk7O0FDWmxDO0VBQ0Usa0IvRnVGdUQ7RStGdEZ2RCwwQjFEeUYrQyxFMEQxRWhEO0U3RjBJSztJNkYzSk47TUFHZ0MsbUIvRnFGeUIsRStGdkV4RCxFQUFBO0VBVkM7SUFDRSx5Qi9GZ0ZxRDtJK0YvRXJELGlCbkc4SHNCLEVtRzdIdkI7RUFDQTtJQUVHLFlBQVc7SUFDWCxpQkFBZ0IsRUFDakI7O0FDZEg7RWpHbUZFLHdCQUYrRDtFQUcvRCx1QkFIK0Q7RWlHOUUvRCxpQkFBZ0I7RUFDaEIsaUJBQWdCLEVBbUJqQjtFOUZtSUc7SThGMUpKO01qR21GRSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEVpRzFEaEUsRUFBQTtFOUZtSUc7SThGMUpKO01qR21GRSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEVpRzFEaEUsRUFBQTtFbkd5SEQ7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RVN6SUQ7SUFDRSxZWCtFdUQ7SVc5RXZELFlBQXVCO0lBVWYsd0JBSDRCO0lBSTVCLHVCQUo0QixFQTBCckM7SUptR0c7TUl0SUo7UUFZVSx5QkFINEI7UUFJNUIsd0JBSjRCLEVBMEJyQyxFQUFBO0lBWEM7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlBQVcsRUFDWjtJQUVEO01BQ0UsWVgrQ3FELEVXOUN0RDtFMEZ0REY7SUFNMEIsMEJwRzZDWCxFb0c3QytDO0UxRmMvRDtJQUNFLFlYK0V1RDtJVzlFdkQsV0FBdUI7SUFVZix3QkFINEI7SUFJNUIsdUJBSjRCLEVBMEJyQztJSm1HRztNSXRJSjtRQVlVLHlCQUg0QjtRQUk1Qix3QkFKNEIsRUEwQnJDLEVBQUE7SUFYQztNQUNFLFlBQVcsRUFDWjtJQUVEO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxZWCtDcUQsRVc5Q3REO0VBbENIO0lBQ0UsWVgrRXVEO0lXOUV2RCxpQkFBdUI7SUFVZix3QkFINEI7SUFJNUIsdUJBSjRCLEVBMEJyQztJSm1HRztNSXRJSjtRQVlVLHlCQUg0QjtRQUk1Qix3QkFKNEIsRUEwQnJDLEVBQUE7SUFYQztNQUNFLFlBQVcsRUFDWjtJQUVEO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxZWCtDcUQsRVc5Q3REO0VBbENIO0lBQ0UsWVgrRXVEO0lXOUV2RCxXQUF1QjtJQVVmLHdCQUg0QjtJQUk1Qix1QkFKNEIsRUEwQnJDO0lKbUdHO01JdElKO1FBWVUseUJBSDRCO1FBSTVCLHdCQUo0QixFQTBCckMsRUFBQTtJQVhDO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlYK0NxRCxFVzlDdEQ7RUFsQ0g7SUFDRSxZWCtFdUQ7SVc5RXZELFdBQXVCO0lBVWYsd0JBSDRCO0lBSTVCLHVCQUo0QixFQTBCckM7SUptR0c7TUl0SUo7UUFZVSx5QkFINEI7UUFJNUIsd0JBSjRCLEVBMEJyQyxFQUFBO0lBWEM7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlBQVcsRUFDWjtJQUVEO01BQ0UsWVgrQ3FELEVXOUN0RDtFQWxDSDtJQUNFLFlYK0V1RDtJVzlFdkQsaUJBQXVCO0lBVWYsd0JBSDRCO0lBSTVCLHVCQUo0QixFQTBCckM7SUptR0c7TUl0SUo7UUFZVSx5QkFINEI7UUFJNUIsd0JBSjRCLEVBMEJyQyxFQUFBO0lBWEM7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlBQVcsRUFDWjtJQUVEO01BQ0UsWVgrQ3FELEVXOUN0RDs7QTBGOUJIO0VBRUUsaUJBQWdCLEVBQ2pCOztBQUNEO0VBQ0UsY0FBYTtFQUNiLG9CaEd5RHFELEVnR3JEdEQ7RTlGd0hHO0k4RjlISjtNQUcrQixlQUFjLEVBRzVDLEVBQUE7RTlGNkhHO0k4Rm5JSjtNQUlnQyxnQmhHdUR1QixFZ0dyRHRELEVBQUE7RTlGNkhHO0k4Rm5JSjtNQUtpQyxvQmhHc0RzQixFZ0dyRHRELEVBQUE7O0FBQ0Q7RUFDRSxZQUFXO0VBQ1gsaUJoR2tEcUQ7RWdHakRyRCwwQjNEb0Q2QyxFMkRsRDlDO0U5RmtIRztJOEZ2SEo7TUFJK0Isa0JoR2dEd0IsRWdHL0N0RCxFQUFBOztBQ3pDSDtFQUNFLGtCakd1RnVEO0VpR3RGdkQsMEI1RHlGK0MsRTREdkRoRDtFL0Z1SEs7SStGM0pOO01BR2dDLG1CakdxRnlCLEVpR3BEeEQsRUFBQTtFQWhDQztJQUNFLGNBQWE7SUFDYix5QmpHa0ZxRCxFaUcvRXREO0kvRmtKRztNK0Z2Sko7UUFHK0IsZUFBYyxFQUU1QyxFQUFBO0lBTEE7TUFJTyxZQUFXLEVBQUk7RUFFdkI7SUFFRSx5QmpHNEVxRCxFaUczRXREO0VBQ0Q7SUFBbUIsbUJqRzBFb0MsRWlHMUVUO0VBQzlDO0lBQXVCLGVBQWMsRUFBSTtFQWYzQztJQWlCSSxxQmpHdUVxRDtJaUd0RXJELGlCQUFnQjtJQUNoQiwwQkFBeUIsRUFnQjFCO0kvRndIRztNK0YzSk47UUFvQmtDLHNCakdvRXVCLEVpR3JEdEQsRUFBQTtJQW5DSDtNQXFCWSxpQzVEc0VxQyxFNER0RTBCO0lBckIzRTtNQXVCTSxpQzVEb0UyQztNNERuRTNDLDBCckdzQ1MsRXFHNUJWO01BbENMO1FBeUJxQixvQkFBbUIsRUFBSTtNQXpCNUM7UUEwQjJDLGlCckc0Q2QsRXFHNUN1RDtNQTFCcEY7UUE0QlEsYUFBWSxFQUtiO1FBakNQO1VBOEJVLG1CQUFrQjtVQUNsQiwrQjVENER1QyxFNEQzRHhDOztBQ2hDVDtFQUVJLFVBQVM7RUFDVCxpQkFBZ0IsRUFPakI7RUFWSDtJQUtNLHNCQUFxQjtJQUNyQix1QmxHa0ZtRCxFa0cvRXBEO0loR2tKQztNZ0czSk47UUFPb0Msd0JsR2lGcUIsRWtHL0VwRCxFQUFBO0lBVEw7TUFRcUIsZ0JBQWUsRUFBSTs7QUFSeEM7RUFXWSxpQkFBZ0IsRUFBSTs7QUNYaEM7RXBHb0ZJLHdCQUYrRDtFQUcvRCx1QkFIK0QsRW9HbkRsRTtFakc0SEs7SWlHM0pOO01wR29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEVvR25EbEUsRUFBQTtFakc0SEs7SWlHM0pOO01wR29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEVvR25EbEUsRUFBQTtFdEdrSEM7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RXNHNUpEO0loR1lBLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUM7SWtHaEJyQyx1Qm5Hb0ZxRCxFbUdsRnREO0lqR3FKRztNaUd6Sko7UWxHb0JFLHlCQUZxQztRQUdyQyx3QkFIcUMsRWtHZHRDLEVBQUE7SS9GNkRDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNaUd6Sko7UUFHZ0Msd0JuR21GdUIsRW1HbEZ0RCxFQUFBO0VBQ0Q7SWhHT0EsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFa0dSdEM7SWpHK0lHO01pR3BKSjtRbEdlRSx5QkFGcUM7UUFHckMsd0JBSHFDLEVrR1J0QyxFQUFBO0kvRnVEQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TWlHcEpKO1FoR09BLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEVrR1J0QyxFQUFBO0VqRytJRztJaUdwSko7TWxHZUUseUJBRnFDO01BR3JDLHdCQUhxQyxFa0dSdEMsRUFBQTtJakcrSUc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RStGeERIO0loR0NBLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUM7SWtHTHJDLG9Cbkd5RXFELEVtR25FdEQ7SWpHc0lHO01pRzlJSjtRbEdTRSx5QkFGcUM7UUFHckMsd0JBSHFDLEVrR0N0QyxFQUFBO0kvRjhDQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TWlHOUlKO1FBR2dDLHFCbkd3RXVCLEVtR25FdEQsRUFBQTtJakdzSUc7TWlHOUlKO1FoR0NBLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDO1FrR0RuQyxjQUFhLEVBRWhCLEVBQUE7RWpHc0lHO0lpRzlJSjtNbEdTRSx5QkFGcUM7TUFHckMsd0JBSHFDLEVrR0N0QyxFQUFBO0lqR3NJRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFK0YvQ0g7SUFDRSx5Qm5HaUVxRDtJbUdoRXJELGlCdkcrR3NCLEV1RzlHdkI7RUFDRDtJQUNFLG9Cbkc2RHFELEVtRzFEdEQ7SWpHNkhHO01pR2pJSjtRQUVnQyxxQm5HNER1QixFbUcxRHRELEVBQUE7SUFKQTtNQUdXLGlCQUFnQixFQUFJOztBQzVCaEM7RUFDRSxxQnBHc0ZxRCxFb0cvRXREO0VsR2tKRztJa0cxSko7TUFFZ0Msb0JwR3FGdUIsRW9HL0V0RCxFQUFBO0VBUkE7SUFJRyxzQkFBcUI7SUFDckIsdUJwR2tGbUQ7SW9HakZuRCxxQnBHaUZtRCxFb0doRnBEOztBQ1JMO0VBRUksd0JyR3NGcUQsRXFHL0V0RDtFbkdrSkc7SW1HM0pOO01BR2tDLHlCckdxRnVCLEVxRy9FdEQsRUFBQTtFQVRIO0lBS00sWUFBVztJQUNYLGlCckdrRm1ELEVxR2hGcEQ7SW5HbUpDO01tRzNKTjtRQU9vQyxjckdpRnFCLEVxR2hGcEQsRUFBQTs7QUFSTDtFQVdJLHdCckc2RXFELEVxR3ZFdEQ7RW5HMElHO0ltRzNKTjtNQVlrQyx5QnJHNEV1QixFcUd2RXRELEVBQUE7RUFqQkg7SUFjTSxVQUFTO0lBQ1QsaUJBQWdCLEVBQ2pCOztBQWhCTDtFQW1CSSx1QnJHcUVxRCxFcUczRHREO0VuRzhIRztJbUczSk47TUFxQk0sYUFBWTtNQUNaLGFyR2tFbUQ7TXFHakVuRCxxQnJHaUVtRCxFcUczRHRELEVBQUE7RUE3Qkg7SUEwQk0sVUFBUztJQUNULGlCQUFnQixFQUNqQjs7QW5HK0hDO0VtRzNKTjtJQWdDTSxhQUFZO0lBQ1osYUFBWTtJQUNaLGFyR3NEbUQ7SXFHckRuRCxxQnJHcURtRCxFcUc1Q3RELEVBQUE7O0FBNUNIO0VBc0NNLGlCQUFnQjtFQUNoQixlQUFjO0V0RzZDaEIsd0JBRitEO0VBRy9ELHVCQUgrRCxFc0d2QzlEO0VuR2dIQztJbUczSk47TXRHb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRXNHdkM5RCxFQUFBO0VuR2dIQztJbUczSk47TXRHb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRXNHdkM5RCxFQUFBO0V4R3NHSDtJQUVFLGVBQWM7SUFDZCxhQUFZLEVBTWI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFU3pJRDtJQUNFLFlYK0V1RDtJVzlFdkQsWUFBdUI7SUFVZix3QkFINEI7SUFJNUIsdUJBSjRCLEVBMEJyQztJSm1HRztNSXRJSjtRQVlVLHlCQUg0QjtRQUk1Qix3QkFKNEIsRUEwQnJDLEVBQUE7SUFYQztNQUNFLFlBQVcsRUFDWjtJQUVEO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxZWCtDcUQsRVc5Q3REO0UrRnZETDtJQTBDVyx1QnJHOEM4QyxFcUc5Q2Y7O0FBMUMxQztFQThDSSx5QnJHMENxRCxFcUdwQ3REO0VuR3VHRztJbUczSk47TUErQ2tDLHdCckd5Q3VCLEVxR3BDdEQsRUFBQTtFQXBESDtJQWlETSwyQkFBMEIsRUFFM0I7SUFuREw7TUFrRGdCLHNCQUFxQixFQUFJOztBQWxEekM7RUF1RE0sZUFBYztFQUNkLGlCQUFnQixFQUtqQjtFQTdETDtJQTBEUSxzQkFBcUI7SUFDckIsc0JyRzZCaUQsRXFHNUJsRDs7QUE1RFA7RUFnRUksd0JyR3dCcUQsRXFHckJ0RDtFbkd3Rkc7SW1HM0pOO01BaUVrQyx5QnJHdUJ1QixFcUdyQnRELEVBQUE7O0FBbkVIO0VBcUVJLGFBQVksRUFHYjtFbkd3Rkc7SW1HaEtOO01Bc0VzQyx3QnJHa0JtQixFcUdoQnRELEVBQUE7O0FDeEVIO0VBRUksd0J0R3NGcUQsRXNHaEZ0RDtFcEdtSkc7SW9HM0pOO01BR2tDLHlCdEdxRnVCLEVzR2hGdEQsRUFBQTtFQVJIO0lBS00sVUFBUztJQUNULGlCQUFnQixFQUNqQjs7QUFQTDtFQVVJLHVCdEc4RXFELEVzR3BFdEQ7RXBHdUlHO0lvRzNKTjtNQVlNLGFBQVk7TUFDWixhdEcyRW1EO01zRzFFbkQscUJ0RzBFbUQsRXNHcEV0RCxFQUFBO0VBcEJIO0lBaUJNLFVBQVM7SUFDVCxpQkFBZ0IsRUFDakI7O0FwR3dJQztFb0czSk47SUF1Qk0sYUFBWTtJQUNaLGFBQVk7SUFDWixhdEcrRG1EO0lzRzlEbkQscUJ0RzhEbUQsRXNHckR0RCxFQUFBOztBQW5DSDtFQTZCTSxpQkFBZ0I7RUFDaEIsZUFBYztFdkdzRGhCLHdCQUYrRDtFQUcvRCx1QkFIK0QsRXVHaEQ5RDtFcEd5SEM7SW9HM0pOO012R29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEV1R2hEOUQsRUFBQTtFcEd5SEM7SW9HM0pOO012R29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEV1R2hEOUQsRUFBQTtFekcrR0g7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RVN6SUQ7SUFDRSxZWCtFdUQ7SVc5RXZELFlBQXVCO0lBVWYsd0JBSDRCO0lBSTVCLHVCQUo0QixFQTBCckM7SUptR0c7TUl0SUo7UUFZVSx5QkFINEI7UUFJNUIsd0JBSjRCLEVBMEJyQyxFQUFBO0lBWEM7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlBQVcsRUFDWjtJQUVEO01BQ0UsWVgrQ3FELEVXOUN0RDtFZ0d2REw7SUFpQ1csdUJ0R3VEOEMsRXNHdkRmOztBQWpDMUM7RUFxQ0kseUJ0R21EcUQsRXNHMUN0RDtFcEc2R0c7SW9HM0pOO01Bc0NrQyx3QnRHa0R1QixFc0cxQ3RELEVBQUE7RUE5Q0g7SUF3Q3FCLGlCQUFnQixFQUFJO0VBeEN6QztJQTBDUSwyQkFBMEIsRUFFM0I7SUE1Q1A7TUEyQ2tCLHNCQUFxQixFQUFJOztBQTNDM0M7RUFpRE0sZUFBYztFQUNkLGlCQUFnQixFQUtqQjtFQXZETDtJQW9EUSxzQkFBcUI7SUFDckIsc0J0R21DaUQsRXNHbENsRDs7QUF0RFA7RXZHaUdFLGlCQ1R1RDtFRDFCckQsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFdUdKakIsd0J0RzZCcUQsRXNHM0J0RDtFekdvRkQ7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RUtIRztJb0czSk47TUE0RGtDLHlCdEc0QnVCLEVzRzNCdEQsRUFBQTs7QUE3REg7RUErREksYUFBWSxFQUdiO0VwRzhGRztJb0doS047TUFnRXNDLHdCdEd3Qm1CLEVzR3RCdEQsRUFBQTs7QUNsRUg7RUFFSSx3QnZHc0ZxRCxFdUdoRnREO0VyR21KRztJcUczSk47TUFHa0MseUJ2R3FGdUIsRXVHaEZ0RCxFQUFBO0VBUkg7SUFLTSxVQUFTO0lBQ1QsaUJBQWdCLEVBQ2pCOztBQVBMO0VBVUksdUJ2RzhFcUQsRXVHbkV0RDtFckdzSUc7SXFHM0pOO01BWU0sYUFBWTtNQUNaLGF2RzJFbUQ7TXVHMUVuRCxxQnZHMEVtRCxFdUduRXRELEVBQUE7RXJHc0lHO0lxRzNKTjtNQWdCaUMsYXZHd0V3QixFdUduRXRELEVBQUE7RUFyQkg7SUFrQk0sVUFBUztJQUNULGlCQUFnQixFQUNqQjs7QXJHdUlDO0VxRzNKTjtJQXdCTSxhQUFZO0lBQ1osYUFBWTtJQUNaLGF2RzhEbUQ7SXVHN0RuRCxxQnZHNkRtRCxFdUduRHRELEVBQUE7O0FyR3NIRztFcUczSk47SUE2QmlDLGF2RzJEd0IsRXVHbkR0RCxFQUFBOztBQXJDSDtFQStCTSxpQkFBZ0I7RUFDaEIsZUFBYztFeEdvRGhCLHdCQUYrRDtFQUcvRCx1QkFIK0QsRXdHOUM5RDtFckd1SEM7SXFHM0pOO014R29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEV3RzlDOUQsRUFBQTtFckd1SEM7SXFHM0pOO014R29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEV3RzlDOUQsRUFBQTtFMUc2R0g7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RVN6SUQ7SUFDRSxZWCtFdUQ7SVc5RXZELFlBQXVCO0lBVWYsd0JBSDRCO0lBSTVCLHVCQUo0QixFQTBCckM7SUptR0c7TUl0SUo7UUFZVSx5QkFINEI7UUFJNUIsd0JBSjRCLEVBMEJyQyxFQUFBO0lBWEM7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlBQVcsRUFDWjtJQUVEO01BQ0UsWVgrQ3FELEVXOUN0RDtFaUd2REw7SUFtQ1csdUJ2R3FEOEMsRXVHckRmOztBQW5DMUM7RUF1Q0kseUJ2R2lEcUQsRXVHeEN0RDtFckcyR0c7SXFHM0pOO01Bd0NrQyx3QnZHZ0R1QixFdUd4Q3RELEVBQUE7RUFoREg7SUEwQ3FCLGlCQUFnQixFQUFJO0VBMUN6QztJQTRDUSwyQkFBMEIsRUFFM0I7SUE5Q1A7TUE2Q2tCLHNCQUFxQixFQUFJOztBQTdDM0M7RUFtRE0sZUFBYztFQUNkLGlCQUFnQixFQUtqQjtFQXpETDtJQXNEUSxzQkFBcUI7SUFDckIsc0J2R2lDaUQsRXVHaENsRDs7QUF4RFA7RXhHaUdFLGlCQ1R1RDtFRDFCckQsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFd0dGakIsd0J2RzJCcUQsRXVHekJ0RDtFMUdrRkQ7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RUtIRztJcUczSk47TUE4RGtDLHlCdkcwQnVCLEV1R3pCdEQsRUFBQTs7QUEvREg7RUFpRUksYUFBWSxFQUdiO0VyRzRGRztJcUdoS047TUFrRXNDLHdCdkdzQm1CLEV1R3BCdEQsRUFBQTs7QUNwRUg7RXpHb0ZJLHdCQUYrRDtFQUcvRCx1QkFIK0QsRXlHbERsRTtFdEcySEs7SXNHM0pOO016R29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEV5R2xEbEUsRUFBQTtFdEcySEs7SXNHM0pOO016R29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEV5R2xEbEUsRUFBQTtFM0dpSEM7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RTJHOUpIO0lyR2NFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUM7SXVHaEJyQyx3QnhHb0ZxRCxFd0cvRXREO0l0R2tKRztNc0czSk47UXZHc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRXVHWHRDLEVBQUE7SXBHMERDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNc0czSk47UXJHY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUM7UXVHYm5DLGlCQUFnQixFQUVuQixFQUFBO0V0R2tKRztJc0czSk47TXZHc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRXVHWHRDLEVBQUE7SXRHa0pHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0VvR3JFTDtJckdjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEV1R0x0QztJdEc0SUc7TXNHM0pOO1F2R3NCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEV1R0x0QyxFQUFBO0lwR29EQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TXNHM0pOO1FyR2NFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEV1R0x0QyxFQUFBO0V0RzRJRztJc0czSk47TXZHc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRXVHTHRDLEVBQUE7SXRHNElHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0VvR3JFTDtJckdjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEV1R0pxQjtJdEcySXhEO01zRzNKTjtRdkdzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFdUdKcUIsRUFBQTtJcEdtRDFEO01BQ0UsYVRrQ3NELEVTakN2RDtFb0dyRUw7SUFtQkksd0J4R3FFcUQsRXdHcEV0RDtFQXBCSDtJQXVCSSx3QnhHaUVxRCxFd0doRXREO0VBeEJIO0lBMEJJLHlCeEc4RHFEO0l3RzdEckQsaUI1RzRHc0IsRTRHM0d2QjtFQTVCSDtJQThCYyxpQkFBZ0IsRUFBSTs7QUM5QmxDO0UxR29GSSx3QkFGK0Q7RUFHL0QsdUJBSCtELEUwR25EbEU7RXZHNEhLO0l1RzNKTjtNMUdvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFMEduRGxFLEVBQUE7RXZHNEhLO0l1RzNKTjtNMUdvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFMEduRGxFLEVBQUE7RTVHa0hDO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0U0RzlKSDtJdEdjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDO0l3R2hCckMsd0J6R29GcUQsRXlHaEZ0RDtJdkdtSkc7TXVHM0pOO1F4R3NCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEV3R1p0QyxFQUFBO0lyRzJEQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TXVHM0pOO1F0R2NFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEV3R1p0QyxFQUFBO0V2R21KRztJdUczSk47TXhHc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRXdHWnRDLEVBQUE7SXZHbUpHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0VxR3JFTDtJdEdjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEV3R050QztJdkc2SUc7TXVHM0pOO1F4R3NCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEV3R050QyxFQUFBO0lyR3FEQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TXVHM0pOO1F0R2NFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEV3R050QyxFQUFBO0V2RzZJRztJdUczSk47TXhHc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRXdHTnRDLEVBQUE7SXZHNklHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0VxR3JFTDtJdEdjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEV3R0xxQjtJdkc0SXhEO011RzNKTjtReEdzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFd0dMcUIsRUFBQTtJckdvRDFEO01BQ0UsYVRrQ3NELEVTakN2RDtFcUdyRUw7SUFrQkksd0J6R3NFcUQsRXlHckV0RDtFQW5CSDtJQXNCSSx3QnpHa0VxRCxFeUdqRXREO0VBdkJIO0lBeUJJLHlCekcrRHFEO0l5RzlEckQsaUJBQWdCLEVBQ2pCO0VBM0JIO0lBNkJjLGlCQUFnQixFQUFJOztBQzdCbEM7RUFFSSx1QjFHc0ZxRCxFMEdqRnREO0VBUEg7SUFJTSxVQUFTO0lBQ1QsaUJBQWdCLEVBQ2pCOztBQU5MO0VBU0ksdUIxRytFcUQsRTBHckV0RDtFeEd3SUc7SXdHM0pOO01BV00sYUFBWTtNQUNaLGExRzRFbUQ7TTBHM0VuRCxxQjFHMkVtRCxFMEdyRXRELEVBQUE7RUFuQkg7SUFnQk0sVUFBUztJQUNULGlCQUFnQixFQUNqQjs7QXhHeUlDO0V3RzNKTjtJQXNCTSxhQUFZO0lBQ1osYUFBWTtJQUNaLGExR2dFbUQ7STBHL0RuRCxxQjFHK0RtRCxFMEd0RHRELEVBQUE7O0FBbENIO0VBNEJNLGlCQUFnQjtFQUNoQixlQUFjO0UzR3VEaEIsd0JBRitEO0VBRy9ELHVCQUgrRCxFMkdqRDlEO0V4RzBIQztJd0czSk47TTNHb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRTJHakQ5RCxFQUFBO0V4RzBIQztJd0czSk47TTNHb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRTJHakQ5RCxFQUFBO0U3R2dISDtJQUVFLGVBQWM7SUFDZCxhQUFZLEVBTWI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFU3pJRDtJQUNFLFlYK0V1RDtJVzlFdkQsWUFBdUI7SUFVZix3QkFINEI7SUFJNUIsdUJBSjRCLEVBMEJyQztJSm1HRztNSXRJSjtRQVlVLHlCQUg0QjtRQUk1Qix3QkFKNEIsRUEwQnJDLEVBQUE7SUFYQztNQUNFLFlBQVcsRUFDWjtJQUVEO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxZWCtDcUQsRVc5Q3REO0VvR3ZETDtJQWdDVyx1QjFHd0Q4QyxFMEd4RGY7O0FBaEMxQztFQW9DSSx5QjFHb0RxRCxFMEczQ3REO0V4RzhHRztJd0czSk47TUFxQ2tDLHdCMUdtRHVCLEUwRzNDdEQsRUFBQTtFQTdDSDtJQXVDcUIsaUJBQWdCLEVBQUk7RUF2Q3pDO0lBeUNRLDJCQUEwQixFQUUzQjtJQTNDUDtNQTBDa0Isc0JBQXFCLEVBQUk7O0FBMUMzQztFQWdETSxlQUFjO0VBQ2QsaUJBQWdCLEVBS2pCO0VBdERMO0lBbURRLHNCQUFxQjtJQUNyQixzQjFHb0NpRCxFMEduQ2xEOztBQXJEUDtFQXlESSxhQUFZLEVBR2I7RXhHb0dHO0l3R2hLTjtNQTBEc0Msd0IxRzhCbUIsRTBHNUJ0RCxFQUFBOztBQzVESDtFNUdvRkksd0JBRitEO0VBRy9ELHVCQUgrRCxFNEcxRGxFO0V6R21JSztJeUczSk47TTVHb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRTRHMURsRSxFQUFBO0V6R21JSztJeUczSk47TTVHb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRTRHMURsRSxFQUFBO0U5R3lIQztJQUVFLGVBQWM7SUFDZCxhQUFZLEVBTWI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFOEc5Skg7SXhHY0UsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQztJMEdoQnJDLHdCM0dvRnFELEUyRy9FdEQ7SXpHa0pHO015RzNKTjtRMUdzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFMEdYdEMsRUFBQTtJdkcwREM7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO015RzNKTjtReEdjRSxpQkNlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQztRMEdibkMsaUJBQWdCLEVBRW5CLEVBQUE7RXpHa0pHO0l5RzNKTjtNMUdzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFMEdYdEMsRUFBQTtJekdrSkc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RXVHckVMO0l4R2NFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRTBHTHRDO0l6RzRJRztNeUczSk47UTFHc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRTBHTHRDLEVBQUE7SXZHb0RDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNeUczSk47UXhHY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRTBHTHRDLEVBQUE7RXpHNElHO0l5RzNKTjtNMUdzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFMEdMdEMsRUFBQTtJekc0SUc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RXVHckVMO0l4R2NFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRTBHSnFCO0l6RzJJeEQ7TXlHM0pOO1ExR3NCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEUwR0pxQixFQUFBO0l2R21EMUQ7TUFDRSxhVGtDc0QsRVNqQ3ZEO0V1R3JFTDtJQWtCSSx5QjNHc0VxRDtJMkdyRXJELGlCQUFnQixFQUNqQjtFQXBCSDtJQXNCYyxpQkFBZ0IsRUFBSTs7QUN0QmxDO0VBRUksd0I1RzJGUztFNEcxRlQsaUJBQWdCLEVBS2pCO0VBUkg7SUFLTSxzQkFBcUI7SUFDckIsdUI1R2tGbUQsRTRHakZwRDs7QUFFRjtFQUNRLGlCaEg0RGtCLEVnSDVEdUI7O0FBSWhEO0VBQ0Usc0JBQXFCO0VBQ3JCLHdCNUd3RW1ELEU0R3ZFcEQ7O0FBTEY7RUFPRyxzQkFBcUI7RUFDckIsVUFBUztFQUNULGlCQUFnQixFQWdCakI7RUF6QkY7SUFXSyxzQkFBcUI7SUFDckIsaUJoSDhDcUIsRWdIbEN0QjtJQXhCSjtNQWNPLGFBQVk7TUFDWix3QjVHNkQrQztNNEc1RC9DLGlCaEh5Q2dCLEVnSHhDakI7SUFqQk47TUFvQlMsWUFBVztNQUNYLGdCQUFlLEVBQ2hCOztBQ2xDWDtFQUN1Qix1QjdHdUZrQyxFNkd2Rkg7O0FBRHREO0VBR0ksdUI3R3FGcUQsRTZHaEZ0RDtFQVJIO0lBS00sVUFBUztJQUNULGlCQUFnQixFQUNqQjs7QUFQTDtFQVVJLHVCN0c4RXFELEU2R3BFdEQ7RTNHdUlHO0kyRzNKTjtNQVlNLGFBQVk7TUFDWixhN0cyRW1EO002RzFFbkQscUI3RzBFbUQsRTZHcEV0RCxFQUFBO0VBcEJIO0lBaUJNLFVBQVM7SUFDVCxpQkFBZ0IsRUFDakI7O0EzR3dJQztFMkczSk47SUF1Qk0sYUFBWTtJQUNaLGFBQVk7SUFDWixhN0crRG1EO0k2RzlEbkQscUI3RzhEbUQsRTZHckR0RCxFQUFBOztBQW5DSDtFQTZCTSxpQkFBZ0I7RUFDaEIsZUFBYztFOUdzRGhCLHdCQUYrRDtFQUcvRCx1QkFIK0QsRThHaEQ5RDtFM0d5SEM7STJHM0pOO005R29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEU4R2hEOUQsRUFBQTtFM0d5SEM7STJHM0pOO005R29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEU4R2hEOUQsRUFBQTtFaEgrR0g7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RVN6SUQ7SUFDRSxZWCtFdUQ7SVc5RXZELFlBQXVCO0lBVWYsd0JBSDRCO0lBSTVCLHVCQUo0QixFQTBCckM7SUptR0c7TUl0SUo7UUFZVSx5QkFINEI7UUFJNUIsd0JBSjRCLEVBMEJyQyxFQUFBO0lBWEM7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlBQVcsRUFDWjtJQUVEO01BQ0UsWVgrQ3FELEVXOUN0RDtFdUd2REw7SUFpQ1csdUI3R3VEOEMsRTZHdkRmOztBQWpDMUM7RUFzQ00sZUFBYztFQUNkLGlCQUFnQixFQUtqQjtFQTVDTDtJQXlDUSxzQkFBcUI7SUFDckIsc0I3RzhDaUQsRTZHN0NsRDs7QUMzQ1A7RS9Hb0ZJLHdCQUYrRDtFQUcvRCx1QkFIK0QsRStHbkRsRTtFNUc0SEs7STRHM0pOO00vR29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEUrR25EbEUsRUFBQTtFNUc0SEs7STRHM0pOO00vR29GSSx5QkFGK0Q7TUFHL0Qsd0JBSCtELEUrR25EbEUsRUFBQTtFakhrSEM7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RWlIOUpIO0kzR2NFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUM7STZHaEJyQyx3QjlHb0ZxRCxFOEdoRnREO0k1R21KRztNNEczSk47UTdHc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRTZHWnRDLEVBQUE7STFHMkRDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNNEczSk47UTNHY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRTZHWnRDLEVBQUE7RTVHbUpHO0k0RzNKTjtNN0dzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFNkdadEMsRUFBQTtJNUdtSkc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RTBHckVMO0kzR2NFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRTZHTnRDO0k1RzZJRztNNEczSk47UTdHc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRTZHTnRDLEVBQUE7STFHcURDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNNEczSk47UTNHY0UsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRTZHTnRDLEVBQUE7RTVHNklHO0k0RzNKTjtNN0dzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFNkdOdEMsRUFBQTtJNUc2SUc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RTBHckVMO0kzR2NFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRTZHTHFCO0k1RzRJeEQ7TTRHM0pOO1E3R3NCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEU2R0xxQixFQUFBO0kxR29EMUQ7TUFDRSxhVGtDc0QsRVNqQ3ZEO0UwR3JFTDtJQWtCSSx3QjlHc0VxRCxFOEdyRXREO0VBbkJIO0lBc0JJLHdCOUdrRXFELEU4R2pFdEQ7RUF2Qkg7SUF5QkkseUI5RytEcUQ7SThHOURyRCxpQkFBZ0IsRUFDakI7RUEzQkg7SUE2QmMsaUJBQWdCLEVBQUk7O0FDN0JsQztFQUN1Qix1Qi9HdUZrQyxFK0d2Rkg7O0FBRHREO0VBR0ksdUIvR3FGcUQsRStHaEZ0RDtFQVJIO0lBS00sVUFBUztJQUNULGlCQUFnQixFQUNqQjs7QUFQTDtFQVVJLHVCL0c4RXFELEUrR25FdEQ7RTdHc0lHO0k2RzNKTjtNQVlNLGFBQVk7TUFDWixhL0cyRW1EO00rRzFFbkQscUIvRzBFbUQsRStHbkV0RCxFQUFBO0U3R3NJRztJNkczSk47TUFnQmlDLGEvR3dFd0IsRStHbkV0RCxFQUFBO0VBckJIO0lBa0JNLFVBQVM7SUFDVCxpQkFBZ0IsRUFDakI7O0E3R3VJQztFNkczSk47SUF3Qk0sYUFBWTtJQUNaLGFBQVk7SUFDWixhL0c4RG1EO0krRzdEbkQscUIvRzZEbUQsRStHbkR0RCxFQUFBOztBN0dzSEc7RTZHM0pOO0lBNkJpQyxhL0cyRHdCLEUrR25EdEQsRUFBQTs7QUFyQ0g7RUErQk0saUJBQWdCO0VBQ2hCLGVBQWM7RWhIb0RoQix3QkFGK0Q7RUFHL0QsdUJBSCtELEVnSDlDOUQ7RTdHdUhDO0k2RzNKTjtNaEhvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFZ0g5QzlELEVBQUE7RTdHdUhDO0k2RzNKTjtNaEhvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFZ0g5QzlELEVBQUE7RWxINkdIO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VTeklEO0lBQ0UsWVgrRXVEO0lXOUV2RCxZQUF1QjtJQVVmLHdCQUg0QjtJQUk1Qix1QkFKNEIsRUEwQnJDO0lKbUdHO01JdElKO1FBWVUseUJBSDRCO1FBSTVCLHdCQUo0QixFQTBCckMsRUFBQTtJQVhDO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlYK0NxRCxFVzlDdEQ7RXlHdkRMO0lBbUNXLHVCL0dxRDhDLEUrR3JEZjs7QUFuQzFDO0VBd0NNLGVBQWM7RUFDZCxpQkFBZ0IsRUFLakI7RUE5Q0w7SUEyQ1Esc0JBQXFCO0lBQ3JCLHNCL0c0Q2lELEUrRzNDbEQ7O0FDN0NQO0VqSG9GSSx3QkFGK0Q7RUFHL0QsdUJBSCtELEVpSDFEbEU7RTlHbUlLO0k4RzNKTjtNakhvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFaUgxRGxFLEVBQUE7RTlHbUlLO0k4RzNKTjtNakhvRkkseUJBRitEO01BRy9ELHdCQUgrRCxFaUgxRGxFLEVBQUE7RW5IeUhDO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VtSDlKSDtJN0djRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDO0krR2hCckMsd0JoSG9GcUQsRWdIL0V0RDtJOUdrSkc7TThHM0pOO1EvR3NCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEUrR1h0QyxFQUFBO0k1RzBEQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TThHM0pOO1E3R2NFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDO1ErR2JuQyxpQkFBZ0IsRUFFbkIsRUFBQTtFOUdrSkc7SThHM0pOO00vR3NCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEUrR1h0QyxFQUFBO0k5R2tKRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFNEdyRUw7STdHY0UsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFK0dMdEM7STlHNElHO004RzNKTjtRL0dzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFK0dMdEMsRUFBQTtJNUdvREM7TUFDRSxhVGtDc0QsRVNqQ3ZEO0lGc0ZDO004RzNKTjtRN0djRSxpQkNlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQyxFK0dMdEMsRUFBQTtFOUc0SUc7SThHM0pOO00vR3NCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEUrR0x0QyxFQUFBO0k5RzRJRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFNEdyRUw7STdHY0UsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFK0dKcUI7STlHMkl4RDtNOEczSk47US9Hc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRStHSnFCLEVBQUE7STVHbUQxRDtNQUNFLGFUa0NzRCxFU2pDdkQ7RTRHckVMO0lBa0JJLHlCaEhzRXFEO0lnSHJFckQsaUJBQWdCLEVBQ2pCO0VBcEJIO0lBc0JjLGlCQUFnQixFQUFJOztBQ3RCbEM7RWxIb0ZJLHdCQUYrRDtFQUcvRCx1QkFIK0Q7RWtIaEZqRSx5QmpIc0Z1RCxFaUhqRXhEO0UvR29JSztJK0czSk47TWxIb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRWtIM0RsRSxFQUFBO0UvR29JSztJK0czSk47TWxIb0ZJLHlCQUYrRDtNQUcvRCx3QkFIK0QsRWtIM0RsRSxFQUFBO0VwSDBIQztJQUVFLGVBQWM7SUFDZCxhQUFZLEVBTWI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFb0gzSkQ7STlHV0EsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFZ0hkdEM7SS9HcUpHO00rR3hKSjtRaEhtQkUseUJBRnFDO1FBR3JDLHdCQUhxQyxFZ0hkdEMsRUFBQTtJN0c2REM7TUFDRSxhVGtDc0QsRVNqQ3ZEO0U2R3JFTDtJOUdjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEVnSFJ0QztJL0crSUc7TStHM0pOO1FoSHNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEVnSFJ0QyxFQUFBO0k3R3VEQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TStHM0pOO1E5R2NFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEVnSFJ0QyxFQUFBO0UvRytJRztJK0czSk47TWhIc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRWdIUnRDLEVBQUE7SS9HK0lHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0U2R3JFTDtJOUdjRSxZQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEVnSEV0QztJL0dxSUc7TStHM0pOO1FoSHNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEVnSEV0QyxFQUFBO0k3RzZDQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TStHM0pOO1E5R2NFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEVnSEV0QyxFQUFBO0UvR3FJRztJK0czSk47TWhIc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRWdIRXRDLEVBQUE7SS9HcUlHO1FFeEZGO1VBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0k2R3JFTDtNQW1CTSxpQkFBZ0IsRUFF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QUNFLDBCZnNHdUU7SWVyR3ZFLGVmcEZXLEVlcUZaOztBc0gxSEQ7RWxJMkRFLHdCQUYrRDtFQUcvRCx1QkFIK0Q7RWtJdkQvRCx5QmpJNkRxRCxFaUloRHREO0UvSG1IRztJK0hsSUo7TWxJMkRFLHlCQUYrRDtNQUcvRCx3QkFIK0QsRWtJMUNoRSxFQUFBO0UvSG1IRztJK0hsSUo7TWxJMkRFLHlCQUYrRDtNQUcvRCx3QkFIK0QsRWtJMUNoRSxFQUFBO0VwSXlHRDtJQUVFLGVBQWM7SUFDZCxhQUFZLEVBTWI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFb0lsSUM7STlIZEYsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFZ0lhcEM7SS9IMEhDO00rSC9IRjtRaElOQSx5QkFGcUM7UUFHckMsd0JBSHFDLEVnSWFwQyxFQUFBO0k3SGtDRDtNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TStIL0hGO1E5SGRGLFdDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRWdJYXBDLEVBQUE7RS9IMEhDO0krSC9IRjtNaElOQSx5QkFGcUM7TUFHckMsd0JBSHFDLEVnSWFwQyxFQUFBO0kvSDBIQztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFNkhuQ0Q7STlIcEJGLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRWdJbUJwQztJL0hvSEM7TStIekhGO1FoSVpBLHlCQUZxQztRQUdyQyx3QkFIcUMsRWdJbUJwQyxFQUFBO0k3SDRCRDtNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TStIekhGO1E5SHBCRixXQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEVnSW1CcEMsRUFBQTtFL0hvSEM7SStIekhGO01oSVpBLHlCQUZxQztNQUdyQyx3QkFIcUMsRWdJbUJwQyxFQUFBO0kvSG9IQztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTs7QTZINUJIO0VBQVUsd0JqSStDNkMsRWlJL0NkOztBL0hrSHJDO0UrSGpISjtJQUNnQyxhQUFZLEVBQzNDLEVBQUE7O0FBQ0Q7RUFDRSxVQUFTO0VBQ1QsV0FBVTtFQUNWLGlCQUFnQixFQUNqQjs7QUFDRDtFQUFlLHlCaklzQ3dDLEVpSXRDVDs7QUFDN0M7RXRIOEJELHNCQUFxQjtFQUNyQix1QkFBc0I7RUFDdEIsbUJmaUtrQztFZXZKaEMsMEJYTHFEO0VXUXZELHlCQUF3QjtFQUN4Qiw4QkFBNkI7RUFDN0IsaUJmMUJlO0VlMkJmLGtFZmtLdUU7RWVoS3ZFLG9CWGJ1RDtFV2N2RCxlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLGdCQUFlO0VBcUNmLDBCZnpGZ0I7RWUwRmhCLGVmaEZhLEVxSVJWO0UzSTYwU0g7SU9qdFNFLFdBQVUsRUFDWDtFY25DRDtJQUNFLDBCZnNHdUU7SWVyR3ZFLGVmcEZXLEVlcUZaOztBc0gxRkg7RUFDRSxrQmpJOEJ1RDtFaUk3QnZELDBCcklHYSxFcUlvQ2Q7RS9IeURLO0krSGxHTjtNQUdnQyxtQmpJNEJ5QixFaUlVeEQsRUFBQTtFQXJDQztJbEl1QkUsd0JBRitEO0lBRy9ELHVCQUgrRDtJa0luQi9ELHlCakl5QnFELEVpSVh0RDtJL0g4RUc7TStIOUZKO1FsSXVCRSx5QkFGK0Q7UUFHL0Qsd0JBSCtELEVrSUxoRSxFQUFBO0kvSDhFRztNK0g5Rko7UWxJdUJFLHlCQUYrRDtRQUcvRCx3QkFIK0QsRWtJTGhFLEVBQUE7SXBJb0VEO01BRUUsZUFBYztNQUNkLGFBQVksRUFNYjtJQUVEO01BQ0UsWUFBVyxFQUNaO0lvSTlGQztNOUhsREYsWUNlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQyxFZ0lpRHBDO00vSHNGQztRK0gzRkY7VWhJMUNBLHlCQUZxQztVQUdyQyx3QkFIcUMsRWdJaURwQyxFQUFBO003SEZEO1FBQ0UsYVRrQ3NELEVTakN2RDtNRnNGQztRK0gzRkY7VTlIbERGLFdDZXFEO1VBK0JyRCxZVHlDeUQ7VU0vRXZELHdCQUZxQztVQUdyQyx1QkFIcUMsRWdJaURwQyxFQUFBO0UvSHNGQztJK0gzRkY7TWhJMUNBLHlCQUZxQztNQUdyQyx3QkFIcUMsRWdJaURwQyxFQUFBO00vSHNGQztVRXhGRjtZQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtJNkhDRDtNOUh4REYsWUNlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQyxFZ0l3RHBDO00vSCtFQztRK0hyRkY7VWhJaERBLHlCQUZxQztVQUdyQyx3QkFIcUMsRWdJd0RwQyxFQUFBO003SFREO1FBQ0UsYVRrQ3NELEVTakN2RDtNRnNGQztRK0hyRkY7VTlIeERGLFdDZXFEO1VBK0JyRCxZVHlDeUQ7VU0vRXZELHdCQUZxQztVQUdyQyx1QkFIcUM7VWdJc0RqQyxrQkFBaUIsRUFFcEIsRUFBQTtFL0grRUM7SStIckZGO01oSWhEQSx5QkFGcUM7TUFHckMsd0JBSHFDLEVnSXdEcEMsRUFBQTtNL0grRUM7VUV4RkY7WUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RTZIU0Y7SUFFRyx3QmpJUW1EO0lpSVBuRCxvQmpJT21ELEVpSU5wRDtFQUVIO0lBQ0Usc0JqSUdxRDtJaUlGckQsb0JqSUVxRDtJaUlEckQsaUJySWpCeUI7SXFJa0J6QixlQUFjLEVBQ2Y7RUFDRDtJQUNFLGNBQWEsRUFNZDtJL0gwREc7TStIakVKO1FBRWdDLGVBQWMsRUFLN0MsRUFBQTtJQVBBO01BSUcsMkJBQTBCLEVBRTNCO01BTkY7UUFLYSxzQkFBcUIsRUFBSTs7QUFJekM7RUFDRSxtQkFBa0I7RUFDbEIsa0JqSWJ1RDtFaUljdkQsa0JqSWR1RDtFaUlldkQsbURBQWtEO0VBQ2xELDRCQUEyQjtFQUMzQixnQ2pJakJ1RDtFaUlrQnZELHVCaklsQnVEO0VpSW1CdkQsaUJBQWdCLEVBYWpCO0VBWkM7SUFDRSxtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLFFBQU87SUFDUCxTQUFRO0lBQ1Isa0JqSXpCcUQ7SWlJMEJyRCxtREFBa0Q7SUFDbEQsNkJBQTRCO0lBQzVCLDRCQUEyQjtJQUMzQiwrQmpJN0JxRDtJaUk4QnJELHVCakk5QnFELEVpSStCdEQ7O0EvSHlDRztFZ0loS047SUFJUSxlQUFjO0lBQ2QsWUFBVyxFQUdkLEVBQUE7O0FBUkw7RUFPdUIsZ0JBQWdCLEVBQUU7O0FBUHpDOzs7RUFZTSxtQmxJNEVtRDtFa0kzRW5ELDBCbEkyRW1EO0VrSTFFbkQsaUJBQWdCO0VBQ2hCLGlCdEl1RHVCLEVzSXJEeEI7RWhJMElDO0lnSTNKTjs7O01BZ0JvQywwQmxJNkV2QixFa0k1RVIsRUFBQTs7QUFqQkw7OztFQXFCTSwwQnRJK0JZO0VzSTlCWixldEl3Q1MsRXNJdkNWOztBQXZCTDs7O0VBMkJNLGV0SW1DUztFc0lsQ1QsMEJBQThDLEVBQy9DOztBQTdCTDs7O0VBaUNNLGV0STZCUztFc0k1QlQsMEI3RnlEMkMsRTZGeEQ1Qzs7QUFuQ0w7OztFQXVDTSxldEl1QlM7RXNJdEJULDBCdElnQlUsRXNJZlg7O0FBekNMO0VBNENJLGVBQWM7RUFDZCxpQmxJZ0RTO0VrSS9DVCxpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLFlBQVcsRUFDWjs7QUFqREg7OztFQXNETSwwQmxJa0NtRDtFa0lqQ25ELGV0SU9TO0VzSU5ULDBCdElKWTtFc0lLWixpQnRJYXVCO0VzSVp2QixpQkFBZ0IsRUFDakI7O0FBM0RMOzs7RUErRE0sZXRJRFM7RXNJRVQsMEI3RjJCMkMsRTZGMUI1Qzs7QUFqRUw7RUFrRWtCLHFCbElzQnVDLEVrSXRCVjs7QTFJdVgzQztFMkl6YksscUJBQW9CLEVBQUk7O0F4SG1QL0I7RXdIalBBLHFCQUFvQjtFQUNwQixpQnZJbUUyQjtFdUlsRTNCLHlCbklvRnVELEVtSWxDeEQ7RUFqREM7SXhINEVBLHNCQUFxQjtJQUNyQix1QkFBc0I7SUFDdEIsbUJmaUtrQztJZXZKaEMsMEJYTHFEO0lXUXZELHlCQUF3QjtJQUN4Qiw4QkFBNkI7SUFDN0IsaUJmMUJlO0llMkJmLGtFZmtLdUU7SWVoS3ZFLG9CWGJ1RDtJV2N2RCxlQUFjO0lBQ2QsbUJBQWtCO0lBQ2xCLGdCQUFlO0lBcUNmLDBCZnJGYztJZXNGZCxlZmhGYSxFdUl2RFo7STdJNmtU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VUFBUztFQUNULGlCQUFnQixFQUNqQjs7QUFDQTtFeEkrRUMsd0JBRitEO0VBRy9ELHVCQUgrRCxFd0l2RDlEO0VySWdJQztJcUl0Skg7TXhJK0VDLHlCQUYrRDtNQUcvRCx3QkFIK0QsRXdJdkQ5RCxFQUFBO0VySWdJQztJcUl0Skg7TXhJK0VDLHlCQUYrRDtNQUcvRCx3QkFIK0QsRXdJdkQ5RCxFQUFBO0UxSXNISDtJQUVFLGVBQWM7SUFDZCxhQUFZLEVBTWI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFMEl6SkE7SXBJU0QsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQztJc0lWakMsdUJ2SThFaUQsRXVJOURsRDtJcklpSUQ7TXFJdEpIO1F0SWlCQyx5QkFGcUM7UUFHckMsd0JBSHFDLEVzSU1sQyxFQUFBO0luSXlDSDtNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TXFJdEpIO1FwSVNELFdDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRXNJTWxDLEVBQUE7RXJJaUlEO0lxSXRKSDtNdElpQkMseUJBRnFDO01BR3JDLHdCQUhxQyxFc0lNbEMsRUFBQTtJcklpSUQ7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7SUZzRkM7TXFJdEpIO1FBUXFDLG1DQUE2RSxFQUU1RyxFQUFBO0lySTRJSDtNcUl0Skg7UXBJU0QsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRXNJTGhDLEVBQUE7RXJJNElIO0lxSXRKSDtNdElpQkMseUJBRnFDO01BR3JDLHdCQUhxQyxFc0lMaEMsRUFBQTtJckk0SUg7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7SUZzRkM7TXFJdEpIO1FBWXFDLGtDQUE0RSxFQUUzRyxFQUFBO0lySXdJSDtNcUl0Skg7UXBJU0QsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRXNJRGhDLEVBQUE7RXJJd0lIO0lxSXRKSDtNdElpQkMs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O01xSS9DSDtRcEk5RkQsaUJDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRXNJc0hwQyxFQUFBO0VySWlCQztJcUkvQ0g7TXRJdEZDLHlCQUZxQztNQUdyQyx3QkFIcUMsRXNJc0hwQyxFQUFBO0lySWlCQztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtJbUl1Q0Y7TUFzQksseUJ2SXJDSztNdUlzQ0wsaUJBQWdCLEVBTWpCO01BN0JKO1FBeUJPLGdCdkk3QytDO1F1SThDL0MsaUN2STlDK0MsRXVJZ0RoRDtRQTVCTjtVQTJCMEIsMEIzSXhFSixFMkl3RTBDO0VBM0JoRTtJcEk5RkQsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFc0krSHBDO0lySVFDO01xSS9DSDtRdEl0RkMseUJBRnFDO1FBR3JDLHdCQUhxQyxFc0krSHBDLEVBQUE7SW5JaEZEO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNcUkvQ0g7UXBJOUZELFdDZXFEO1FBK0JyRCxZVHlDeUQ7UU0vRXZELHdCQUZxQztRQUdyQyx1QkFIcUMsRXNJK0hwQyxFQUFBO0VySVFDO0lxSS9DSDtNdEl0RkMseUJBRnFDO01BR3JDLHdCQUhxQyxFc0krSHBDLEVBQUE7SXJJUUM7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7SUZzRkM7TXFJL0NIO1FwSTlGRCxpQkNlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQyxFc0krSHBDLEVBQUE7RXJJUUM7SXFJL0NIO010SXRGQyx5QkFGcUM7TUFHckMsd0JBSHFDLEVzSStIcEMsRUFBQTtJcklRQztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTs7QW1JZ0ZGO0VBQ21CLGNBQWEsRUFBSTs7QUFEcEM7RXhJakVDLHdCQUYrRDtFQUcvRCx1QkFIK0QsRXdJNEU5RDtFcklIQztJcUlOSDtNeElqRUMseUJBRitEO01BRy9ELHdCQUgrRCxFd0k0RTlELEVBQUE7RXJJSEM7SXFJTkg7TXhJakVDLHlCQUYrRDtNQUcvRCx3QkFIK0QsRXdJNEU5RCxFQUFBO0UxSWJIO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VTeklEO0lBQ0UsWVgrRXVEO0lXOUV2RCxZQUF1QjtJQVVmLHdCQUg0QjtJQUk1Qix1QkFKNEIsRUEwQnJDO0lKbUdHO01JdElKO1FBWVUseUJBSDRCO1FBSTVCLHdCQUo0QixFQTBCckMsRUFBQTtJQVhDO01BQ0UsWUFBVyxFQUNaO0lBRUQ7TUFDRSxZQUFXLEVBQ1o7SUFFRDtNQUNFLFlYK0NxRCxFVzlDdEQ7RWlJOEZGO0lBTUssdUJ2SW5FaUQsRXVJcUVsRDtJQVJKO01BT29CLGlCQUFnQixFQUFJOztBQVB4QztFQVVzQixtQkFBa0IsRUFBSTs7QUFFNUM7RUFJRyx3QnZJN0VtRDtFdUk4RW5ELGVBQWMsRUFFZjtFckliQztJcUlNSDtNQU1pQyxtQkFBa0IsRUFDakQsRUFBQTs7QUFFSDtFeEl6RUEsaUJDVHVEO0VEMUJyRCxtQkFBa0I7RUFDbEIsa0JBQWlCO0VJakRuQixZQ2VxRDtFQStCckQsWVR5Q3lEO0VNL0V2RCx3QkFGcUM7RUFHckMsdUJBSHFDLEVzSThKdEM7RTFJakNEO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VLSEc7SXFJZUo7TXRJcEpFLHlCQUZxQztNQUdyQyx3QkFIcUMsRXNJOEp0QyxFQUFBO0VuSS9HQztJQUNFLGFUa0NzRCxFU2pDdkQ7RUFhSDtJQUVFLFlBQVcsRUFDWjtFbUlxRkE7SUFJRyx3QnZJdEZtRDtJdUl1Rm5ELGVBQWMsRUFFZjtJckl0QkM7TXFJZUg7UUFNaUMsbUJBQWtCLEVBQ2pELEVBQUE7O0FBRUg7RUFFRSx1QnZJN0ZxRCxFdUkrRnREO0VBSkE7SUFHbUIsY0FBYSxFQUFJOztBQUVwQztFeElwR0Msd0JBRitEO0VBRy9ELHVCQUgrRCxFd0l5RzlEO0VySWhDQztJcUk2Qkg7TXhJcEdDLHlCQUYrRDtNQUcvRCx3QkFIK0QsRXdJeUc5RCxFQUFBO0VySWhDQztJcUk2Qkg7TXhJcEdDLHlCQUYrRDtNQUcvRCx3QkFIK0QsRXdJeUc5RCxFQUFBO0UxSTFDSDtJQUVFLGVBQWM7SUFDZCxhQUFZLEVBTWI7RUFFRDtJQUNFLFlBQVcsRUFDWjs7QTBJMEJBO0VwSTFLRCxZQ2VxRDtFQStCckQsWVR5Q3lEO0VNL0V2RCx3QkFGcUM7RUFHckMsdUJBSHFDLEVzSTJLcEM7RXJJcENDO0lxSTZCSDtNdElsS0MseUJBRnFDO01BR3JDLHdCQUhxQyxFc0kyS3BDLEVBQUE7RW5JNUhEO0lBQ0UsYVRrQ3NELEVTakN2RDtFRnNGQztJcUk2Qkg7TXBJMUtELGlCQ2VxRDtNQStCckQsWVR5Q3lEO01NL0V2RCx3QkFGcUM7TUFHckMsdUJBSHFDLEVzSTJLcEMsRUFBQTtFcklwQ0M7SXFJNkJIO010SWxLQyx5QkFGcUM7TUFHckMsd0JBSHFDLEVzSTJLcEMsRUFBQTtFcklwQ0M7TUV4RkY7UUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7O0FtSW1IRjtFcEkxS0QsWUNlcUQ7RUErQnJELFlUeUN5RDtFTS9FdkQsd0JBRnFDO0VBR3JDLHVCQUhxQyxFc0lrTHBDO0VySTNDQztJcUk2Qkg7TXRJbEtDLHlCQUZxQztNQUdyQyx3QkFIcUMsRXNJa0xwQyxFQUFBO0VuSW5JRDtJQUNFLGFUa0NzRCxFU2pDdkQ7RUZzRkM7SXFJNkJIO01wSTFLRCxpQkNlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQyxFc0lrTHBDLEVBQUE7RXJJM0NDO0lxSTZCSDtNdElsS0MseUJBRnFDO01BR3JDLHdCQUhxQyxFc0lrTHBDLEVBQUE7RXJJM0NDO01FeEZGO1FBQ0UsYVRrQ3NELEVTakN2RCxFQUFBO0VtSW1IRjtJeElwR0Msd0JBRitEO0lBRy9ELHVCQUgrRCxFd0lpSE47SXJJeEN2RDtNcUk2Qkg7UXhJcEdDLHlCQUYrRDtRQUcvRCx3QkFIK0QsRXdJaUhOLEVBQUE7SXJJeEN2RDtNcUk2Qkg7UXhJcEdDLHlCQUYrRDtRQUcvRCx3QkFIK0QsRXdJaUhOLEVBQUE7STFJbEQzRDtNQUVFLGVBQWM7TUFDZCxhQUFZLEVBTWI7SUFFRDtNQUNFLFlBQVcsRUFDWjtFMEkwQkE7SXBJMUtELGlCQ2VxRDtJQStCckQsWVR5Q3lEO0lNL0V2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEVzSWdMc0I7SXJJekN6RDtNcUk2Qkg7UXRJbEtDLHlCQUZxQztRQUdyQyx3QkFIcUMsRXNJZ0xzQixFQUFBO0luSWpJM0Q7TUFDRSxhVGtDc0QsRVNqQ3ZEO0VtSW1IRjtJcEkxS0QsaUJDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRXNJaUx5QjtJckkxQzVEO01xSTZCSDtRdElsS0MseUJBRnFDO1FBR3JDLHdCQUhxQyxFc0lpTHlCLEVBQUE7SW5JbEk5RDtNQUNFLGFUa0NzRCxFU2pDdkQ7O0FtSW1IRjtFcEkxS0QsWUNlcUQ7RUErQnJELFlUeUN5RDtFTS9FdkQsd0JBRnFDO0VBR3JDLHVCQUhxQyxFc0l1THBDO0VySWhEQztJcUk2Qkg7TXRJbEtDLHlCQUZxQztNQUdyQyx3QkFIcUMsRXNJdUxwQyxFQUFBO0VuSXhJRDtJQUNFLGFUa0NzRCxFU2pDdkQ7RUZzRkM7SXFJNkJIO01BaUJnQyxjQUFhLEVBRTNDLEVBQUE7RUFuQkY7SUFrQmEsWUFBVyxFQUFJOztBQWxCNUI7RXBJMUtELFdDZXFEO0VBK0JyRCxZVHlDeUQ7RU0vRXZELHdCQUZxQztFQUdyQyx1QkFIcUMsRXNJd0wwQjtFcklqRDdEO0lxSTZCSDtNdElsS0MseUJBRnFDO01BR3JDLHdCQUhxQyxFc0l3TDBCLEVBQUE7RW5JekkvRDtJQUNFLGFUa0NzRCxFU2pDdkQ7O0FtSW1IRjtFcEkxS0QsV0NlcUQ7RUErQnJELFlUeUN5RDtFTS9FdkQsd0JBRnFDO0VBR3JDLHVCQUhxQyxFc0k2THBDO0VySXREQztJcUk2Qkg7TXRJbEtDLHlCQUZxQztNQUdyQyx3QkFIcUMsRXNJNkxwQyxFQUFBO0VuSTlJRDtJQUNFLGFUa0NzRCxFU2pDdkQ7RUZzRkM7SXFJNkJIO01BdUJnQyxjQUFhLEVBRTNDLEVBQUE7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RDtJeUl2Q3JELGU3SWFXO0k2SVpYLG1CeklzQ3FELEV5SXJCdEQ7SXZJd0ZHO011STVHSjtRQUtJLHlCeklvQ21EO1F5SW5DbkQsb0J6SW1DbUQsRXlJckJ0RCxFQUFBO0l2SXdGRztNdUk1R0o7UUFRK0IsZ0J6SWlDd0IsRXlJckJ0RCxFQUFBO0l2STZGRztNdUlqSEo7UUFTZ0Msb0J6SWdDdUIsRXlJckJ0RCxFQUFBO0lBcEJBO01BV0csd0J6SThCbUQ7TXlJN0JuRCxpQkFBZ0IsRUFFakI7TUFkRjtRQWFrQixpQkFBZ0IsRUFBSTtJQWJ0QztNQWVLLGU3SUFPLEU2SUFVO0lBZnRCO01BaUJHLHdCekk2Qk87TXlJNUJQLGlCQUFnQixFQUNqQjtFQUVIO0k5SGFBLHNCQUFxQjtJQUNyQix1QkFBc0I7SUFDdEIsbUJmaUtrQztJZXZKaEMsMEJYTHFEO0lXUXZELHlCQUF3QjtJQUN4Qiw4QkFBNkI7SUFDN0IsaUJmMUJlO0llMkJmLGtFZmtLdUU7SWVoS3ZFLG9CWGJ1RDtJV2N2RCxlQUFjO0lBQ2QsbUJBQWtCO0lBQ2xCLGdCQUFlO0lBcUNmLDBCZnpGZ0I7SWUwRmhCLGVmaEZhO0k2SVFYLGlCQUFnQjtJQUNoQix3QnpJaUJxRDtJeUloQnJELG1CeklnQnFEO0l5SWZyRCwwQkFBeUI7SUFDekIsd0J6SWNxRCxFeUlQdEQ7SW5KbXlWQztNT2xzVkEsV0FBVSxFQUNYO0ljbkNEO01BQ0UsMEJmc0d1RTtNZXJHdkUsZWZwRlcsRWVxRlo7SVRRRztNdUl2Rko7UUFRSSwwQnpJWW1EO1F5SVhuRCxvQnpJV21ELEV5SVB0RCxFQUFBO0l2STBFRztNdUl2Rko7UUFXK0IsZ0J6SVN3QixFeUlQdEQsRUFBQTtJdkkrRUc7TXVJNUZKO1FBWWdDLG9CeklRdUIsRXlJUHRELEVBQUE7RUFDRDtJQUNFLGU3SXJCVyxFNkl1Qlo7SUFIQTtNQUVXLGU3SXRCQyxFNklzQmdCOztBQUcvQjtFQUFtQixpQkFBZ0IsRUFBSTs7QUN2RnZDO0VBQ0UsaUIxSXVGdUQ7RTBJdEZ2RCwwQnJHeUYrQztFcUd4Ri9DLG1CQUFrQixF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WCxrQnpKeUVxRCxFeUp2RXREO0l2SjBJRztNdUozSk47UUFnQmtDLG1Cekp3RXVCLEV5SnZFdEQsRUFBQTtFQWpCSDtJQW9CSSxZQUFXO0lBQ1gsaUJBQWdCO0lBQ2hCLGtCekprRXFEO0l5SmpFckQsZTdKdUNXO0k2SnRDWCw2QjdKcUNXO0k2SnBDWCx3Q3BIa0U2QyxFb0hoRTlDO0lBM0JIO01BMEJRLGU3Sm9DTyxFNkpwQ1U7RUExQnpCO0lBNkJJLFlBQVc7SUFDWCxZQUFXO0lBQ1gsa0J6SnlEcUQ7SXlKeERyRCx3Q3BIMkQ2QyxFb0gxRDlDOztBQ2pDSDtFQUVJLHNCMUpzRnFEO0UwSnJGckQseUIxSnFGcUQsRTBKM0J0RDtFeEo4Rkc7SXdKM0pOO01BS00sZUFBYztNQUNkLHlCMUprRm1ELEUwSjNCdEQsRUFBQTtFQTdESDtJM0ppR0UsaUJDVHVEO0lEMUJyRCxtQkFBa0I7SUFDbEIsa0JBQWlCLEUySnZEZ0I7STdKeUluQztNQUVFLGVBQWM7TUFDZCxhQUFZLEVBTWI7SUFFRDtNQUNFLFlBQVcsRUFDWjtFNko5Skg7SUFVTSxlQUFjO0lBQ2Qsa0JBQWlCO0lBQ2pCLGFBQVk7SUFDWixjQUFhO0lBQ2Isd0IxSjBFbUQsRTBKekVwRDtFQWZMO0l2SmNFLFlDZXFEO0lBK0JyRCxZVHlDeUQ7SU0vRXZELHdCQUZxQztJQUdyQyx1QkFIcUMsRXlKd0NwQztJeEorRkM7TXdKM0pOO1F6SnNCSSx5QkFGcUM7UUFHckMsd0JBSHFDLEV5SndDcEMsRUFBQTtJdEpPRDtNQUNFLGFUa0NzRCxFU2pDdkQ7SUYyRkM7TXdKaEtOO1F2SmNFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEV5SndDcEMsRUFBQTtFeEorRkM7SXdKM0pOO016SnNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEV5SndDcEMsRUFBQTtJeEpvR0M7UUU3RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7SUZzRkM7TXdKM0pOO1F2SmNFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEV5SndDcEMsRUFBQTtFeEorRkM7SXdKM0pOO016SnNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEV5SndDcEMsRUFBQTtJeEorRkM7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7SXNKckVMO01BeUJRLGtCMUorRGlEO00wSjlEakQsMEJySGlFeUMsRXFIaEMxQztNeEpnR0Q7UXdKM0pOO1VBNEJVLG1CMUo0RCtDLEUwSjdCbEQsRUFBQTtNQTNEUDtRQStCVSx5QjFKeUQrQztRMEp4RC9DLGVBQWMsRUFNZjtRQXRDVDtVQWtDWSxlQUFjO1VBQ2Qsa0IxSnFENkM7VTBKcEQ3QyxpQjlKaUNjLEU4SmhDZjtNQXJDWDtRQXdDVSx5QjFKZ0QrQztRMEovQy9DLHVCMUorQytDO1EwSjlDL0MsOEJySGlEdUMsRXFIaER4QztNQTNDVDtRQTZDVSx5QjFKMkMrQztRMEoxQy9DLGdCMUowQytDO1EwSnpDL0MsbUJBQWtCO1FBQ2xCLG9CMUp3QytDLEUwSmxDaEQ7UUF0RFQ7VUFrRFksZUFBYztVQUNkLG9CMUpxQzZDO1UwSnBDN0MsaUI5SmtCaUIsRThKakJsQjtNQXJEWDtRQXdEVSwwQjFKZ0MrQztRMEovQi9DLDBCOUpNZSxFOEpMaEI7O0FBMURUO0V2SmNFLFlDZXFEO0VBK0JyRCxZVHlDeUQ7RU0vRXZELHdCQUZxQztFQUdyQyx1QkFIcUMsRXlKcUR0QztFeEprRkc7SXdKM0pOO016SnNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEV5SnFEdEMsRUFBQTtFdEpOQztJQUNFLGFUa0NzRCxFU2pDdkQ7RXNKckVMO0lBaUVNLGVBQWM7SUFDZCx3QjFKc0JtRCxFMEpoQnBEO0lBeEVMO01BbUVVLG1CMUpxQitDLEUwSnJCcEI7SUFuRXJDO01BcUVRLGVBQWM7TUFDZCx1QkFBc0IsRUFDdkI7O0FBdkVQO0V2SmNFLFlDZXFEO0VBK0JyRCxZVHlDeUQ7RU0vRXZELHdCQUZxQztFQUdyQyx1QkFIcUM7RXlKd0RyQyxtQkFBa0IsRUFPbkI7RXhKd0VHO0l3SjNKTjtNekpzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFeUorRHRDLEVBQUE7RXRKaEJDO0lBQ0UsYVRrQ3NELEVTakN2RDtFRjJGQztJd0poS047TXZKY0UsaUJDZXFEO01BK0JyRCxZVHlDeUQ7TU0vRXZELHdCQUZxQztNQUdyQyx1QkFIcUMsRXlKK0R0QyxFQUFBO0V4SndFRztJd0ozSk47TXpKc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRXlKK0R0QyxFQUFBO0V4SjZFRztNRTdGRjtRQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtFRnNGQztJd0ozSk47TXZKY0UsaUJDZXFEO01BK0JyRCxZVHlDeUQ7TU0vRXZELHdCQUZxQztNQUdyQyx1QkFIcUMsRXlKK0R0QyxFQUFBO0V4SndFRztJd0ozSk47TXpKc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRXlKK0R0QyxFQUFBO0V4SndFRztNRXhGRjtRQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTs7QXNKckVMO0VBc0ZNLFVBQVM7RUFDVCxpQkFBZ0IsRUFDakI7O0FBeEZMO0VBMkZJLGNBQWE7RUFDYixxQjFKSnFELEUwSlV0RDtFeEp5REc7SXdKM0pOO01BNkZrQyxlQUFjLEVBSzdDLEVBQUE7RUFsR0g7SUErRk0sVUFBUztJQUNULGlCQUFnQixFQUNqQjs7QUFqR0w7RXZKY0UsWUNlcUQ7RUErQnJELFlUeUN5RDtFTS9FdkQsd0JBRnFDO0VBR3JDLHVCQUhxQztFeUppRnJDLG9CMUpicUQsRTBKaUJ0RDtFeEprREc7SXdKM0pOO016SnNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEV5SnFGdEMsRUFBQTtFdEp0Q0M7SUFDRSxhVGtDc0QsRVNqQ3ZEO0VGc0ZDO0l3SjNKTjtNdkpjRSxpQkNlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQyxFeUpxRnRDLEVBQUE7RXhKa0RHO0l3SjNKTjtNekpzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFeUpxRnRDLEVBQUE7RXhKa0RHO01FeEZGO1FBQ0UsYVRrQ3NELEVTakN2RCxFQUFBOztBc0pyRUw7RTNKaUdFLGlCQ1R1RDtFRDFC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QUFRLEVBQ1Q7RUFUSDtJQVdJLG1CQUFrQjtJQUNsQixVQUFTO0lBQ1QsUUFBTztJQUNQLFlBQVc7SUFDWCxrQjNKeUVxRCxFMkp2RXREO0l6SjBJRztNeUozSk47UUFnQmtDLG1CM0p3RXVCLEUySnZFdEQsRUFBQTtFQWpCSDtJQW9CSSxZQUFXO0lBQ1gsaUJBQWdCO0lBQ2hCLGtCM0prRXFEO0kySmpFckQsZS9KdUNXO0krSnRDWCw2Qi9KcUNXO0krSnBDWCx3Q3RIa0U2QyxFc0hoRTlDO0lBM0JIO01BMEJRLGUvSm9DTyxFK0pwQ1U7RUExQnpCO0lBNkJJLFlBQVc7SUFDWCxZQUFXO0lBQ1gsa0IzSnlEcUQ7STJKeERyRCx3Q3RIMkQ2QyxFc0gxRDlDOztBQ2pDSDtFN0ppR0UsaUJDVHVEO0VEMUJyRCxtQkFBa0I7RUFDbEIsa0JBQWlCO0U2SjdEbkIsbUJBQWtCO0VBQ2xCLHlCNUpxRnVEO0U0SnBGdkQsaUN2SHVGK0MsRXVINENoRDtFL0pVQztJQUVFLGVBQWM7SUFDZCxhQUFZLEVBTWI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFS0hHO0kwSjNKTjtNQUtnQywwQjVKbUZ5QixFNEorQ3hELEVBQUE7RUF2SUQ7SXpKY0UsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsaUJEdUVTO0lDdEVULGdCRHNFUztJNEpyRlQsbUJBQWtCLEVBSW5CO0l4SnVEQztNQUNFLGFUa0NzRCxFU2pDdkQ7SUZzRkM7TTBKM0pOO1F6SmNFLGlCQ2VxRDtRQStCckQsWVR5Q3lEO1FNL0V2RCxpQkR1RVM7UUN0RVQsZ0JEc0VTLEU0SmpGVjtReEp1REM7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RXdKckVMO0lBY0ksbUJBQWtCO0lBQ2xCLE9BQU07SUFDTixTQUFRLEVBQ1Q7RUFqQkg7SXpKY0UsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsaUJEdUVTO0lDdEVULGdCRHNFUyxFNEpqRVY7SXhKdUNDO01BQ0UsYVRrQ3NELEVTakN2RDtJRjJGQztNMEpoS047UUFxQk0sc0I1Sm1FbUQ7UTRKbEVuRCx5QjVKa0VtRCxFNEo1RHRELEVBQUE7STFKK0hHO00wSjNKTjtRekpjRSxpQkNlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQztRMkpNbkMsNEJBQTJCLEVBRTlCLEVBQUE7RTFKK0hHO0kwSjNKTjtNM0pzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFMkpRdEMsRUFBQTtJMUorSEc7UUV4RkY7VUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7RXdKckVMO0k3Sm9GSSx3QkFGK0Q7SUFHL0QsdUJBSCtEO0k2Sm5EL0Qsd0I1SnlEcUQsRTRKbkR0RDtJMUpzSEc7TTBKM0pOO1E3Sm9GSSx5QkFGK0Q7UUFHL0Qsd0JBSCtELEU2SjdDaEUsRUFBQTtJMUpzSEc7TTBKM0pOO1E3Sm9GSSx5QkFGK0Q7UUFHL0Qsd0JBSCtELEU2SjdDaEUsRUFBQTtJL0o0R0Q7TUFFRSxlQUFjO01BQ2QsYUFBWSxFQU1iO0lBRUQ7TUFDRSxZQUFXLEVBQ1o7SUtIRztNMEozSk47UUFpQ00scUI1SnVEbUQ7UTRKdERuRCxpQkFBZ0IsRUFHbkIsRUFBQTtJMUpzSEc7TTBKM0pOO1FBb0NpQyxpQjVKb0R3QixFNEpuRHRELEVBQUE7RUFyQ0g7SXpKY0UsWUNlcUQ7SUErQnJELFlUeUN5RDtJTS9FdkQsd0JBRnFDO0lBR3JDLHVCQUhxQztJMkpvQnJDLHdCNUpnRHFEO0k0Si9DckQsa0I1SitDcUQ7STRKOUNyRCxlQUFjLEVBZ0JmO0kxSmlHRztNMEozSk47UTNKc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRTJKc0N0QyxFQUFBO0l4SlNDO01BQ0UsYVRrQ3NELEVTakN2RDtJRnNGQztNMEozSk47UXpKY0UsV0NlcUQ7UUErQnJELFlUeUN5RDtRTS9FdkQsd0JBRnFDO1FBR3JDLHVCQUhxQztRMkp5Qm5DLGlCQUFnQixFQWFuQixFQUFBO0UxSmlHRztJMEozSk47TTNKc0JJLHlCQUZxQztNQUdyQyx3QkFIcUMsRTJKc0N0QyxFQUFBO0kxSmlHRztRRXhGRjtVQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTtJd0pyRUw7O01BaURNLGtC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cUM7TUFHckMsdUJBSHFDLEU4SlN0QyxFQUFBO0U3SjhIRztJNkpqSUo7TTlKSkUseUJBRnFDO01BR3JDLHdCQUhxQyxFOEpTdEMsRUFBQTtFN0o4SEc7TUV4RkY7UUFDRSxhVGtDc0QsRVNqQ3ZELEVBQUE7O0EySnRDTDtFQUdNLGNBQWEsRUFFZDtFN0p1SEM7STZKNUhOO01BSW1DLGVBQWMsRUFDNUMsRUFBQTs7QUNuQ0g7RUFHRSxzQmhLb0ZxRDtFZ0tuRnJELHlCaEttRnFELEVnSzlFdEQ7RTlKaUpHO0k4SjFKSjtNQU1JLGVBQWM7TUFDZCx5QmhLZ0ZtRCxFZ0s5RXRELEVBQUE7O0FBQ0E7RWpLc0ZELGlCQ1R1RDtFRDFCckQsbUJBQWtCO0VBQ2xCLGtCQUFpQixFaUtuRHVCO0VuS3FJMUM7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7O0FtS25KQTtFN0pHRCxZQ2VxRDtFQStCckQsWVR5Q3lEO0VNL0V2RCx3QkFGcUM7RUFHckMsdUJBSHFDLEUrSkRwQztFOUp3SUM7SThKaEpIO00vSldDLHlCQUZxQztNQUdyQyx3QkFIcUMsRStKRHBDLEVBQUE7RTVKZ0REO0lBQ0UsYVRrQ3NELEVTakN2RDtFRnNGQztJOEpoSkg7TTdKR0QsV0NlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQztNSUxyQyxtQkFBa0I7TUFDbEIsV0FIbUQsRTJKTWxELEVBQUE7RTlKd0lDO0k4SmhKSDtNL0pXQyx5QkFGcUM7TUFHckMsd0JBSHFDLEUrSkRwQyxFQUFBO0U5SndJQztNRXhGRjtRQUNFLGFUa0NzRCxFU2pDdkQsRUFBQTs7QTRKMURGO0U3SkdELFlDZXFEO0VBK0JyRCxZVHlDeUQ7RU0vRXZELHdCQUZxQztFQUdyQyx1QkFIcUMsRStKTXBDO0U5SmlJQztJOEpoSkg7TS9KV0MseUJBRnFDO01BR3JDLHdCQUhxQyxFK0pNcEMsRUFBQTtFNUp5Q0Q7SUFDRSxhVGtDc0QsRVNqQ3ZEO0VGc0ZDO0k4SmhKSDtNN0pHRCxXQ2VxRDtNQStCckQsWVR5Q3lEO01NL0V2RCx3QkFGcUM7TUFHckMsdUJBSHFDO01JTHJDLG1CQUFrQjtNQUNsQixVQUhtRCxFMkphbEQsRUFBQTtFOUppSUM7SThKaEpIO00vSldDLHlCQUZxQztNQUdyQyx3QkFIcUMsRStKTXBDLEVBQUE7RTlKaUlDO01FeEZGO1FBQ0UsYVRrQ3NELEVTakN2RCxFQUFBOztBNEp6Q0Y7RWpLcUVELGlCQ1R1RDtFRDFCckQsbUJBQWtCO0VBQ2xCLGtCQUFpQixFaUtsQ3VCO0VuS29IMUM7SUFFRSxlQUFjO0lBQ2QsYUFBWSxFQU1iO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7O0FtS2xJQTtFQUdHLGNBQWEsRUFNZDtFOUpzSEM7SThKL0hIO003SmRELFdDZXFEO01BK0JyRCxZVHlDeUQ7TU0vRXZELHdCQUZxQztNQUdyQyx1QkFIcUM7TUlMckMsbUJBQWtCO01BQ2xCLFdBSG1EO00ySnNCL0MsZUFBYyxFQUVqQixFQUFBO0U5SnNIQztJOEovSEg7TS9KTkMseUJBRnFDO01BR3JDLHdCQUhxQyxFK0ppQnBDLEVBQUE7RTlKc0hDO01FeEZGO1FBQ0UsYVRrQ3NELEVTakN2RCxFQUFBOztBNEp6Q0Y7RTdKZEQsWUNlcUQ7RUErQnJELFlUeUN5RDtFTS9FdkQsd0JBRnFDO0VBR3JDLHVCQUhxQyxFK0p3QnBDO0U5SitHQztJOEovSEg7TS9KTkMseUJBRnFDO01BR3JDLHdCQUhxQyxFK0p3QnBDLEVBQUE7RTVKdUJEO0lBQ0UsYVRrQ3NELEVTakN2RDtFRnNGQztJOEovSEg7TTdKZEQsV0NlcUQ7TUErQnJELFlUeUN5RDtNTS9FdkQsd0JBRnFDO01BR3JDLHVCQUhxQztNSUxyQyxtQkFBa0I7TUFDbEIsVUFIbUQsRTJKK0JsRCxFQUFBO0U5SitHQztJOEovSEg7TS9KTkMseUJBRnFDO01BR3JDLHdCQUhxQyxFK0p3QnBDLEVBQUE7RTlKK0dDO01FeEZGO1FBQ0UsYVRrQ3NELEVTakN2RCxFQUFBOztBNEp2QkY7RWpLbURELGlCQ1R1RDtFRDFCckQsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFSWpEbkIsWUNlcUQ7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QUFBO0lqSzBEQztNaUszSk47UUEyRVEsY25LYWlEO1FtS1pqRCxtQm5LWWlELEVtS1NwRCxFQUFBO0lBakdMO01BK0VRLFVBQVM7TUFDVCx3QkFBdUI7TUFDdkIsZUFBYztNQUNkLFlBQVc7TUFDWCxrQm5LS2lEO01tS0pqRCxjQUFhO01BQ2IsaUJBQWdCO01BQ2hCLGVBQWM7TUFDZCxtQkFBa0I7TUFDbEIsZ0JBQWU7TUFDZiwwQnZLN0JXLEV1S21DWjtNQS9GUDtRQTRGVSxjQUFhO1FBQ2IsV0FBVSxFQUNYO0lBOUZUO01BZ0c4QixvQnZLNUNaLEV1SzRDMEM7O0FBSTVEOzs7O0VBS0ksdUJuS2pCcUQ7RW1La0JyRCx3Qm5LbEJxRCxFbUs4Q3REO0VqS3FCRztJaUt2RE47Ozs7TUFRTSx3Qm5LcEJtRDtNbUtxQm5ELHlCbktyQm1ELEVtSzhDdEQsRUFBQTtFQWxDSDs7OztJQVlNLHNCbkt4Qm1EO0ltS3lCbkQsdUJuS3pCbUQsRW1LOEJwRDtJaktxQ0M7TWlLdkROOzs7O1FBZVEsdUJuSzNCaUQ7UW1LNEJqRCx3Qm5LNUJpRCxFbUs4QnBELEVBQUE7RUFsQkw7Ozs7Ozs7O0lBb0JrQixhbktoQ3VDLEVtS2dDbEI7RUFwQnZDOzs7O0lBc0JNLGNBQWE7SUFDYixpQm5LbkNtRCxFbUt1Q3BEO0lqSzRCQztNaUt2RE47Ozs7UUF5QlEsY25LckNpRCxFbUt1Q3BELEVBQUE7RUEzQkw7Ozs7SUE2Qk0sZ0JuS3pDbUQsRW1LNkNwRDtJaktzQkM7TWlLdkROOzs7O1FBK0JRLGlCbkszQ2lELEVtSzZDcEQsRUFBQTs7QUFHTDs7RUFHa0IsYW5LbkR1QyxFbUttRGxCOztBQUh2QztFQUtNLGNBQWE7RUFDYixpQm5LdERtRCxFbUt1RHBEOztBQVBMO0VBUWtCLGVuS3hEdUMsRW1Ld0RoQjs7QUFHekM7O0VBR0ksdUJuSzlEcUQ7RW1LK0RyRCx3Qm5LL0RxRCxFbUs2RXREO0VBbEJIOztJQU1NLHNCbktqRW1EO0ltS2tFbkQsdUJuS2xFbUQsRW1LbUVwRDtFQVJMOzs7O0lBVWtCLGFuS3JFdUMsRW1LcUVsQjtFQVZ2Qzs7SUFZTSxjQUFhO0lBQ2IsaUJuS3hFbUQsRW1LeUVwRDtFQWRMOztJQWdCTSxnQm5LM0VtRCxFbUs0RXBEOztBQUdMOztFQUdJLHdCbktsRnFEO0VtS21GckQseUJuS25GcUQsRW1LMkZ0RDtFQVpIOztJQU1NLHVCbktyRm1EO0ltS3NGbkQsd0JuS3RGbUQ7SW1LdUZuRCxnQkFBZSxFQUNoQjtFQVRMOztJQVVrQixnQm5LekZ1QyxFbUt5RmxCO0VBVnZDOztJQVdrQixpQm5LMUZ1QyxFbUswRmpCOztBQUd4QztFQUVJLGdCQUFlLEVBRWhCO0VBSkg7SUFHc0IsY0FBYSxFQUFJOztBQUd2QztFQUVJLHVCbktyR3FELEVtS3NIdEQ7RWpLbkRHO0lpS2dDTjtNQUlvQyx1Qm5LdkdxQixFbUt3R3BELEVBQUE7RUFMTDs7SUFRTSxhbkszR21ELEVtS2dIcEQ7SUFiTDs7TUFVUSwwQnZLakpVO011S2tKVixldkt4SU8sRXVLeUlSO0VBWlA7SUFlTSxjQUFhO0lBQ2IsaUJuS25IbUQsRW1Lb0hwRDtFQWpCTDtJQWtCa0IsU0FBUSxFQUFJOztBaktsRHhCO0VpS3FETjs7O0lBS29DLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhLEVBTzVDLEVBQUE7O0FqS2pFQztFaUtxRE47OztJQVFVLGFBQVk7SUFDWiwwQnZLMUplLEV1SzRKbEIsRUFBQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMy4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cbiAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi8gfVxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovIH1cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzo6YmVmb3JlLCAucm93OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5yb3c6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAucm93LmV4cGFuZGVkIC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5ndXR0ZXItc21hbGwgPiAuY29sdW1uLCAucm93Lmd1dHRlci1zbWFsbCA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC5yb3cuZ3V0dGVyLW1lZGl1bSA+IC5jb2x1bW4sIC5yb3cuZ3V0dGVyLW1lZGl1bSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuY29sdW1uLmVuZDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQsIC5lbmQuY29sdW1uczpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0xNi42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtcHVzaC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAyNSU7IH1cblxuLnNtYWxsLXB1bGwtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTQxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtcHVzaC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7IH1cblxuLnNtYWxsLXB1bGwtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTY2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtcHVzaC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA3NSU7IH1cblxuLnNtYWxsLXB1bGwtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTgzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMCU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMi41JTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtY29sbGFwc2UgLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmV4cGFuZGVkLnJvdyAuc21hbGwtY29sbGFwc2Uucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuXG4uc21hbGwtY2VudGVyZWQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1jZW50ZXJlZCwgLnNtYWxsLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5zbWFsbC11bmNlbnRlcmVkLFxuLnNtYWxsLXB1c2gtMCxcbi5zbWFsbC1wdWxsLTAge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjAlOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmV4cGFuZGVkLnJvdyAubWVkaXVtLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLm1lZGl1bS1jZW50ZXJlZCwgLm1lZGl1bS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS11bmNlbnRlcmVkLFxuICAubWVkaXVtLXB1c2gtMCxcbiAgLm1lZGl1bS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC5sYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmxhcmdlLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZXhwYW5kZWQucm93IC5sYXJnZS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAubGFyZ2UtY2VudGVyZWQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5sYXJnZS1jZW50ZXJlZCwgLmxhcmdlLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdW5jZW50ZXJlZCxcbiAgLmxhcmdlLXB1c2gtMCxcbiAgLmxhcmdlLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4uY29sdW1uLWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sdW1uLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbi5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fZm9ybS10aXRsZSxcbi5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX190aXRsZSxcbi5vZmZlci0tZnVsbCAub2ZmZXJfX2Zvcm0tdGl0bGUsXG4ub3JkZXItcHJvZ3Jlc3NfX3RpdGxlLFxuLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2Zvcm0tdGl0bGUsXG4ucGFnZS0tZGVmYXVsdCAucGFnZV9fZm9ybS10aXRsZSxcbi5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19mb3JtLXRpdGxlLFxuLnBhZ2UtLXRlYXNlciAucGFnZV9fdGl0bGUsXG4ucGFydC0tZmVhdHVyZWQgLnBhcnRfX3RpdGxlLFxuLnBhcnQtLWZ1bGwgLnBhcnRfX2Zvcm0tdGl0bGUsXG4ucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3RpdGxlLFxuLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX3RpdGxlLFxuLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fdGl0bGUsXG4ubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAubGlzdGluZ19fdGl0bGUsXG4ubGlzdGluZy0tdmVoaWNsZS1sYXRlc3QgLmxpc3RpbmdfX3RpdGxlLFxuLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciAubGlzdGluZ19fdGl0bGUsXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9faW5jbHVkZXMtdGl0bGUsXG5oMyxcbi5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fZGlyZWN0aW9ucy10aXRsZSxcbi5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19hZGRyZXNzLXRpdGxlLFxuLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX3RlbGVwaG9uZS10aXRsZSxcbi5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19vcGVuaW5nLWhvdXJzLXRpdGxlLFxuLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3N1Yi10aXRsZSxcbi5hZGQtb25fX3RpdGxlLFxuLmNhbGVuZGFyX19oZWFkZXIgLmNhbGVuZGFyX19tb250aCBzcGFuLFxuLmNvbGxlY3Rpb24tZGVsaXZlcnlfX3RpdGxlLFxuLm9yZGVyLXBheW1lbnRfX3RpdGxlLFxuLm9yZGVyLXN0YXRlLXN1bW1hcnlfX3ZlaGljbGUtdGl0bGUsXG4ucGFnZS0tY29udGFjdCAucGFnZV9fZGlyZWN0aW9ucy10aXRsZSxcbi5wYWdlLS10ZWFzZXIgLnBhZ2VfX3N1Yi10aXRsZSxcbi5wYXJ0LS1mZWF0dXJlZCAucGFydF9fc3ViLXRpdGxlLFxuLnBvc3QtLWZlYXR1cmVkIC5wb3N0X19zdWItdGl0bGUsXG4ucXVpY2stc2VhcmNoX19sZWdlbmQsXG4uZXh0cmFzX19saXN0LXRpdGxlLFxuLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fdGl0bGUsXG4uYmxvY2stLXNpZGViYXIgLmJsb2NrX190aXRsZSxcbi5wcmltYXJ5LWltYWdlX190aXRsZSxcbi52ZWhpY2xlLS1mZWF0dXJlZC1zaWRlYmFyIC52ZWhpY2xlX190aXRsZSxcbi52ZWhpY2xlLS1mZWF0dXJlZCAudmVoaWNsZV9fdGl0bGUsXG4udmVoaWNsZS0tc2ltaWxhciAudmVoaWNsZV9fdGl0bGUsXG4uZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fdGl0bGUsXG4uZmluYW5jZS1jaGVja2VyX19kZXRhaWxzLXRpdGxlLFxuaDQsXG4uYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX25hbWUsXG4uYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX2RpcmVjdGlvbnMtdGl0bGUsXG4uYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX3RlbGVwaG9uZS10aXRsZSxcbi5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fb3BlbmluZy1ob3Vycy10aXRsZSxcbi52aWRlby0tcGFnZSAudmlkZW9fX3RpdGxlLFxuLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkgLnNwZWNpZmljYXRpb24tY2F0ZWdvcnlfX3RpdGxlLFxuLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIC50ZWNobmljYWwtZGF0YS1jYXRlZ29yeV9fdGl0bGUsXG4uYmxvY2stLWRlZmF1bHQgLmJsb2NrX19kZXNjcmlwdGlvbixcbi5wcmltYXJ5LWltYWdlX19kZXNjcmlwdGlvbixcbi5wcmljZS0tZmVhdHVyZWQgLnByaWNlX190b3RhbCxcbi5wcmljZS0tZmVhdHVyZWQgLnByaWNlX19zb2xkLFxuLnByaWNlLS1zaW1pbGFyIC5wcmljZV9fdG90YWwsXG4ucHJpY2UtLXNpbWlsYXIgLnByaWNlX19zb2xkLFxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpIC5zcGVjaWZpY2F0aW9uLWNhdGVnb3J5X190aXRsZSxcbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhLWNhdGVnb3J5X190aXRsZSxcbi5maW5hbmNlLWZvcm0gLmZpbmFuY2UtZm9ybV9fdGl0bGUsXG4uZmluYW5jZS10YWJsZXMgLmZpbmFuY2Utd2FybmluZyxcbi5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX19jaGVja2VyLXRpdGxlLFxuLmZpbmFuY2UtZXhhbXBsZV9fdGl0bGUsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS44O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLFxuaDIsXG4uY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX2Zvcm0tdGl0bGUsXG4ub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fdGl0bGUsXG4ub2ZmZXItLWZ1bGwgLm9mZmVyX19mb3JtLXRpdGxlLFxuLm9yZGVyLXByb2dyZXNzX190aXRsZSxcbi5wYWdlLS1jb250YWN0IC5wYWdlX19mb3JtLXRpdGxlLFxuLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX2Zvcm0tdGl0bGUsXG4ucGFnZS0tZnVsbC13aWR0aCAucGFnZV9fZm9ybS10aXRsZSxcbi5wYWdlLS10ZWFzZXIgLnBhZ2VfX3RpdGxlLFxuLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X190aXRsZSxcbi5wYXJ0LS1mdWxsIC5wYXJ0X19mb3JtLXRpdGxlLFxuLnBvc3QtLWZlYXR1cmVkIC5wb3N0X190aXRsZSxcbi52ZWhpY2xlLS1nZW5lcmFsIC52ZWhpY2xlX190aXRsZSxcbi52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX3RpdGxlLFxuLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQgLmxpc3RpbmdfX3RpdGxlLFxuLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0IC5saXN0aW5nX190aXRsZSxcbi5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXIgLmxpc3RpbmdfX3RpdGxlLFxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2luY2x1ZGVzLXRpdGxlLFxuaDMsXG4uYnJhbmNoLS1mdWxsIC5icmFuY2hfX2RpcmVjdGlvbnMtdGl0bGUsXG4uYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fYWRkcmVzcy10aXRsZSxcbi5icmFuY2gtLXRlYXNlciAuYnJhbmNoX190ZWxlcGhvbmUtdGl0bGUsXG4uYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fb3BlbmluZy1ob3Vycy10aXRsZSxcbi5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19zdWItdGl0bGUsXG4uYWRkLW9uX190aXRsZSxcbi5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fbW9udGggc3Bhbixcbi5jb2xsZWN0aW9uLWRlbGl2ZXJ5X190aXRsZSxcbi5vcmRlci1wYXltZW50X190aXRsZSxcbi5vcmRlci1zdGF0ZS1zdW1tYXJ5X192ZWhpY2xlLXRpdGxlLFxuLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2RpcmVjdGlvbnMtdGl0bGUsXG4ucGFnZS0tdGVhc2VyIC5wYWdlX19zdWItdGl0bGUsXG4ucGFydC0tZmVhdHVyZWQgLnBhcnRfX3N1Yi10aXRsZSxcbi5wb3N0LS1mZWF0dXJlZCAucG9zdF9fc3ViLXRpdGxlLFxuLnF1aWNrLXNlYXJjaF9fbGVnZW5kLFxuLmV4dHJhc19fbGlzdC10aXRsZSxcbi5ibG9jay0tZGVmYXVsdCAuYmxvY2tfX3RpdGxlLFxuLmJsb2NrLS1zaWRlYmFyIC5ibG9ja19fdGl0bGUsXG4ucHJpbWFyeS1pbWFnZV9fdGl0bGUsXG4udmVoaWNsZS0tZmVhdHVyZWQtc2lkZWJhciAudmVoaWNsZV9fdGl0bGUsXG4udmVoaWNsZS0tZmVhdHVyZWQgLnZlaGljbGVfX3RpdGxlLFxuLnZlaGljbGUtLXNpbWlsYXIgLnZlaGljbGVfX3RpdGxlLFxuLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX3RpdGxlLFxuLmZpbmFuY2UtY2hlY2tlcl9fZGV0YWlscy10aXRsZSxcbmg0LFxuLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19uYW1lLFxuLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19kaXJlY3Rpb25zLXRpdGxlLFxuLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX190ZWxlcGhvbmUtdGl0bGUsXG4uYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX29wZW5pbmctaG91cnMtdGl0bGUsXG4udmlkZW8tLXBhZ2UgLnZpZGVvX190aXRsZSxcbi5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpIC5zcGVjaWZpY2F0aW9uLWNhdGVnb3J5X190aXRsZSxcbi5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaSAudGVjaG5pY2FsLWRhdGEtY2F0ZWdvcnlfX3RpdGxlLFxuLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fZGVzY3JpcHRpb24sXG4ucHJpbWFyeS1pbWFnZV9fZGVzY3JpcHRpb24sXG4ucHJpY2UtLWZlYXR1cmVkIC5wcmljZV9fdG90YWwsXG4ucHJpY2UtLWZlYXR1cmVkIC5wcmljZV9fc29sZCxcbi5wcmljZS0tc2ltaWxhciAucHJpY2VfX3RvdGFsLFxuLnByaWNlLS1zaW1pbGFyIC5wcmljZV9fc29sZCxcbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaSAuc3BlY2lmaWNhdGlvbi1jYXRlZ29yeV9fdGl0bGUsXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIC50ZWNobmljYWwtZGF0YS1jYXRlZ29yeV9fdGl0bGUsXG4uZmluYW5jZS1mb3JtIC5maW5hbmNlLWZvcm1fX3RpdGxlLFxuLmZpbmFuY2UtdGFibGVzIC5maW5hbmNlLXdhcm5pbmcsXG4uZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fY2hlY2tlci10aXRsZSxcbi5maW5hbmNlLWV4YW1wbGVfX3RpdGxlLFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCxcbiAgaDIgc21hbGwsXG4gIC5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fZm9ybS10aXRsZSBzbWFsbCxcbiAgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3RpdGxlIHNtYWxsLFxuICAub2ZmZXItLWZ1bGwgLm9mZmVyX19mb3JtLXRpdGxlIHNtYWxsLFxuICAub3JkZXItcHJvZ3Jlc3NfX3RpdGxlIHNtYWxsLFxuICAucGFnZS0tY29udGFjdCAucGFnZV9fZm9ybS10aXRsZSBzbWFsbCxcbiAgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX2Zvcm0tdGl0bGUgc21hbGwsXG4gIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19mb3JtLXRpdGxlIHNtYWxsLFxuICAucGFnZS0tdGVhc2VyIC5wYWdlX190aXRsZSBzbWFsbCxcbiAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X190aXRsZSBzbWFsbCxcbiAgLnBhcnQtLWZ1bGwgLnBhcnRfX2Zvcm0tdGl0bGUgc21hbGwsXG4gIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fdGl0bGUgc21hbGwsXG4gIC52ZWhpY2xlLS1nZW5lcmFsIC52ZWhpY2xlX190aXRsZSBzbWFsbCxcbiAgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fdGl0bGUgc21hbGwsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkIC5saXN0aW5nX190aXRsZSBzbWFsbCxcbiAgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0IC5saXN0aW5nX190aXRsZSBzbWFsbCxcbiAgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciAubGlzdGluZ19fdGl0bGUgc21hbGwsXG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19pbmNsdWRlcy10aXRsZSBzbWFsbCxcbiAgaDMgc21hbGwsXG4gIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fZGlyZWN0aW9ucy10aXRsZSBzbWFsbCxcbiAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX2FkZHJlc3MtdGl0bGUgc21hbGwsXG4gIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX190ZWxlcGhvbmUtdGl0bGUgc21hbGwsXG4gIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19vcGVuaW5nLWhvdXJzLXRpdGxlIHNtYWxsLFxuICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fc3ViLXRpdGxlIHNtYWxsLFxuICAuYWRkLW9uX190aXRsZSBzbWFsbCxcbiAgLmNhbGVuZGFyX19oZWFkZXIgLmNhbGVuZGFyX19tb250aCBzcGFuIHNtYWxsLFxuICAuY29sbGVjdGlvbi1kZWxpdmVyeV9fdGl0bGUgc21hbGwsXG4gIC5vcmRlci1wYXltZW50X190aXRsZSBzbWFsbCxcbiAgLm9yZGVyLXN0YXRlLXN1bW1hcnlfX3ZlaGljbGUtdGl0bGUgc21hbGwsXG4gIC5wYWdlLS1jb250YWN0IC5wYWdlX19kaXJlY3Rpb25zLXRpdGxlIHNtYWxsLFxuICAucGFnZS0tdGVhc2VyIC5wYWdlX19zdWItdGl0bGUgc21hbGwsXG4gIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fc3ViLXRpdGxlIHNtYWxsLFxuICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3N1Yi10aXRsZSBzbWFsbCxcbiAgLnF1aWNrLXNlYXJjaF9fbGVnZW5kIHNtYWxsLFxuICAuZXh0cmFzX19saXN0LXRpdGxlIHNtYWxsLFxuICAuYmxvY2stLWRlZmF1bHQgLmJsb2NrX190aXRsZSBzbWFsbCxcbiAgLmJsb2NrLS1zaWRlYmFyIC5ibG9ja19fdGl0bGUgc21hbGwsXG4gIC5wcmltYXJ5LWltYWdlX190aXRsZSBzbWFsbCxcbiAgLnZlaGljbGUtLWZlYXR1cmVkLXNpZGViYXIgLnZlaGljbGVfX3RpdGxlIHNtYWxsLFxuICAudmVoaWNsZS0tZmVhdHVyZWQgLnZlaGljbGVfX3RpdGxlIHNtYWxsLFxuICAudmVoaWNsZS0tc2ltaWxhciAudmVoaWNsZV9fdGl0bGUgc21hbGwsXG4gIC5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX190aXRsZSBzbWFsbCxcbiAgLmZpbmFuY2UtY2hlY2tlcl9fZGV0YWlscy10aXRsZSBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIC5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fbmFtZSBzbWFsbCxcbiAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19kaXJlY3Rpb25zLXRpdGxlIHNtYWxsLFxuICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX3RlbGVwaG9uZS10aXRsZSBzbWFsbCxcbiAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19vcGVuaW5nLWhvdXJzLXRpdGxlIHNtYWxsLFxuICAudmlkZW8tLXBhZ2UgLnZpZGVvX190aXRsZSBzbWFsbCxcbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkgLnNwZWNpZmljYXRpb24tY2F0ZWdvcnlfX3RpdGxlIHNtYWxsLFxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhLWNhdGVnb3J5X190aXRsZSBzbWFsbCxcbiAgLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fZGVzY3JpcHRpb24gc21hbGwsXG4gIC5wcmltYXJ5LWltYWdlX19kZXNjcmlwdGlvbiBzbWFsbCxcbiAgLnByaWNlLS1mZWF0dXJlZCAucHJpY2VfX3RvdGFsIHNtYWxsLFxuICAucHJpY2UtLWZlYXR1cmVkIC5wcmljZV9fc29sZCBzbWFsbCxcbiAgLnByaWNlLS1zaW1pbGFyIC5wcmljZV9fdG90YWwgc21hbGwsXG4gIC5wcmljZS0tc2ltaWxhciAucHJpY2VfX3NvbGQgc21hbGwsXG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaSAuc3BlY2lmaWNhdGlvbi1jYXRlZ29yeV9fdGl0bGUgc21hbGwsXG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhLWNhdGVnb3J5X190aXRsZSBzbWFsbCxcbiAgLmZpbmFuY2UtZm9ybSAuZmluYW5jZS1mb3JtX190aXRsZSBzbWFsbCxcbiAgLmZpbmFuY2UtdGFibGVzIC5maW5hbmNlLXdhcm5pbmcgc21hbGwsXG4gIC5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX19jaGVja2VyLXRpdGxlIHNtYWxsLFxuICAuZmluYW5jZS1leGFtcGxlX190aXRsZSBzbWFsbCxcbiAgaDUgc21hbGwsXG4gIGg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cblxuaDIsXG4uY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX2Zvcm0tdGl0bGUsXG4ub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fdGl0bGUsXG4ub2ZmZXItLWZ1bGwgLm9mZmVyX19mb3JtLXRpdGxlLFxuLm9yZGVyLXByb2dyZXNzX190aXRsZSxcbi5wYWdlLS1jb250YWN0IC5wYWdlX19mb3JtLXRpdGxlLFxuLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX2Zvcm0tdGl0bGUsXG4ucGFnZS0tZnVsbC13aWR0aCAucGFnZV9fZm9ybS10aXRsZSxcbi5wYWdlLS10ZWFzZXIgLnBhZ2VfX3RpdGxlLFxuLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X190aXRsZSxcbi5wYXJ0LS1mdWxsIC5wYXJ0X19mb3JtLXRpdGxlLFxuLnBvc3QtLWZlYXR1cmVkIC5wb3N0X190aXRsZSxcbi52ZWhpY2xlLS1nZW5lcmFsIC52ZWhpY2xlX190aXRsZSxcbi52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX3RpdGxlLFxuLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQgLmxpc3RpbmdfX3RpdGxlLFxuLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0IC5saXN0aW5nX190aXRsZSxcbi5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXIgLmxpc3RpbmdfX3RpdGxlLFxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2luY2x1ZGVzLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuXG5oMyxcbi5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fZGlyZWN0aW9ucy10aXRsZSxcbi5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19hZGRyZXNzLXRpdGxlLFxuLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX3RlbGVwaG9uZS10aXRsZSxcbi5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19vcGVuaW5nLWhvdXJzLXRpdGxlLFxuLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3N1Yi10aXRsZSxcbi5hZGQtb25fX3RpdGxlLFxuLmNhbGVuZGFyX19oZWFkZXIgLmNhbGVuZGFyX19tb250aCBzcGFuLFxuLmNvbGxlY3Rpb24tZGVsaXZlcnlfX3RpdGxlLFxuLm9yZGVyLXBheW1lbnRfX3RpdGxlLFxuLm9yZGVyLXN0YXRlLXN1bW1hcnlfX3ZlaGljbGUtdGl0bGUsXG4ucGFnZS0tY29udGFjdCAucGFnZV9fZGlyZWN0aW9ucy10aXRsZSxcbi5wYWdlLS10ZWFzZXIgLnBhZ2VfX3N1Yi10aXRsZSxcbi5wYXJ0LS1mZWF0dXJlZCAucGFydF9fc3ViLXRpdGxlLFxuLnBvc3QtLWZlYXR1cmVkIC5wb3N0X19zdWItdGl0bGUsXG4ucXVpY2stc2VhcmNoX19sZWdlbmQsXG4uZXh0cmFzX19saXN0LXRpdGxlLFxuLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fdGl0bGUsXG4uYmxvY2stLXNpZGViYXIgLmJsb2NrX190aXRsZSxcbi5wcmltYXJ5LWltYWdlX190aXRsZSxcbi52ZWhpY2xlLS1mZWF0dXJlZC1zaWRlYmFyIC52ZWhpY2xlX190aXRsZSxcbi52ZWhpY2xlLS1mZWF0dXJlZCAudmVoaWNsZV9fdGl0bGUsXG4udmVoaWNsZS0tc2ltaWxhciAudmVoaWNsZV9fdGl0bGUsXG4uZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fdGl0bGUsXG4uZmluYW5jZS1jaGVja2VyX19kZXRhaWxzLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuXG5oNCxcbi5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fbmFtZSxcbi5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fZGlyZWN0aW9ucy10aXRsZSxcbi5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fdGVsZXBob25lLXRpdGxlLFxuLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19vcGVuaW5nLWhvdXJzLXRpdGxlLFxuLnZpZGVvLS1wYWdlIC52aWRlb19fdGl0bGUsXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaSAuc3BlY2lmaWNhdGlvbi1jYXRlZ29yeV9fdGl0bGUsXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhLWNhdGVnb3J5X190aXRsZSxcbi5ibG9jay0tZGVmYXVsdCAuYmxvY2tfX2Rlc2NyaXB0aW9uLFxuLnByaW1hcnktaW1hZ2VfX2Rlc2NyaXB0aW9uLFxuLnByaWNlLS1mZWF0dXJlZCAucHJpY2VfX3RvdGFsLFxuLnByaWNlLS1mZWF0dXJlZCAucHJpY2VfX3NvbGQsXG4ucHJpY2UtLXNpbWlsYXIgLnByaWNlX190b3RhbCxcbi5wcmljZS0tc2ltaWxhciAucHJpY2VfX3NvbGQsXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkgLnNwZWNpZmljYXRpb24tY2F0ZWdvcnlfX3RpdGxlLFxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaSAudGVjaG5pY2FsLWRhdGEtY2F0ZWdvcnlfX3RpdGxlLFxuLmZpbmFuY2UtZm9ybSAuZmluYW5jZS1mb3JtX190aXRsZSxcbi5maW5hbmNlLXRhYmxlcyAuZmluYW5jZS13YXJuaW5nLFxuLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX2NoZWNrZXItdGl0bGUsXG4uZmluYW5jZS1leGFtcGxlX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDAuNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gIFxuICBoMixcbiAgLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X19mb3JtLXRpdGxlLFxuICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fdGl0bGUsXG4gIC5vZmZlci0tZnVsbCAub2ZmZXJfX2Zvcm0tdGl0bGUsXG4gIC5vcmRlci1wcm9ncmVzc19fdGl0bGUsXG4gIC5wYWdlLS1jb250YWN0IC5wYWdlX19mb3JtLXRpdGxlLFxuICAucGFnZS0tZGVmYXVsdCAucGFnZV9fZm9ybS10aXRsZSxcbiAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2Zvcm0tdGl0bGUsXG4gIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX3RpdGxlLFxuICAucGFydC0tZmVhdHVyZWQgLnBhcnRfX3RpdGxlLFxuICAucGFydC0tZnVsbCAucGFydF9fZm9ybS10aXRsZSxcbiAgLnBvc3QtLWZlYXR1cmVkIC5wb3N0X190aXRsZSxcbiAgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX3RpdGxlLFxuICAudmVoaWNsZS0tbGF0ZXN0IC52ZWhpY2xlX190aXRsZSxcbiAgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQgLmxpc3RpbmdfX3RpdGxlLFxuICAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3QgLmxpc3RpbmdfX3RpdGxlLFxuICAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5saXN0aW5nX190aXRsZSxcbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2luY2x1ZGVzLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07IH1cbiAgXG4gIGgzLFxuICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX2RpcmVjdGlvbnMtdGl0bGUsXG4gIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19hZGRyZXNzLXRpdGxlLFxuICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fdGVsZXBob25lLXRpdGxlLFxuICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fb3BlbmluZy1ob3Vycy10aXRsZSxcbiAgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3N1Yi10aXRsZSxcbiAgLmFkZC1vbl9fdGl0bGUsXG4gIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fbW9udGggc3BhbixcbiAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX3RpdGxlLFxuICAub3JkZXItcGF5bWVudF9fdGl0bGUsXG4gIC5vcmRlci1zdGF0ZS1zdW1tYXJ5X192ZWhpY2xlLXRpdGxlLFxuICAucGFnZS0tY29udGFjdCAucGFnZV9fZGlyZWN0aW9ucy10aXRsZSxcbiAgLnBhZ2UtLXRlYXNlciAucGFnZV9fc3ViLXRpdGxlLFxuICAucGFydC0tZmVhdHVyZWQgLnBhcnRfX3N1Yi10aXRsZSxcbiAgLnBvc3QtLWZlYXR1cmVkIC5wb3N0X19zdWItdGl0bGUsXG4gIC5xdWljay1zZWFyY2hfX2xlZ2VuZCxcbiAgLmV4dHJhc19fbGlzdC10aXRsZSxcbiAgLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fdGl0bGUsXG4gIC5ibG9jay0tc2lkZWJhciAuYmxvY2tfX3RpdGxlLFxuICAucHJpbWFyeS1pbWFnZV9fdGl0bGUsXG4gIC52ZWhpY2xlLS1mZWF0dXJlZC1zaWRlYmFyIC52ZWhpY2xlX190aXRsZSxcbiAgLnZlaGljbGUtLWZlYXR1cmVkIC52ZWhpY2xlX190aXRsZSxcbiAgLnZlaGljbGUtLXNpbWlsYXIgLnZlaGljbGVfX3RpdGxlLFxuICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fdGl0bGUsXG4gIC5maW5hbmNlLWNoZWNrZXJfX2RldGFpbHMtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIFxuICBoNCxcbiAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19uYW1lLFxuICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX2RpcmVjdGlvbnMtdGl0bGUsXG4gIC5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fdGVsZXBob25lLXRpdGxlLFxuICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX29wZW5pbmctaG91cnMtdGl0bGUsXG4gIC52aWRlby0tcGFnZSAudmlkZW9fX3RpdGxlLFxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaSAuc3BlY2lmaWNhdGlvbi1jYXRlZ29yeV9fdGl0bGUsXG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaSAudGVjaG5pY2FsLWRhdGEtY2F0ZWdvcnlfX3RpdGxlLFxuICAuYmxvY2stLWRlZmF1bHQgLmJsb2NrX19kZXNjcmlwdGlvbixcbiAgLnByaW1hcnktaW1hZ2VfX2Rlc2NyaXB0aW9uLFxuICAucHJpY2UtLWZlYXR1cmVkIC5wcmljZV9fdG90YWwsXG4gIC5wcmljZS0tZmVhdHVyZWQgLnByaWNlX19zb2xkLFxuICAucHJpY2UtLXNpbWlsYXIgLnByaWNlX190b3RhbCxcbiAgLnByaWNlLS1zaW1pbGFyIC5wcmljZV9fc29sZCxcbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpIC5zcGVjaWZpY2F0aW9uLWNhdGVnb3J5X190aXRsZSxcbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaSAudGVjaG5pY2FsLWRhdGEtY2F0ZWdvcnlfX3RpdGxlLFxuICAuZmluYW5jZS1mb3JtIC5maW5hbmNlLWZvcm1fX3RpdGxlLFxuICAuZmluYW5jZS10YWJsZXMgLmZpbmFuY2Utd2FybmluZyxcbiAgLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX2NoZWNrZXItdGl0bGUsXG4gIC5maW5hbmNlLWV4YW1wbGVfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICNkYmRiZGI7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS44OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgY29sb3I6ICM5OTk5OTk7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICM5OTk5OTk7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmFiYnIge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOTk5OTk5OyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxuLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X19mb3JtLXRpdGxlLFxuICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fdGl0bGUsXG4gIC5vZmZlci0tZnVsbCAub2ZmZXJfX2Zvcm0tdGl0bGUsXG4gIC5vcmRlci1wcm9ncmVzc19fdGl0bGUsXG4gIC5wYWdlLS1jb250YWN0IC5wYWdlX19mb3JtLXRpdGxlLFxuICAucGFnZS0tZGVmYXVsdCAucGFnZV9fZm9ybS10aXRsZSxcbiAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2Zvcm0tdGl0bGUsXG4gIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX3RpdGxlLFxuICAucGFydC0tZmVhdHVyZWQgLnBhcnRfX3RpdGxlLFxuICAucGFydC0tZnVsbCAucGFydF9fZm9ybS10aXRsZSxcbiAgLnBvc3QtLWZlYXR1cmVkIC5wb3N0X190aXRsZSxcbiAgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX3RpdGxlLFxuICAudmVoaWNsZS0tbGF0ZXN0IC52ZWhpY2xlX190aXRsZSxcbiAgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQgLmxpc3RpbmdfX3RpdGxlLFxuICAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3QgLmxpc3RpbmdfX3RpdGxlLFxuICAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5saXN0aW5nX190aXRsZSxcbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2luY2x1ZGVzLXRpdGxlLFxuICBoMyxcbiAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19kaXJlY3Rpb25zLXRpdGxlLFxuICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fYWRkcmVzcy10aXRsZSxcbiAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX3RlbGVwaG9uZS10aXRsZSxcbiAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX29wZW5pbmctaG91cnMtdGl0bGUsXG4gIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19zdWItdGl0bGUsXG4gIC5hZGQtb25fX3RpdGxlLFxuICAuY2FsZW5kYXJfX2hlYWRlciAuY2FsZW5kYXJfX21vbnRoIHNwYW4sXG4gIC5jb2xsZWN0aW9uLWRlbGl2ZXJ5X190aXRsZSxcbiAgLm9yZGVyLXBheW1lbnRfX3RpdGxlLFxuICAub3JkZXItc3RhdGUtc3VtbWFyeV9fdmVoaWNsZS10aXRsZSxcbiAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2RpcmVjdGlvbnMtdGl0bGUsXG4gIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX3N1Yi10aXRsZSxcbiAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19zdWItdGl0bGUsXG4gIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fc3ViLXRpdGxlLFxuICAucXVpY2stc2VhcmNoX19sZWdlbmQsXG4gIC5leHRyYXNfX2xpc3QtdGl0bGUsXG4gIC5ibG9jay0tZGVmYXVsdCAuYmxvY2tfX3RpdGxlLFxuICAuYmxvY2stLXNpZGViYXIgLmJsb2NrX190aXRsZSxcbiAgLnByaW1hcnktaW1hZ2VfX3RpdGxlLFxuICAudmVoaWNsZS0tZmVhdHVyZWQtc2lkZWJhciAudmVoaWNsZV9fdGl0bGUsXG4gIC52ZWhpY2xlLS1mZWF0dXJlZCAudmVoaWNsZV9fdGl0bGUsXG4gIC52ZWhpY2xlLS1zaW1pbGFyIC52ZWhpY2xlX190aXRsZSxcbiAgLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX3RpdGxlLFxuICAuZmluYW5jZS1jaGVja2VyX19kZXRhaWxzLXRpdGxlIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBcbiAgaDIsXG4gIC5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fZm9ybS10aXRsZSxcbiAgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3RpdGxlLFxuICAub2ZmZXItLWZ1bGwgLm9mZmVyX19mb3JtLXRpdGxlLFxuICAub3JkZXItcHJvZ3Jlc3NfX3RpdGxlLFxuICAucGFnZS0tY29udGFjdCAucGFnZV9fZm9ybS10aXRsZSxcbiAgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX2Zvcm0tdGl0bGUsXG4gIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19mb3JtLXRpdGxlLFxuICAucGFnZS0tdGVhc2VyIC5wYWdlX190aXRsZSxcbiAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X190aXRsZSxcbiAgLnBhcnQtLWZ1bGwgLnBhcnRfX2Zvcm0tdGl0bGUsXG4gIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fdGl0bGUsXG4gIC52ZWhpY2xlLS1nZW5lcmFsIC52ZWhpY2xlX190aXRsZSxcbiAgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fdGl0bGUsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkIC5saXN0aW5nX190aXRsZSxcbiAgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0IC5saXN0aW5nX190aXRsZSxcbiAgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciAubGlzdGluZ19fdGl0bGUsXG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19pbmNsdWRlcy10aXRsZSxcbiAgaDMsXG4gIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fZGlyZWN0aW9ucy10aXRsZSxcbiAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX2FkZHJlc3MtdGl0bGUsXG4gIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX190ZWxlcGhvbmUtdGl0bGUsXG4gIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19vcGVuaW5nLWhvdXJzLXRpdGxlLFxuICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fc3ViLXRpdGxlLFxuICAuYWRkLW9uX190aXRsZSxcbiAgLmNhbGVuZGFyX19oZWFkZXIgLmNhbGVuZGFyX19tb250aCBzcGFuLFxuICAuY29sbGVjdGlvbi1kZWxpdmVyeV9fdGl0bGUsXG4gIC5vcmRlci1wYXltZW50X190aXRsZSxcbiAgLm9yZGVyLXN0YXRlLXN1bW1hcnlfX3ZlaGljbGUtdGl0bGUsXG4gIC5wYWdlLS1jb250YWN0IC5wYWdlX19kaXJlY3Rpb25zLXRpdGxlLFxuICAucGFnZS0tdGVhc2VyIC5wYWdlX19zdWItdGl0bGUsXG4gIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fc3ViLXRpdGxlLFxuICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3N1Yi10aXRsZSxcbiAgLnF1aWNrLXNlYXJjaF9fbGVnZW5kLFxuICAuZXh0cmFzX19saXN0LXRpdGxlLFxuICAuYmxvY2stLWRlZmF1bHQgLmJsb2NrX190aXRsZSxcbiAgLmJsb2NrLS1zaWRlYmFyIC5ibG9ja19fdGl0bGUsXG4gIC5wcmltYXJ5LWltYWdlX190aXRsZSxcbiAgLnZlaGljbGUtLWZlYXR1cmVkLXNpZGViYXIgLnZlaGljbGVfX3RpdGxlLFxuICAudmVoaWNsZS0tZmVhdHVyZWQgLnZlaGljbGVfX3RpdGxlLFxuICAudmVoaWNsZS0tc2ltaWxhciAudmVoaWNsZV9fdGl0bGUsXG4gIC5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX190aXRsZSxcbiAgLmZpbmFuY2UtY2hlY2tlcl9fZGV0YWlscy10aXRsZSB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMC44NzVyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5MDVkYWQ7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3YjRjOTY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MDVkYWQ7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzQ0ODhkO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjIyMjI7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWIxYjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTA1ZGFkO1xuICAgIGNvbG9yOiAjOTA1ZGFkOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICM0ODJkNTg7XG4gICAgICBjb2xvcjogIzQ4MmQ1ODsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzkwNWRhZDtcbiAgICAgIGNvbG9yOiAjOTA1ZGFkOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDgyZDU4O1xuICAgICAgICBjb2xvcjogIzQ4MmQ1ODsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMjIyMjIyO1xuICAgICAgY29sb3I6ICMyMjIyMjI7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTExMTExO1xuICAgICAgICBjb2xvcjogIzExMTExMTsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA1ZGFkO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA1ZGFkO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjg3NXJlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM5MDVkYWQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM5MDVkYWQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzIyMjIyMjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi4zNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5OTk5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjZTZlNmU2O1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OTk5OTk7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYmFja2dyb3VuZDogI2VjZWNlYztcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGhlaWdodDogMi40Mzc1cmVtOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi4zNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxNTMsIDE1MywgMTUzJTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5OTk5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjZTZlNmU2O1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZWRlYjsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICM5MDVkYWQ7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBjb250ZW50OiAnKyc7IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxMyc7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIGNvbG9yOiAjZTZlNmU2OyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogIzkwNWRhZDsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTdmMztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZmFlYTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2Q5O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlNGUxO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlY2VjZWM7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQ6ICNlY2VjZWM7IH1cbiAgLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLXNlY3Rpb24ge1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5jYXJkLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzk5OTk5OTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jbG9zZS1idXR0b24uc21hbGwge1xuICAgIHJpZ2h0OiAwLjY2cmVtO1xuICAgIHRvcDogMC4zM2VtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNsb3NlLWJ1dHRvbiwgLmNsb3NlLWJ1dHRvbi5tZWRpdW0ge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5tZW51IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51ID4gbGkge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAubWVudSA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IHNlbGVjdCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51ID4gbGkgPiBhIGltZyxcbiAgLm1lbnUgPiBsaSA+IGEgaSxcbiAgLm1lbnUgPiBsaSA+IGEgc3ZnIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLm1lbnUgPiBsaSA+IGEgaW1nICsgc3BhbixcbiAgICAubWVudSA+IGxpID4gYSBpICsgc3BhbixcbiAgICAubWVudSA+IGxpID4gYSBzdmcgKyBzcGFuIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1lbnUgPiBsaSA+IGEgaW1nLFxuICAubWVudSA+IGxpID4gYSBpLFxuICAubWVudSA+IGxpID4gYSBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUgPiBsaSwgLm1lbnUuaG9yaXpvbnRhbCA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gIC5tZW51LmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gICAgLm1lbnUuZXhwYW5kZWQgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51LnZlcnRpY2FsID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gICAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAubWVudS5sYXJnZS1leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuICAgICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm1lbnUuc2ltcGxlIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAubWVudS5zaW1wbGUgYSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWVudS5zaW1wbGUgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAubWVudS5zaW1wbGUuYWxpZ24tcmlnaHQgbGkge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudS5hbGlnbi1yaWdodDo6YmVmb3JlLCAubWVudS5hbGlnbi1yaWdodDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubWVudS5hbGlnbi1yaWdodDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0ID4gbGkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubWVudS5pY29uLXRvcCA+IGxpID4gYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXRvcC52ZXJ0aWNhbCBhID4gc3BhbiB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICM5MDVkYWQ7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLm1lbnUubWVudS1ib3JkZXJlZCBsaSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VjZWNlYzsgfVxuICAgIC5tZW51Lm1lbnUtYm9yZGVyZWQgbGk6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAubWVudS5tZW51LWhvdmVyIGxpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi5tZW51LXRleHQge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5tZW51LWNlbnRlcmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmZmZmZmLCAwIDE0cHggMCAjZmZmZmZmO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2U2ZTZlNiwgMCAxNHB4IDAgI2U2ZTZlNjsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzAwMDAwMCwgMCAxNHB4IDAgIzAwMDAwMDtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOTk5OTk5O1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzk5OTk5OSwgMCAxNHB4IDAgIzk5OTk5OTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzkwNWRhZDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjOTA1ZGFkIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyNzBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiAtM3B4OyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmZmZmY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZjsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmZmZmOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogIzkwNWRhZDtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxhYmVsLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICM5MDVkYWQ7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzIyMjIyMjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWlkZGxlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5ib3R0b20ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWNlY2VjOyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzkwNWRhZDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYWInOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBiYic7IH1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuaHRtbC5pcy1yZXZlYWwtb3Blbixcbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCAucmV2ZWFsIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZDBkMGQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogIzA2MDYwNjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogIzBkMGQwZDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICB0aGVhZCB0cixcbiAgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkIHRoLFxuICB0aGVhZCB0ZCxcbiAgdGZvb3QgdGgsXG4gIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQwZDBkOyB9XG4gIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuICAgIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwZDBkMGQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTAxMDE7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDgwODA4OyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzkwNWRhZDsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzhhNTVhODsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzkwNWRhZDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgY29sb3I6ICM3ZDRkOTg7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogIzkwNWRhZDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCBub25lO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC50YWJzLXBhbmVsW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJzsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbmEge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuaWZyYW1lIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyOyB9XG4gICAgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIGgyLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X19mb3JtLXRpdGxlLCAuY3VzdG9tLWVudHJ5LS1mdWxsIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAuY3VzdG9tLWVudHJ5X19mb3JtLXRpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3RpdGxlLCAub2ZmZXItLWZlYXR1cmVkIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAub2ZmZXJfX3RpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLm9mZmVyLS1mdWxsIC5vZmZlcl9fZm9ybS10aXRsZSwgLm9mZmVyLS1mdWxsIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAub2ZmZXJfX2Zvcm0tdGl0bGUsIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAub3JkZXItcHJvZ3Jlc3NfX3RpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2Zvcm0tdGl0bGUsIC5wYWdlLS1jb250YWN0IC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAucGFnZV9fZm9ybS10aXRsZSwgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5wYWdlLS1kZWZhdWx0IC5wYWdlX19mb3JtLXRpdGxlLCAucGFnZS0tZGVmYXVsdCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnBhZ2VfX2Zvcm0tdGl0bGUsIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAucGFnZS0tZnVsbC13aWR0aCAucGFnZV9fZm9ybS10aXRsZSwgLnBhZ2UtLWZ1bGwtd2lkdGggLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5wYWdlX19mb3JtLXRpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnBhZ2UtLXRlYXNlciAucGFnZV9fdGl0bGUsIC5wYWdlLS10ZWFzZXIgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5wYWdlX190aXRsZSwgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fdGl0bGUsIC5wYXJ0LS1mZWF0dXJlZCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnBhcnRfX3RpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnBhcnQtLWZ1bGwgLnBhcnRfX2Zvcm0tdGl0bGUsIC5wYXJ0LS1mdWxsIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZSAucGFydF9fZm9ybS10aXRsZSwgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fdGl0bGUsIC5wb3N0LS1mZWF0dXJlZCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnBvc3RfX3RpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX3RpdGxlLCAudmVoaWNsZS0tZ2VuZXJhbCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnZlaGljbGVfX3RpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fdGl0bGUsIC52ZWhpY2xlLS1sYXRlc3QgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC52ZWhpY2xlX190aXRsZSwgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkIC5saXN0aW5nX190aXRsZSwgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5saXN0aW5nX190aXRsZSwgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdCAubGlzdGluZ19fdGl0bGUsIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLmxpc3RpbmdfX3RpdGxlLCAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciAubGlzdGluZ19fdGl0bGUsIC5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXIgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC5saXN0aW5nX190aXRsZSwgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19pbmNsdWRlcy10aXRsZSwgLnZlaGljbGUtLWZ1bGwgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlIC52ZWhpY2xlX19pbmNsdWRlcy10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cbiAgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlOmZvY3VzLFxuICAuYWNjb3JkaW9uID4gbGkgYS5hY2NvcmRpb24tdGl0bGU6aG92ZXIsXG4gIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MDVkYWQ7IH1cbiAgLmFjY29yZGlvbiA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hY2NvcmRpb24gPiBsaSBhLmFjY29yZGlvbi10aXRsZVthcmlhLXNlbGVjdGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDEuODc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC45OTk5KTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCAjOTA1ZGFkO1xuICAgICAgICB6LWluZGV4OiA0MDA7IH0gfVxuICAuYWNjb3JkaW9uID4gbGkgLmFjY29yZGlvbi1jb250ZW50LS1uby1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5hY2NvcmRpb24tLWJhc2ljID4gbGkgYS5hY2NvcmRpb24tdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmFjY29yZGlvbi0tYmFzaWMgPiBsaSBhLmFjY29yZGlvbi10aXRsZTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuYWNjb3JkaW9uLS1iYXNpYyA+IGxpIGEuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IGluaGVyaXQ7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLmFjY29yZGlvbi0tYmFzaWMgPiBsaSBhLmFjY29yZGlvbi10aXRsZSBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5hY2NvcmRpb24tLWJhc2ljID4gbGkgYS5hY2NvcmRpb24tdGl0bGUgc3BhbiB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLmFjY29yZGlvbi0tYmFzaWMgPiBsaSBhLmFjY29yZGlvbi10aXRsZTpmb2N1cyxcbiAgLmFjY29yZGlvbi0tYmFzaWMgPiBsaSBhLmFjY29yZGlvbi10aXRsZTpob3ZlcixcbiAgLmFjY29yZGlvbi0tYmFzaWMgPiBsaSBhLmFjY29yZGlvbi10aXRsZVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgLmFjY29yZGlvbi0tYmFzaWMgPiBsaSBhLmFjY29yZGlvbi10aXRsZVthcmlhLXNlbGVjdGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5hY2NvcmRpb24tLWJhc2ljID4gbGkgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnJlYWRjcnVtYnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuYnJlYWRjcnVtYnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5icmVhZGNydW1icywgLmJyZWFkY3J1bWJzOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGkgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC5icmVhZGNydW1icyBsaSBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpIHNwYW4ge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGU1Y2MnO1xuICAgICAgbWFyZ2luOiAwIDAuMzc1cmVtO1xuICAgICAgY29sb3I6ICM5OTk5OTk7XG4gICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uY2FsbG91dCB7XG4gIG1hcmdpbjogMC4zMTI1cmVtIDA7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uY29va2llLXBvbGljeSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjIyMjtcbiAgei1pbmRleDogOTk5OTk5OTk5OTsgfVxuICAuY29va2llLXBvbGljeS1pbm5lciB7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jb29raWUtcG9saWN5LWlubmVyOjpiZWZvcmUsIC5jb29raWUtcG9saWN5LWlubmVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5jb29raWUtcG9saWN5LWlubmVyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29va2llLXBvbGljeS1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5jb29raWUtcG9saWN5LWlubmVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLmNvb2tpZS1wb2xpY3ktaW5uZXIsIC5jb29raWUtcG9saWN5LWlubmVyOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNvb2tpZS1wb2xpY3ktaW5uZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgICAuY29va2llLXBvbGljeS1pbm5lciBhIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5jb29raWUtcG9saWN5LWlubmVyIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNvb2tpZS1wb2xpY3lfX3RleHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLmNvb2tpZS1wb2xpY3lfX2Nsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6ICM5OTk5OTk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRvcDogMC42MjVyZW07XG4gICAgcmlnaHQ6IDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY29va2llLXBvbGljeV9fY2xvc2Uge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC5jb29raWUtcG9saWN5X19jbG9zZTpob3ZlciwgLmNvb2tpZS1wb2xpY3lfX2Nsb3NlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb29raWUtcG9saWN5X19jbG9zZSB7XG4gICAgICAgIHRvcDogMC44MTI1cmVtO1xuICAgICAgICByaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLmNyZWRpdHMge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNyZWRpdHM6OmJlZm9yZSwgLmNyZWRpdHM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmNyZWRpdHM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jcmVkaXRzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmNyZWRpdHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5jcmVkaXRzLCAuY3JlZGl0czpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jcmVkaXRzID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNyZWRpdHNfX2NvbXBhbnkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfSB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICB6LWluZGV4OiAyICFpbXBvcnRhbnQ7IH1cblxuLmxvZ28ge1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAubG9nby0tdGV4dCB7XG4gICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxvZ28tLXRleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICAubG9nby0taW1hZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDsgfVxuICAgIC5wYWdpbmF0aW9uIGxpIGEge1xuICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDAuNzVyZW0gMC41cmVtO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC5wYWdpbmF0aW9uIGxpIGEgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC5wYWdpbmF0aW9uIGxpIGE6Zm9jdXMsIC5wYWdpbmF0aW9uIGxpIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzkwNWRhZDsgfVxuICAgIC5wYWdpbmF0aW9uIGxpLmFjdGl2ZSwgLnBhZ2luYXRpb24gbGkuY3VycmVudCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgICAgLnBhZ2luYXRpb24gbGkuYWN0aXZlIGEsIC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQgYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA1ZGFkOyB9XG4gICAgLnBhZ2luYXRpb24gbGkuZmlyc3QgYSBzcGFuOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24gbGkucHJldmlvdXMgYSBzcGFuOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24gbGkubmV4dCBhIHNwYW46OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uIGxpLmxhc3QgYSBzcGFuOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5wYWdpbmF0aW9uIGxpLmZpcnN0IGEgc3Bhbjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGU1ZGMnO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjEyNXJlbTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpLnByZXZpb3VzIGEgc3Bhbjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGU1Y2InO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjEyNXJlbTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpLm5leHQgYSBzcGFuOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFxlNWNjJztcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjEyNXJlbTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpLmxhc3QgYSBzcGFuOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFxlNWRkJztcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjEyNXJlbTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpIGE6aG92ZXIgc3Bhbjo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uIGxpIGE6aG92ZXIgc3Bhbjo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnaW5hdGlvbi0tbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLmZpcnN0IGEgc3BhbiwgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5wcmV2aW91cyBhIHNwYW4sIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkubmV4dCBhIHNwYW4sIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkubGFzdCBhIHNwYW4ge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4OyB9XG4gICAgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5maXJzdCBhIHNwYW46OmJlZm9yZSwgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5maXJzdCBhIHNwYW46OmFmdGVyLCAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLnByZXZpb3VzIGEgc3Bhbjo6YmVmb3JlLCAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLnByZXZpb3VzIGEgc3Bhbjo6YWZ0ZXIsIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkubmV4dCBhIHNwYW46OmJlZm9yZSwgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5uZXh0IGEgc3Bhbjo6YWZ0ZXIsIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkubGFzdCBhIHNwYW46OmJlZm9yZSwgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5sYXN0IGEgc3Bhbjo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLmZpcnN0IGE6Zm9jdXMgc3Bhbjo6YmVmb3JlLCAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLmZpcnN0IGE6Zm9jdXMgc3Bhbjo6YWZ0ZXIsXG4gIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkuZmlyc3QgYTpob3ZlciBzcGFuOjpiZWZvcmUsXG4gIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkuZmlyc3QgYTpob3ZlciBzcGFuOjphZnRlciwgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5wcmV2aW91cyBhOmZvY3VzIHNwYW46OmJlZm9yZSwgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5wcmV2aW91cyBhOmZvY3VzIHNwYW46OmFmdGVyLFxuICAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLnByZXZpb3VzIGE6aG92ZXIgc3Bhbjo6YmVmb3JlLFxuICAucGFnaW5hdGlvbi0tbW9iaWxlIGxpLnByZXZpb3VzIGE6aG92ZXIgc3Bhbjo6YWZ0ZXIsIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkubmV4dCBhOmZvY3VzIHNwYW46OmJlZm9yZSwgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5uZXh0IGE6Zm9jdXMgc3Bhbjo6YWZ0ZXIsXG4gIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkubmV4dCBhOmhvdmVyIHNwYW46OmJlZm9yZSxcbiAgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5uZXh0IGE6aG92ZXIgc3Bhbjo6YWZ0ZXIsIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkubGFzdCBhOmZvY3VzIHNwYW46OmJlZm9yZSwgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5sYXN0IGE6Zm9jdXMgc3Bhbjo6YWZ0ZXIsXG4gIC5wYWdpbmF0aW9uLS1tb2JpbGUgbGkubGFzdCBhOmhvdmVyIHNwYW46OmJlZm9yZSxcbiAgLnBhZ2luYXRpb24tLW1vYmlsZSBsaS5sYXN0IGE6aG92ZXIgc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5wYWdpbmF0aW9uLS1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uLS1kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uZGF0ZXBpY2tlciB0YWJsZSB0aGVhZCB7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5kYXRlcGlja2VyIHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gIC50YWJzID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAudGFicyA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLnRhYnMgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC50YWJzIGlucHV0LFxuICAudGFicyBzZWxlY3QsXG4gIC50YWJzIGEsXG4gIC50YWJzIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudGFicyA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudGFicyA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAgIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEge1xuICAgICAgaGVpZ2h0OiAzLjYyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07IH1cbiAgICAgIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgaDIsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X19mb3JtLXRpdGxlLCAuY3VzdG9tLWVudHJ5LS1mdWxsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmN1c3RvbS1lbnRyeV9fZm9ybS10aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fdGl0bGUsIC5vZmZlci0tZmVhdHVyZWQgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAub2ZmZXJfX3RpdGxlLCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5vZmZlci0tZnVsbCAub2ZmZXJfX2Zvcm0tdGl0bGUsIC5vZmZlci0tZnVsbCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5vZmZlcl9fZm9ybS10aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAub3JkZXItcHJvZ3Jlc3NfX3RpdGxlLCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5wYWdlLS1jb250YWN0IC5wYWdlX19mb3JtLXRpdGxlLCAucGFnZS0tY29udGFjdCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5wYWdlX19mb3JtLXRpdGxlLCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5wYWdlLS1kZWZhdWx0IC5wYWdlX19mb3JtLXRpdGxlLCAucGFnZS0tZGVmYXVsdCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5wYWdlX19mb3JtLXRpdGxlLCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19mb3JtLXRpdGxlLCAucGFnZS0tZnVsbC13aWR0aCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5wYWdlX19mb3JtLXRpdGxlLCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX3RpdGxlLCAucGFnZS0tdGVhc2VyIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnBhZ2VfX3RpdGxlLCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fdGl0bGUsIC5wYXJ0LS1mZWF0dXJlZCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5wYXJ0X190aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAucGFydC0tZnVsbCAucGFydF9fZm9ybS10aXRsZSwgLnBhcnQtLWZ1bGwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAucGFydF9fZm9ybS10aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3RpdGxlLCAucG9zdC0tZmVhdHVyZWQgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAucG9zdF9fdGl0bGUsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX3RpdGxlLCAudmVoaWNsZS0tZ2VuZXJhbCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC52ZWhpY2xlX190aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAudmVoaWNsZS0tbGF0ZXN0IC52ZWhpY2xlX190aXRsZSwgLnZlaGljbGUtLWxhdGVzdCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC52ZWhpY2xlX190aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAubGlzdGluZ19fdGl0bGUsIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLmxpc3RpbmdfX3RpdGxlLCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdCAubGlzdGluZ19fdGl0bGUsIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdCAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5saXN0aW5nX190aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5saXN0aW5nX190aXRsZSwgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhIC5saXN0aW5nX190aXRsZSwgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYSAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9faW5jbHVkZXMtdGl0bGUsIC52ZWhpY2xlLS1mdWxsIC50YWJzID4gbGkudGFicy10aXRsZSA+IGEgLnZlaGljbGVfX2luY2x1ZGVzLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuICAgIC50YWJzID4gbGkudGFicy10aXRsZSA+IGE6Zm9jdXMsXG4gICAgLnRhYnMgPiBsaS50YWJzLXRpdGxlID4gYTpob3ZlcixcbiAgICAudGFicyA+IGxpLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5MDVkYWQ7IH1cbiAgICAudGFicyA+IGxpLnRhYnMtdGl0bGUuaXMtYWN0aXZlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnRhYnMgPiBsaS50YWJzLXRpdGxlLmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC45OTk5KTtcbiAgICAgICAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCAjOTA1ZGFkO1xuICAgICAgICAgIHotaW5kZXg6IDQwMDsgfSB9XG4gICAgLnRhYnMgPiBsaTpsYXN0LWNoaWxkLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4udmVoaWNsZV9fdG9wIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwge1xuICBwYWRkaW5nOiAwOyB9XG5cbi52ZWhpY2xlX19taWRkbGUgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMCAwOyB9XG5cbi50ZW1wb3Jhcnktc2xvZ2FuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkwNWRhZDtcbiAgei1pbmRleDogOTk5OyB9XG4gIC50ZW1wb3Jhcnktc2xvZ2FuX19pbm5lciB7XG4gICAgcGFkZGluZzogMC42MjVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGVtcG9yYXJ5LXNsb2dhbl9faW5uZXIge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRlbXBvcmFyeS1zbG9nYW5fX2lubmVyIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC50ZW1wb3Jhcnktc2xvZ2FuX19pbm5lciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgLnRlbXBvcmFyeS1zbG9nYW5fX2lubmVyIGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmJsb2NrLS1mb290ZXIgLmJsb2NrX19wcmltYXJ5LWltYWdlcyBpbWcge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMTQxNDE0O1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuLmJyYW5jaC0tZm9vdGVyIC5icmFuY2hfX25hbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC4xODc1cmVtOyB9XG4gIC5icmFuY2gtLWZvb3RlciAuYnJhbmNoX19uYW1lOjphZnRlciB7XG4gICAgY29udGVudDogJywnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uYnJhbmNoLS1mb290ZXIgLmJyYW5jaF9fYWRkcmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuYnJhbmNoLS1mb290ZXIgLmJyYW5jaF9fYWRkcmVzcyBzcGFuOjphZnRlciB7XG4gICAgY29udGVudDogJywnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuYnJhbmNoLS1mb290ZXIgLmJyYW5jaF9fYWRkcmVzcyBzcGFuOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuXG4uYnJhbmNoLS1mdWxsIC5icmFuY2hfX21hcCB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19tYXAge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19tYXAgI21hcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxOC43NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX21hcCAjbWFwIHtcbiAgICAgICAgaGVpZ2h0OiAyOXJlbTsgfSB9XG5cbi5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fcHJpbWFyeS1pbWFnZXMge1xuICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19wcmltYXJ5LWltYWdlcyB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19sb2dvcyxcbi5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX2xvZ29zLFxuICAgIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogMjByZW07XG4gICAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19sb2dvcyxcbiAgICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgICAgd2lkdGg6IDI1cmVtOyB9IH1cbiAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19sb2dvcyB1bCxcbiAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19zZWNvbmRhcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX3ZpZGVvcyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNsZWFyOiByaWdodDtcbiAgICB3aWR0aDogMjByZW07XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX3ZpZGVvcyB7XG4gICAgd2lkdGg6IDI1cmVtOyB9IH1cblxuLmJyYW5jaC0tZnVsbCAuYnJhbmNoX192aWRlb3MgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX3ZpZGVvcyB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX192aWRlb3MgdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX3ZpZGVvcyB1bDo6YmVmb3JlLCAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX3ZpZGVvcyB1bDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX3ZpZGVvcyB1bDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fdmlkZW9zIHVsID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX192aWRlb3MgdWwgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fdmlkZW9zIHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fdmlkZW9zIHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX3ZpZGVvcyB1bCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4uYnJhbmNoLS1mdWxsIC5icmFuY2hfX2Rlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gIC5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fZGVzY3JpcHRpb24gcCBhOm5vdCguYnV0dG9uKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX2Rlc2NyaXB0aW9uIHAgYTpub3QoLmJ1dHRvbik6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fZmlsZXMgdWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX2ZpbGVzIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi5icmFuY2gtLWZ1bGwgLmJyYW5jaF9fZGlyZWN0aW9ucyB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJyYW5jaC0tZnVsbCAuYnJhbmNoX19kaXJlY3Rpb25zIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfSB9XG5cbi5icmFuY2gtLXRlYXNlciB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJyYW5jaC0tdGVhc2VyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnJhbmNoLS10ZWFzZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAuYnJhbmNoLS10ZWFzZXI6OmJlZm9yZSwgLmJyYW5jaC0tdGVhc2VyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5icmFuY2gtLXRlYXNlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19uYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19uYW1lIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX25hbWU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX2RldGFpbHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX2RldGFpbHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX2RldGFpbHMge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fZGV0YWlscyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX2RldGFpbHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX2FkZHJlc3Mgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX3RlbGVwaG9uZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX3RlbGVwaG9uZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX190ZWxlcGhvbmU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX3RlbGVwaG9uZSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX190ZWxlcGhvbmUge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX190ZWxlcGhvbmU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fdGVsZXBob25lIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX29wZW5pbmctaG91cnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5icmFuY2gtLXRlYXNlciAuYnJhbmNoX19vcGVuaW5nLWhvdXJzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX29wZW5pbmctaG91cnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX29wZW5pbmctaG91cnMge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fb3BlbmluZy1ob3VycyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX29wZW5pbmctaG91cnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fb3BlbmluZy1ob3VycyBzZWxlY3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbi5icmFuY2gtLXZlaGljbGUge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5icmFuY2gtLXZlaGljbGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5icmFuY2gtLXZlaGljbGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAuYnJhbmNoLS12ZWhpY2xlOjpiZWZvcmUsIC5icmFuY2gtLXZlaGljbGU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmJyYW5jaC0tdmVoaWNsZTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fbWFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fbWFwIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19tYXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19tYXAge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX21hcCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19tYXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX21hcCAjbWFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxOC43NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19tYXAgI21hcCB7XG4gICAgICAgICAgaGVpZ2h0OiAzNy41cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX2RldGFpbHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19kZXRhaWxzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fZGV0YWlscyB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fZGV0YWlscyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19kZXRhaWxzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5icmFuY2gtLXZlaGljbGUgLmJyYW5jaF9fbmFtZSxcbiAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19kaXJlY3Rpb25zLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX2FkZHJlc3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX2FkZHJlc3Mgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYnJhbmNoLS12ZWhpY2xlIC5icmFuY2hfX3RlbGVwaG9uZSxcbiAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19vcGVuaW5nLWhvdXJzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX190ZWxlcGhvbmUtdGl0bGUsXG4gICAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19vcGVuaW5nLWhvdXJzLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX190ZWxlcGhvbmUgdWwsXG4gICAgLmJyYW5jaC0tdmVoaWNsZSAuYnJhbmNoX19vcGVuaW5nLWhvdXJzIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7IH1cblxuLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X19wcmltYXJ5LWltYWdlcyB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X19wcmltYXJ5LWltYWdlcyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICAuY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX3ByaW1hcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX3NlY29uZGFyeS1pbWFnZXMge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiAyMHJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9IH1cbiAgLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X19zZWNvbmRhcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX3ZpZGVvcyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNsZWFyOiByaWdodDtcbiAgICB3aWR0aDogMjByZW07XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH0gfVxuXG4uY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX3ZpZGVvcyB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fdmlkZW9zIHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX3ZpZGVvcyB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fdmlkZW9zIHVsOjpiZWZvcmUsIC5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X192aWRlb3MgdWwgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX3ZpZGVvcyB1bCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX3ZpZGVvcyB1bCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X192aWRlb3MgdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fdmlkZW9zIHVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fY3VzdG9tLWZpZWxkcyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fY3VzdG9tLWZpZWxkcyB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX2N1c3RvbS1maWVsZHMgdWwgbGkgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY3VzdG9tLWVudHJ5LS1mdWxsIC5jdXN0b20tZW50cnlfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X19kZXNjcmlwdGlvbiBwIGE6bm90KC5idXR0b24pIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fZGVzY3JpcHRpb24gcCBhOm5vdCguYnV0dG9uKTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X19maWxlcyB1bCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fZmlsZXMgdWwgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLmN1c3RvbS1lbnRyeS0tZnVsbCAuY3VzdG9tLWVudHJ5X19mb3JtIHtcbiAgY2xlYXI6IHJpZ2h0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5jdXN0b20tZW50cnktLWZ1bGwgLmN1c3RvbS1lbnRyeV9fZm9ybSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbi5jdXN0b20tZW50cnktLXRlYXNlciB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmN1c3RvbS1lbnRyeS0tdGVhc2VyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3VzdG9tLWVudHJ5LS10ZWFzZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAuY3VzdG9tLWVudHJ5LS10ZWFzZXI6OmJlZm9yZSwgLmN1c3RvbS1lbnRyeS0tdGVhc2VyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5jdXN0b20tZW50cnktLXRlYXNlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jdXN0b20tZW50cnktLXRlYXNlciAuY3VzdG9tLWVudHJ5X19wcmltYXJ5LWltYWdlcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3VzdG9tLWVudHJ5LS10ZWFzZXIgLmN1c3RvbS1lbnRyeV9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuY3VzdG9tLWVudHJ5LS10ZWFzZXIgLmN1c3RvbS1lbnRyeV9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmN1c3RvbS1lbnRyeS0tdGVhc2VyIC5jdXN0b20tZW50cnlfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmN1c3RvbS1lbnRyeS0tdGVhc2VyIC5jdXN0b20tZW50cnlfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY3VzdG9tLWVudHJ5LS10ZWFzZXIgLmN1c3RvbS1lbnRyeV9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLmN1c3RvbS1lbnRyeS0tdGVhc2VyIC5jdXN0b20tZW50cnlfX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmN1c3RvbS1lbnRyeS0tdGVhc2VyIC5jdXN0b20tZW50cnlfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuY3VzdG9tLWVudHJ5LS10ZWFzZXIgLmN1c3RvbS1lbnRyeV9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3VzdG9tLWVudHJ5LS10ZWFzZXIgLmN1c3RvbS1lbnRyeV9fY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jdXN0b20tZW50cnktLXRlYXNlciAuY3VzdG9tLWVudHJ5X19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY3VzdG9tLWVudHJ5LS10ZWFzZXIgLmN1c3RvbS1lbnRyeV9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAuY3VzdG9tLWVudHJ5LS10ZWFzZXIgLmN1c3RvbS1lbnRyeV9fY29udGVudC0td2l0aG91dC1tZWRpYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3VzdG9tLWVudHJ5LS10ZWFzZXIgLmN1c3RvbS1lbnRyeV9fY29udGVudC0td2l0aG91dC1tZWRpYSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5jdXN0b20tZW50cnktLXRlYXNlciAuY3VzdG9tLWVudHJ5X19jb250ZW50LS13aXRob3V0LW1lZGlhOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5jdXN0b20tZW50cnktLXRlYXNlciAuY3VzdG9tLWVudHJ5X19jdXN0b20tZmllbGRzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5jdXN0b20tZW50cnktLXRlYXNlciAuY3VzdG9tLWVudHJ5X19jdXN0b20tZmllbGRzIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgIC5jdXN0b20tZW50cnktLXRlYXNlciAuY3VzdG9tLWVudHJ5X19jdXN0b20tZmllbGRzIHVsIGxpIHNwYW4ge1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5jdXN0b20tZW50cnktLXRlYXNlciAuY3VzdG9tLWVudHJ5X19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmN1c3RvbS1lbnRyeS0tdGVhc2VyIC5jdXN0b20tZW50cnlfX2xpbmsgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZGVwYXJ0bWVudC0tdGVhc2VyIC5kZXBhcnRtZW50X19uYW1lIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZGVwYXJ0bWVudC0tdGVhc2VyIC5kZXBhcnRtZW50X190ZWxlcGhvbmUgLmRlcGFydG1lbnRfX2xhYmVsOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29udGVudDogJzonO1xuICBtYXJnaW4tcmlnaHQ6IDAuMTg3NXJlbTsgfVxuXG4uZGVwYXJ0bWVudC0tdGVhc2VyIC5kZXBhcnRtZW50X190ZWxlcGhvbmUgLmRlcGFydG1lbnRfX3ZhbHVlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZGVwYXJ0bWVudC0tdGVhc2VyIC5kZXBhcnRtZW50X19vcGVuaW5nLWhvdXJzIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5kZXBhcnRtZW50LS10ZWFzZXIgLmRlcGFydG1lbnRfX29wZW5pbmctaG91cnMgLmRlcGFydG1lbnRfX3ZhbHVlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmRlcGFydG1lbnQtLXZlaGljbGUgLmRlcGFydG1lbnRfX3RlbGVwaG9uZSAuZGVwYXJ0bWVudF9fbGFiZWw6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb250ZW50OiAnOic7XG4gIG1hcmdpbi1yaWdodDogMC4xODc1cmVtOyB9XG5cbi5kZXBhcnRtZW50LS12ZWhpY2xlIC5kZXBhcnRtZW50X190ZWxlcGhvbmUgLmRlcGFydG1lbnRfX3ZhbHVlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZGVwYXJ0bWVudC0tdmVoaWNsZSAuZGVwYXJ0bWVudF9fb3BlbmluZy1ob3VycyAuZGVwYXJ0bWVudF9fdmFsdWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZm9ybS0tZGVsaXZlcnktY2FsZW5kYXIge1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgLmZvcm0tLWRlbGl2ZXJ5LWNhbGVuZGFyIC5mb3JtX19saW5rIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb3JtLS1kZWxpdmVyeS1jYWxlbmRhciAuZm9ybV9fbGluayB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9IH1cbiAgICAuZm9ybS0tZGVsaXZlcnktY2FsZW5kYXIgLmZvcm1fX2xpbmsgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mb3JtLS1kaXJlY3Rpb25zIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9ybS0tZGlyZWN0aW9ucyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZvcm0tLWRpcmVjdGlvbnMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZm9ybS0tZGlyZWN0aW9uczo6YmVmb3JlLCAuZm9ybS0tZGlyZWN0aW9uczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuZm9ybS0tZGlyZWN0aW9uczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5mb3JtLS1kaXJlY3Rpb25zIC5maWVsZC1zdGFydGluZy1wb2ludCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb3JtLS1kaXJlY3Rpb25zIC5maWVsZC1zdGFydGluZy1wb2ludCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5mb3JtLS1kaXJlY3Rpb25zIC5maWVsZC1zdGFydGluZy1wb2ludDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9ybS0tZGlyZWN0aW9ucyAuZmllbGQtc3RhcnRpbmctcG9pbnQge1xuICAgICAgICB3aWR0aDogNDEuNjY2NjclO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9ybS0tZGlyZWN0aW9ucyAuZmllbGQtc3RhcnRpbmctcG9pbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mb3JtLS1kaXJlY3Rpb25zIC5maWVsZC1zdGFydGluZy1wb2ludDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAuZm9ybS0tZGlyZWN0aW9ucyAuZmllbGQtZGVzdGluYXRpb24ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9ybS0tZGlyZWN0aW9ucyAuZmllbGQtZGVzdGluYXRpb24ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZm9ybS0tZGlyZWN0aW9ucyAuZmllbGQtZGVzdGluYXRpb246bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvcm0tLWRpcmVjdGlvbnMgLmZpZWxkLWRlc3RpbmF0aW9uIHtcbiAgICAgICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvcm0tLWRpcmVjdGlvbnMgLmZpZWxkLWRlc3RpbmF0aW9uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZm9ybS0tZGlyZWN0aW9ucyAuZmllbGQtZGVzdGluYXRpb246bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLmZvcm0tLWRpcmVjdGlvbnMgLmZpZWxkLXN1Ym1pdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9ybS0tZGlyZWN0aW9ucyAuZmllbGQtc3VibWl0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmZvcm0tLWRpcmVjdGlvbnMgLmZpZWxkLXN1Ym1pdDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9ybS0tZGlyZWN0aW9ucyAuZmllbGQtc3VibWl0IHtcbiAgICAgICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9ybS0tZGlyZWN0aW9ucyAuZmllbGQtc3VibWl0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZm9ybS0tZGlyZWN0aW9ucyAuZmllbGQtc3VibWl0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgICAuZm9ybS0tZGlyZWN0aW9ucyAuZmllbGQtc3VibWl0IC5idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuZm9ybS0tZGlyZWN0aW9ucy5mb3JtLS1zaW5nbGUtYnJhbmNoIC5maWVsZC1zdGFydGluZy1wb2ludCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9ybS0tZGlyZWN0aW9ucy5mb3JtLS1zaW5nbGUtYnJhbmNoIC5maWVsZC1zdGFydGluZy1wb2ludCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5mb3JtLS1kaXJlY3Rpb25zLmZvcm0tLXNpbmdsZS1icmFuY2ggLmZpZWxkLXN0YXJ0aW5nLXBvaW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb3JtLS1kaXJlY3Rpb25zLmZvcm0tLXNpbmdsZS1icmFuY2ggLmZpZWxkLXN0YXJ0aW5nLXBvaW50IHtcbiAgICAgICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvcm0tLWRpcmVjdGlvbnMuZm9ybS0tc2luZ2xlLWJyYW5jaCAuZmllbGQtc3RhcnRpbmctcG9pbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mb3JtLS1kaXJlY3Rpb25zLmZvcm0tLXNpbmdsZS1icmFuY2ggLmZpZWxkLXN0YXJ0aW5nLXBvaW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5mb3JtLS12ZWhpY2xlLWRpcmVjdGlvbnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZvcm0tLXZlaGljbGUtZGlyZWN0aW9ucyAuZmllbGQtc3VibWl0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwLjI1cmVtO1xuICAgIHJpZ2h0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZm9ybS0tdmVoaWNsZS1kaXJlY3Rpb25zIC5maWVsZC1zdWJtaXQgLmJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuXG4uZm9ybS0tcGFydC1leGNoYW5nZSB7XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA1ZGFkOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvcm0tLXBhcnQtZXhjaGFuZ2Uge1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyB9IH1cbiAgLmZvcm0tLXBhcnQtZXhjaGFuZ2UgLmZvcm1fX2ZpZWxkc2V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZvcm0tLXBhcnQtZXhjaGFuZ2UgLmZvcm1fX2xlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmZvcm0tLXBhcnQtZXhjaGFuZ2UgLmZvcm1fX2xhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjMxMjVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTsgfVxuICAuZm9ybS0tcGFydC1leGNoYW5nZSAuZmllbGQtc3VibWl0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwLjYyNXJlbTtcbiAgICByaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mb3JtLS1wYXJ0LWV4Y2hhbmdlIC5maWVsZC1zdWJtaXQgLmJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XG4gIC5mb3JtLS1wYXJ0LWV4Y2hhbmdlIC5maWVsZC12ZWhpY2xlLXJlZ2lzdHJhdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mb3JtLS1wYXJ0LWV4Y2hhbmdlIC5maWVsZC12ZWhpY2xlLXJlZ2lzdHJhdGlvbiAuZm9ybS1ncm91cF9faW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMuNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5mb3JtLS1wYXJ0LWV4Y2hhbmdlIC5maWVsZC12ZWhpY2xlLXJlZ2lzdHJhdGlvbiAuZm9ybS1ncm91cF9faW5wdXQ6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIjY3ZGVncmVlc1wiO1xuICAgICAgICBjb250ZW50OiBcIlxcNDdcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgICAgd2lkdGg6IDMuMTI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4xO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjIyMjI7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjM3NXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4zNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLmZvcm0tLXBhcnQtZXhjaGFuZ2UgLmZpZWxkLXZlaGljbGUtcmVnaXN0cmF0aW9uIC5mb3JtLWdyb3VwX19pbnB1dCBpbnB1dCB7XG4gICAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmZvcm0tLXBhcnQtZXhjaGFuZ2UgLmZpZWxkLXZlaGljbGUtcmVnaXN0cmF0aW9uIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiBbdHlwZT0ndGV4dCddLFxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiBbdHlwZT0ncGFzc3dvcmQnXSxcbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gW3R5cGU9J2RhdGUnXSxcbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gW3R5cGU9J2RhdGV0aW1lJ10sXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiBbdHlwZT0nbW9udGgnXSxcbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gW3R5cGU9J3dlZWsnXSxcbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gW3R5cGU9J2VtYWlsJ10sXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIFt0eXBlPSdudW1iZXInXSxcbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gW3R5cGU9J3NlYXJjaCddLFxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiBbdHlwZT0ndGVsJ10sXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIFt0eXBlPSd0aW1lJ10sXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIFt0eXBlPSd1cmwnXSxcbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gW3R5cGU9J2NvbG9yJ10sXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIHNlbGVjdCxcbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gdGV4dGFyZWEge1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cblxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiBsYWJlbC5lcnJvciB7XG4gIGhlaWdodDogMS4xODc1cmVtO1xuICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIGNvbG9yOiAjY2M0YjM3O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTsgfVxuXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19iYWNrIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07IH1cbiAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fYmFjayBhIGkge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19iYWNrIGEgc3BhbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19zdGVwMCAuZmllbGQtcmVnaXN0cmF0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAwIC5maWVsZC1yZWdpc3RyYXRpb24gLmZvcm0tZ3JvdXBfX2lucHV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMy43NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDAgLmZpZWxkLXJlZ2lzdHJhdGlvbiAuZm9ybS1ncm91cF9faW5wdXQ6OmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogXCI2N2RlZ3JlZXNcIjtcbiAgICAgIGNvbnRlbnQ6IFwiXFw0N1wiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgIHdpZHRoOiAzLjEyNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4xO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjIyMjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4zNzVyZW07XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19zdGVwMCAuZmllbGQtcmVnaXN0cmF0aW9uIC5mb3JtLWdyb3VwX19pbnB1dCBpbnB1dCB7XG4gICAgICBoZWlnaHQ6IDMuNjI1cmVtO1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDAgLmZpZWxkLXJlZ2lzdHJhdGlvbiAuY29udHJvbC1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19zdGVwMSB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDE6OmJlZm9yZSwgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDE6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19zdGVwMSBmaWVsZHNldCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19zdGVwMSBmaWVsZHNldCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxIGZpZWxkc2V0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxIGZpZWxkc2V0IHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDEgZmllbGRzZXQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxIGZpZWxkc2V0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxIC5zdW1tYXJ5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxIC5zdW1tYXJ5IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDEgLnN1bW1hcnk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDEgLnN1bW1hcnkge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19zdGVwMSAuc3VtbWFyeSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDEgLnN1bW1hcnk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19zdGVwMSAuc3VtbWFyeV9faW5uZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA1ZGFkO1xuICAgICAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAgIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxIC5zdW1tYXJ5X190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fc3RlcDEgLnN1bW1hcnlfX2xpc3Qge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3N0ZXAxIC5zdW1tYXJ5X19saXN0LWl0ZW0gc3BhbiB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi52YWx1YXRpb25fX3ByaWNlIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIFt0eXBlPSd0ZXh0J10sXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgW3R5cGU9J3Bhc3N3b3JkJ10sXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgW3R5cGU9J2RhdGUnXSxcbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZSBbdHlwZT0nZGF0ZXRpbWUnXSxcbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZSBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZSBbdHlwZT0nbW9udGgnXSxcbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZSBbdHlwZT0nd2VlayddLFxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIFt0eXBlPSdlbWFpbCddLFxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIFt0eXBlPSdudW1iZXInXSxcbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZSBbdHlwZT0nc2VhcmNoJ10sXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgW3R5cGU9J3RlbCddLFxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIFt0eXBlPSd0aW1lJ10sXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgW3R5cGU9J3VybCddLFxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIFt0eXBlPSdjb2xvciddLFxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIHNlbGVjdCxcbi5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZSB0ZXh0YXJlYSB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG4uZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgbGFiZWwuZXJyb3Ige1xuICBoZWlnaHQ6IDEuMTg3NXJlbTtcbiAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICBjb2xvcjogI2NjNGIzNztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07IH1cblxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIC5mb3JtX19iYWNrIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07IH1cbiAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIC5mb3JtX19iYWNrIGEgaSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5mb3JtLS1zZWxsLXlvdXItdmVoaWNsZSAuZm9ybV9fYmFjayBhIHNwYW4ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIC5mb3JtX19zdGVwMCAuZmllbGQtdmVoaWNsZS1yZWdpc3RyYXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIC5mb3JtX19zdGVwMCAuZmllbGQtdmVoaWNsZS1yZWdpc3RyYXRpb24gLmZvcm0tZ3JvdXBfX2lucHV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMy43NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIC5mb3JtX19zdGVwMCAuZmllbGQtdmVoaWNsZS1yZWdpc3RyYXRpb24gLmZvcm0tZ3JvdXBfX2lucHV0OjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiNjdkZWdyZWVzXCI7XG4gICAgICBjb250ZW50OiBcIlxcNDdcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgICB3aWR0aDogMy4xMjVyZW07XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjIyMjI7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMzc1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4zNzVyZW07XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIC5mb3JtX19zdGVwMCAuZmllbGQtdmVoaWNsZS1yZWdpc3RyYXRpb24gLmZvcm0tZ3JvdXBfX2lucHV0IGlucHV0IHtcbiAgICAgIGhlaWdodDogMy42MjVyZW07XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUgLmZvcm1fX3N0ZXAwIC5maWVsZC12ZWhpY2xlLXJlZ2lzdHJhdGlvbiAuY29udHJvbC1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm9ybS0tc2VydmljZS1ib29raW5nIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZzo6YmVmb3JlLCAuZm9ybS0tc2VydmljZS1ib29raW5nOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmc6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIFt0eXBlPSd0ZXh0J10sXG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgW3R5cGU9J3Bhc3N3b3JkJ10sXG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgW3R5cGU9J2RhdGUnXSxcbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyBbdHlwZT0nZGF0ZXRpbWUnXSxcbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyBbdHlwZT0nbW9udGgnXSxcbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyBbdHlwZT0nd2VlayddLFxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIFt0eXBlPSdlbWFpbCddLFxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIFt0eXBlPSdudW1iZXInXSxcbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyBbdHlwZT0nc2VhcmNoJ10sXG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgW3R5cGU9J3RlbCddLFxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIFt0eXBlPSd0aW1lJ10sXG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgW3R5cGU9J3VybCddLFxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIFt0eXBlPSdjb2xvciddLFxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIHNlbGVjdCxcbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgbGFiZWwuZXJyb3Ige1xuICAgIGhlaWdodDogMS4xODc1cmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGNvbG9yOiAjY2M0YjM3O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07IH1cbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZm9ybV9fc3RlcHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZm9ybV9fc3RlcHMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5mb3JtX19zdGVwczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5mb3JtX19zdGVwcyB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZvcm1fX3N0ZXBzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5mb3JtX19zdGVwczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5mb3JtX19zdW1tYXJ5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZvcm1fX3N1bW1hcnkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5mb3JtX19zdW1tYXJ5Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZvcm1fX3N1bW1hcnkge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5mb3JtX19zdW1tYXJ5IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5mb3JtX19zdW1tYXJ5Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZvcm0tZGlzY2xhaW1lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5mb3JtLWRpc2NsYWltZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5mb3JtLWRpc2NsYWltZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXJlZ2lzdHJhdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXJlZ2lzdHJhdGlvbiAuZm9ybS1ncm91cF9faW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMuNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1yZWdpc3RyYXRpb24gLmZvcm0tZ3JvdXBfX2lucHV0OjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogXCI2N2RlZ3JlZXNcIjtcbiAgICAgICAgY29udGVudDogXCJcXDQ3XCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgICAgIHdpZHRoOiAzLjEyNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4zNzVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgICAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1yZWdpc3RyYXRpb24gLmZvcm0tZ3JvdXBfX2lucHV0IGlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiAzLjYyNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXJlZ2lzdHJhdGlvbiAuY29udHJvbC1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUgLmNvbnRyb2wtbGFiZWwsXG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSAuY29udHJvbC1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSBwLFxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tYWRkaXRpb25hbC1zZXJ2aWNlX3R5cGUgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUgLm9wdGlvbnMge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIC5vcHRpb25zIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9uczo6YmVmb3JlLCAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIC5vcHRpb25zOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUgLm9wdGlvbnM6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9ucyA+IGxhYmVsIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUgLm9wdGlvbnMgPiBsYWJlbCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUgLm9wdGlvbnMgPiBsYWJlbDpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9ucyA+IGxhYmVsOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUgLm9wdGlvbnMgPiBsYWJlbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9ucyA+IGxhYmVsIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9ucyA+IGxhYmVsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIC5vcHRpb25zID4gbGFiZWw6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIC5vcHRpb25zID4gbGFiZWw6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUgLm9wdGlvbnMgPiBsYWJlbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9uc19fbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUgLm9wdGlvbnNfX2xhYmVsIGlucHV0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9uc19fbGFiZWwgLm9wdGlvbnNfX2RldGFpbHMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWluLWhlaWdodDogNi4yNXJlbTtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUgLm9wdGlvbnNfX2xhYmVsIGlucHV0OmNoZWNrZWQgKyAub3B0aW9uc19fZGV0YWlscyB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA1ZGFkOyB9XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIC5vcHRpb25zX19sYWJlbCAub3B0aW9uc19fbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIC5vcHRpb25zX19sYWJlbCAub3B0aW9uc19fZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWluLWhlaWdodDogMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIC5vcHRpb25zX19sYWJlbCAub3B0aW9uc19fcHJpY2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLXNlcnZpY2VfdHlwZSAub3B0aW9uc19fbGFiZWwgbGFiZWwuZXJyb3Ige1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMC4xODc1cmVtO1xuICAgICAgICBsZWZ0OiA2LjI1cmVtO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLWFkZGl0aW9uYWwtc2VydmljZV90eXBlIC5vcHRpb25zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSAub3B0aW9ucyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tYWRkaXRpb25hbC1zZXJ2aWNlX3R5cGUgLm9wdGlvbnMge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tYWRkaXRpb25hbC1zZXJ2aWNlX3R5cGUgLm9wdGlvbnM6OmJlZm9yZSwgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLWFkZGl0aW9uYWwtc2VydmljZV90eXBlIC5vcHRpb25zOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSAub3B0aW9uczo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tYWRkaXRpb25hbC1zZXJ2aWNlX3R5cGUgLm9wdGlvbnMgPiBsYWJlbCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tYWRkaXRpb25hbC1zZXJ2aWNlX3R5cGUgLm9wdGlvbnMgPiBsYWJlbCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSAub3B0aW9ucyA+IGxhYmVsOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tYWRkaXRpb25hbC1zZXJ2aWNlX3R5cGUgLm9wdGlvbnMgPiBsYWJlbDpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tYWRkaXRpb25hbC1zZXJ2aWNlX3R5cGUgLm9wdGlvbnMgPiBsYWJlbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tYWRkaXRpb25hbC1zZXJ2aWNlX3R5cGUgLm9wdGlvbnNfX2xhYmVsIGlucHV0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tYWRkaXRpb25hbC1zZXJ2aWNlX3R5cGUgLm9wdGlvbnNfX2xhYmVsIC5vcHRpb25zX19kZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSAub3B0aW9uc19fbGFiZWwgaW5wdXQ6Y2hlY2tlZCArIC5vcHRpb25zX19kZXRhaWxzIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzkwNWRhZDsgfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1hZGRpdGlvbmFsLXNlcnZpY2VfdHlwZSAub3B0aW9uc19fbGFiZWwgLm9wdGlvbnNfX25hbWUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuZmllbGQtc2VydmljZWJvb2tpbmdmb3JtLWFkZGl0aW9uYWwtc2VydmljZV90eXBlIC5vcHRpb25zX19sYWJlbCAub3B0aW9uc19fZGVzY3JpcHRpb24ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbGVmdDtcbiAgICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tYWRkaXRpb25hbC1zZXJ2aWNlX3R5cGUgLm9wdGlvbnNfX2xhYmVsIC5vcHRpb25zX19wcmljZSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tYWRkaXRpb25hbC1zZXJ2aWNlX3R5cGUgLm9wdGlvbnNfX2xhYmVsIGxhYmVsLmVycm9yIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC4xODc1cmVtO1xuICAgICAgbGVmdDogNi4yNXJlbTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5jb25maXJtYXRpb24ge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbjo6YmVmb3JlLCAuZm9ybS0tc2VydmljZS1ib29raW5nIC5jb25maXJtYXRpb246OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbiA+IGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbiA+IGxpIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbiA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbiA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5jb25maXJtYXRpb24gPiBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbiA+IGxpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5jb25maXJtYXRpb24gPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbiA+IGxpOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5jb25maXJtYXRpb24gPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uID4gbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5jb25maXJtYXRpb25fX3N0ZXAge1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC44MTI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uX19jaGFuZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uX19yb3cge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5jb25maXJtYXRpb25fX2xhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uX192YWx1ZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5jb25maXJtYXRpb25fX3Jvdy0tYWRkaXRpb25hbC1zZXJ2aWNlIC5jb25maXJtYXRpb25fX2xhYmVsLFxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbl9fcm93LS1hZGRpdGlvbmFsLXNlcnZpY2UgLmNvbmZpcm1hdGlvbl9fdmFsdWUsIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLmNvbmZpcm1hdGlvbl9fcm93LS1zZXJ2aWNlLXR5cGUgLmNvbmZpcm1hdGlvbl9fbGFiZWwsXG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuY29uZmlybWF0aW9uX19yb3ctLXNlcnZpY2UtdHlwZSAuY29uZmlybWF0aW9uX192YWx1ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5zdW1tYXJ5IHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA1ZGFkO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgICAuZm9ybS0tc2VydmljZS1ib29raW5nIC5zdW1tYXJ5X190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuc3VtbWFyeV9fbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuc3VtbWFyeV9fdmFsdWUge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLmZvcm0tLXNlcnZpY2UtYm9va2luZyAuc3VtbWFyeV9fcm93LS1zZXJ2aWNlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMTg3NXJlbTsgfVxuICAgIC5mb3JtLS1zZXJ2aWNlLWJvb2tpbmcgLnN1bW1hcnlfX3Jvdy0tdG90YWwge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhNzdmYmU7XG4gICAgICBtYXJnaW4tdG9wOiAwLjgxMjVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZm9ybS0tdmVoaWNsZS1wYXltZW50IC5mb3JtLW1hcmtldGluZ19fZmllbGRzIGlucHV0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZm9ybS0tdmVoaWNsZS1wYXltZW50IC5maWVsZC1zdWJtaXQge1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvcm0tLXZlaGljbGUtcGF5bWVudCAuZmllbGQtc3VibWl0IHtcbiAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9IH1cbiAgLmZvcm0tLXZlaGljbGUtcGF5bWVudCAuZmllbGQtc3VibWl0IC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZvcm0tLXZlaGljbGUtc29ydCBzZWxlY3Qge1xuICBoZWlnaHQ6IDIuODc1cmVtOyB9XG5cbi5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fYmFjayBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtOyB9XG4gIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fYmFjayBhIGkge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2JhY2sgYSBzcGFuIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2Rlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbi5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fcm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3JvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3Jvdzo6YmVmb3JlLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3Jvdzo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3Jvdzo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fcmVnaXN0cmF0aW9uLFxuLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19taWxlYWdlLFxuLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19maXJzdC1uYW1lLFxuLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19sYXN0LW5hbWUsXG4uZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3Bob25lLFxuLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19lbWFpbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3JlZ2lzdHJhdGlvbixcbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX21pbGVhZ2UsXG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19maXJzdC1uYW1lLFxuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fbGFzdC1uYW1lLFxuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fcGhvbmUsXG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19lbWFpbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fcmVnaXN0cmF0aW9uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fbWlsZWFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2ZpcnN0LW5hbWU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19sYXN0LW5hbWU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19waG9uZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2VtYWlsOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fcmVnaXN0cmF0aW9uLFxuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fbWlsZWFnZSxcbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2ZpcnN0LW5hbWUsXG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19sYXN0LW5hbWUsXG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19waG9uZSxcbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2VtYWlsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fcmVnaXN0cmF0aW9uLFxuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fbWlsZWFnZSxcbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2ZpcnN0LW5hbWUsXG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19sYXN0LW5hbWUsXG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19waG9uZSxcbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX2VtYWlsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fcmVnaXN0cmF0aW9uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX21pbGVhZ2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fZmlyc3QtbmFtZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19sYXN0LW5hbWU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fcGhvbmU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fZW1haWw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fcGFydC1leGNoYW5nZS12ZWhpY2xlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fcGFydC1leGNoYW5nZS12ZWhpY2xlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX19wYXJ0LWV4Y2hhbmdlLXZlaGljbGU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuc3VtbWFyeSB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLnN1bW1hcnlfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLnN1bW1hcnlfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5zdW1tYXJ5X19saXN0IGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLnN1bW1hcnlfX2xpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLXNwZWNpZmljcyB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtc3BlY2lmaWNzIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLXNwZWNpZmljcyBsaSAuY2hlY2tib3gge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLXNwZWNpZmljcyBsaSAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLXNwZWNpZmljcyBsaSBsYWJlbCB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLXNwZWNpZmljcyBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMC4xODc1cmVtO1xuICAgICAgY29sb3I6ICM5MDVkYWQ7IH1cbiAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLXNwZWNpZmljcyAuZm9ybV9fZmllbGQtaGFzLW91dHN0YW5kaW5nLWZpbmFuY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG4uZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtY29uZGl0aW9uIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbjogMCAwIDAuOTM3NXJlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmVoaWNsZS1jb25kaXRpb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmVoaWNsZS1jb25kaXRpb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtY29uZGl0aW9uOjpiZWZvcmUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmVoaWNsZS1jb25kaXRpb246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLWNvbmRpdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmVoaWNsZS1jb25kaXRpb24gPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtY29uZGl0aW9uID4gbGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtY29uZGl0aW9uID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLWNvbmRpdGlvbiA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLWNvbmRpdGlvbiA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmVoaWNsZS1jb25kaXRpb24gPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmVoaWNsZS1jb25kaXRpb24gPiBsaSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmVoaWNsZS1jb25kaXRpb24gPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLWNvbmRpdGlvbiA+IGxpOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmVoaWNsZS1jb25kaXRpb24gPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZlaGljbGUtY29uZGl0aW9uIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLWNvbmRpdGlvbiBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192ZWhpY2xlLWNvbmRpdGlvbiBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4uZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZpZWxkLXBhcnRleGNoYW5nZWZvcm0tbGlnaHRjb25kaXRpb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIGgzLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuYnJhbmNoLS1mdWxsIC5icmFuY2hfX2RpcmVjdGlvbnMtdGl0bGUsIC5icmFuY2gtLWZ1bGwgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLmJyYW5jaF9fZGlyZWN0aW9ucy10aXRsZSwgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLmJyYW5jaC0tdGVhc2VyIC5icmFuY2hfX2FkZHJlc3MtdGl0bGUsIC5icmFuY2gtLXRlYXNlciAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuYnJhbmNoX19hZGRyZXNzLXRpdGxlLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fdGVsZXBob25lLXRpdGxlLCAuYnJhbmNoLS10ZWFzZXIgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLmJyYW5jaF9fdGVsZXBob25lLXRpdGxlLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuYnJhbmNoLS10ZWFzZXIgLmJyYW5jaF9fb3BlbmluZy1ob3Vycy10aXRsZSwgLmJyYW5jaC0tdGVhc2VyIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5icmFuY2hfX29wZW5pbmctaG91cnMtdGl0bGUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19zdWItdGl0bGUsIC5vZmZlci0tZmVhdHVyZWQgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLm9mZmVyX19zdWItdGl0bGUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5hZGQtb25fX3RpdGxlLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuY2FsZW5kYXJfX2hlYWRlciAuY2FsZW5kYXJfX21vbnRoIHNwYW4sIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fbW9udGggLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gc3BhbiwgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLmNvbGxlY3Rpb24tZGVsaXZlcnlfX3RpdGxlLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAub3JkZXItcGF5bWVudF9fdGl0bGUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5vcmRlci1zdGF0ZS1zdW1tYXJ5X192ZWhpY2xlLXRpdGxlLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAucGFnZS0tY29udGFjdCAucGFnZV9fZGlyZWN0aW9ucy10aXRsZSwgLnBhZ2UtLWNvbnRhY3QgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLnBhZ2VfX2RpcmVjdGlvbnMtdGl0bGUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX3N1Yi10aXRsZSwgLnBhZ2UtLXRlYXNlciAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAucGFnZV9fc3ViLXRpdGxlLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAucGFydC0tZmVhdHVyZWQgLnBhcnRfX3N1Yi10aXRsZSwgLnBhcnQtLWZlYXR1cmVkIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5wYXJ0X19zdWItdGl0bGUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fc3ViLXRpdGxlLCAucG9zdC0tZmVhdHVyZWQgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLnBvc3RfX3N1Yi10aXRsZSwgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLnF1aWNrLXNlYXJjaF9fbGVnZW5kLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuZXh0cmFzX19saXN0LXRpdGxlLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuYmxvY2stLWRlZmF1bHQgLmJsb2NrX190aXRsZSwgLmJsb2NrLS1kZWZhdWx0IC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5ibG9ja19fdGl0bGUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5ibG9jay0tc2lkZWJhciAuYmxvY2tfX3RpdGxlLCAuYmxvY2stLXNpZGViYXIgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLmJsb2NrX190aXRsZSwgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLnByaW1hcnktaW1hZ2VfX3RpdGxlLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAudmVoaWNsZS0tZmVhdHVyZWQtc2lkZWJhciAudmVoaWNsZV9fdGl0bGUsIC52ZWhpY2xlLS1mZWF0dXJlZC1zaWRlYmFyIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC52ZWhpY2xlX190aXRsZSwgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLnZlaGljbGUtLWZlYXR1cmVkIC52ZWhpY2xlX190aXRsZSwgLnZlaGljbGUtLWZlYXR1cmVkIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC52ZWhpY2xlX190aXRsZSwgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLnZlaGljbGUtLXNpbWlsYXIgLnZlaGljbGVfX3RpdGxlLCAudmVoaWNsZS0tc2ltaWxhciAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAudmVoaWNsZV9fdGl0bGUsIC5mb3JtLS12ZWhpY2xlLXZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uIC5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX190aXRsZSwgLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIC5mb3JtX192YWx1YXRpb24gLmZpbmFuY2UtdGFibGVfX3RpdGxlLCAuZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuZmluYW5jZS1jaGVja2VyX19kZXRhaWxzLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZm9ybS0tdmVoaWNsZS12YWx1YXRpb24gLmZvcm1fX3ZhbHVhdGlvbiAuZm9ybV9fdmFsdWF0aW9uLWRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG5cbi5yZXZlYWwtLXZlaGljbGUtdmFsdWF0aW9uIHtcbiAgcGFkZGluZy10b3A6IDMuMTI1cmVtOyB9XG4gIC5yZXZlYWwtLXZlaGljbGUtdmFsdWF0aW9uIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5mb3JtIFt0eXBlPSd0ZXh0J10sXG5mb3JtIFt0eXBlPSdwYXNzd29yZCddLFxuZm9ybSBbdHlwZT0nZGF0ZSddLFxuZm9ybSBbdHlwZT0nZGF0ZXRpbWUnXSxcbmZvcm0gW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXG5mb3JtIFt0eXBlPSdtb250aCddLFxuZm9ybSBbdHlwZT0nd2VlayddLFxuZm9ybSBbdHlwZT0nZW1haWwnXSxcbmZvcm0gW3R5cGU9J251bWJlciddLFxuZm9ybSBbdHlwZT0nc2VhcmNoJ10sXG5mb3JtIFt0eXBlPSd0ZWwnXSxcbmZvcm0gW3R5cGU9J3RpbWUnXSxcbmZvcm0gW3R5cGU9J3VybCddLFxuZm9ybSBbdHlwZT0nY29sb3InXSB7XG4gIGhlaWdodDogMi43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBmb3JtIFt0eXBlPSd0ZXh0J106ZGlzYWJsZWQsXG4gIGZvcm0gW3R5cGU9J3Bhc3N3b3JkJ106ZGlzYWJsZWQsXG4gIGZvcm0gW3R5cGU9J2RhdGUnXTpkaXNhYmxlZCxcbiAgZm9ybSBbdHlwZT0nZGF0ZXRpbWUnXTpkaXNhYmxlZCxcbiAgZm9ybSBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpkaXNhYmxlZCxcbiAgZm9ybSBbdHlwZT0nbW9udGgnXTpkaXNhYmxlZCxcbiAgZm9ybSBbdHlwZT0nd2VlayddOmRpc2FibGVkLFxuICBmb3JtIFt0eXBlPSdlbWFpbCddOmRpc2FibGVkLFxuICBmb3JtIFt0eXBlPSdudW1iZXInXTpkaXNhYmxlZCxcbiAgZm9ybSBbdHlwZT0nc2VhcmNoJ106ZGlzYWJsZWQsXG4gIGZvcm0gW3R5cGU9J3RlbCddOmRpc2FibGVkLFxuICBmb3JtIFt0eXBlPSd0aW1lJ106ZGlzYWJsZWQsXG4gIGZvcm0gW3R5cGU9J3VybCddOmRpc2FibGVkLFxuICBmb3JtIFt0eXBlPSdjb2xvciddOmRpc2FibGVkIHtcbiAgICBjb2xvcjogIzk5OTk5OTsgfVxuXG5mb3JtIHNlbGVjdCB7XG4gIGhlaWdodDogMi43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTInIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDEyIDgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHBhdGggZD0nTTEwLjU5LjU5TDYgNS4xNyAxLjQxLjU5IDAgMmw2IDYgNi02JyBmaWxsPSclMjMyZDM3MzcnIGZpbGwtcnVsZT0nZXZlbm9kZCcvPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAwLjY4NzVyZW0gMC40Mzc1cmVtOyB9XG4gIGZvcm0gc2VsZWN0OmRpc2FibGVkIHtcbiAgICBjb2xvcjogIzk5OTk5OTsgfVxuXG5mb3JtIHRleHRhcmVhIHtcbiAgaGVpZ2h0OiA2LjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmZvcm0gLmhlbHAtYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIGNvbG9yOiAjY2M0YjM3O1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG5mb3JtIFt0eXBlPSdoaWRkZW4nXSArIC5oZWxwLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5mb3JtIC5yZXF1aXJlZCBsYWJlbC5jb250cm9sLWxhYmVsOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcgKic7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbmZvcm0gLmZvcm0tbWFya2V0aW5nX19tZXNzYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuODsgfVxuXG5mb3JtIC5mb3JtLW1hcmtldGluZ19fbGFiZWwgbGFiZWw6OmFmdGVyIHtcbiAgY29udGVudDogJyAqJztcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuZm9ybSAuZm9ybS1tYXJrZXRpbmdfX2ZpZWxkcyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH1cblxuZm9ybSAuZm9ybS1tYXJrZXRpbmdfX2ZpZWxkcyAuZm9ybS1ncm91cCAuanMtbWFya2V0aW5nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMC4wNjI1cmVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuZm9ybSAuZm9ybS1tYXJrZXRpbmdfX2ZpZWxkcyAuZm9ybS1ncm91cCAuaGVscC1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZm9ybSAuZm9ybS1tYXJrZXRpbmdfX2NoYW5uZWxzIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIGZvcm0gLmZvcm0tbWFya2V0aW5nX19jaGFubmVscyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9XG4gIGZvcm0gLmZvcm0tbWFya2V0aW5nX19jaGFubmVscyBbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZm9ybS1kaXNjbGFpbWVyIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgb3BhY2l0eTogMC42OyB9XG5cbi5zZWNvbmRhcnktaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlY29uZGFyeS1pbWFnZV9fdGl0bGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgcGFkZGluZzogMC43NXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuc2Vjb25kYXJ5LWltYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY29uZGFyeS1pbWFnZV9fZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi52aWRlb19fdXJsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnZpZGVvX191cmwgaWZyYW1lLFxuICAudmlkZW9fX3VybCBvYmplY3QsXG4gIC52aWRlb19fdXJsIGVtYmVkLFxuICAudmlkZW9fX3VybCB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4udmlkZW8tLXBhZ2UgLnZpZGVvX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtOyB9XG5cbi5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RvcCB7XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQwZDBkOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdG9wIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdG9wLWlubmVyIHtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RvcC1pbm5lcjo6YmVmb3JlLCAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190b3AtaW5uZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdG9wLWlubmVyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190b3AgLm5ldy12ZWhpY2xlX19wcm9tby10ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICB0b3A6IGluaGVyaXQ7XG4gICAgbGVmdDogaW5oZXJpdDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19iYWNrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2JhY2sge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19iYWNrOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19iYWNrIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2JhY2sgYSBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2JhY2sgYSBzcGFuIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19tZWRpYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX21lZGlhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fbWVkaWE6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19tZWRpYSB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX21lZGlhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fbWVkaWE6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fbWVkaWEge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fbWVkaWEge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fbWVkaWE6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3ByaW1hcnktaW1hZ2VzIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAwLjEyNXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19wcmltYXJ5LWltYWdlcy10aHVtYm5haWxzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXRhaWxzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2RldGFpbHMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXRhaWxzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZGV0YWlscyB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2RldGFpbHMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXRhaWxzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2RldGFpbHMge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZGV0YWlscyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXRhaWxzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXRhaWxzIC5uZXctdmVoaWNsZV9fZGV0YWlscy1pbm5lciB7XG4gICAgcGFkZGluZzogMC42MjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXRhaWxzIC5uZXctdmVoaWNsZV9fZGV0YWlscy1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfSB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZGV0YWlscyAubmV3LXZlaGljbGVfX2RldGFpbHMtaW5uZXIgLm5ldy12ZWhpY2xlX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZGV0YWlscyAubmV3LXZlaGljbGVfX2RldGFpbHMtaW5uZXIgLm5ldy12ZWhpY2xlX190aXRsZSAubmV3LXZlaGljbGVfX21vZGVsLXZhcmlhbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXRhaWxzIC5uZXctdmVoaWNsZV9fZGV0YWlscy1pbm5lciAubmV3LXZlaGljbGVfX3ByaWNlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2RldGFpbHMgLm5ldy12ZWhpY2xlX19kZXRhaWxzLWlubmVyIC5uZXctdmVoaWNsZV9fdGVsZXBob25lIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07IH1cbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2RldGFpbHMgLm5ldy12ZWhpY2xlX19kZXRhaWxzLWlubmVyIC5uZXctdmVoaWNsZV9fdGVsZXBob25lIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2RldGFpbHMgLm5ldy12ZWhpY2xlX19kZXRhaWxzLWlubmVyIC5uZXctdmVoaWNsZV9fY3RhIHtcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQwZDBkOyB9XG5cbi5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3BhcnQtZXhjaGFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fcGFydC1leGNoYW5nZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3BhcnQtZXhjaGFuZ2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fcGFydC1leGNoYW5nZSB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19wYXJ0LWV4Y2hhbmdlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3BhcnQtZXhjaGFuZ2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkOjpiZWZvcmUsIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQsIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsOjpiZWZvcmUsIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bDo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWw6OmFmdGVyIHtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaSB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWw6OmJlZm9yZSwgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgY29udGVudDogJyAnOyB9XG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bDo6YWZ0ZXIge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAgICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgaW5wdXQsXG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCBzZWxlY3QsXG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCBhLFxuICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCA+IC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMCAwLjkzNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsID4gLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGkge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH0gfVxuXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5IHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnk6OmJlZm9yZSwgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSwgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeTpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsOjpiZWZvcmUsIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWw6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwgPiBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGkge1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGkge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtIDAuMjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGk6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSAuc2hvdyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSAuc2hvdyBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtIDAuODc1cmVtO1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA1ZGFkO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC43NXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5IC5zaG93IGEge1xuICAgICAgICBvdXRsaW5lOiAwOyB9XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5IC5zaG93IGE6aG92ZXIsIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgLnNob3cgYTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3YjRjOTY7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2Rlc2NyaXB0aW9uIHtcbiAgbGluZS1oZWlnaHQ6IDEuODsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXNjcmlwdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXNjcmlwdGlvbiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXNjcmlwdGlvbiAuZXhwYW5kIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2LjI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiA0LjY4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCBibGFjayAwJSwgYmxhY2sgMjUlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpOyB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2Rlc2NyaXB0aW9uLW91dGVyIHtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2Rlc2NyaXB0aW9uLW91dGVyOjpiZWZvcmUsIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2Rlc2NyaXB0aW9uLW91dGVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2Rlc2NyaXB0aW9uLW91dGVyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19kZXNjcmlwdGlvbi1vdXRlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2Rlc2NyaXB0aW9uLW91dGVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZGVzY3JpcHRpb24tb3V0ZXIsIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2Rlc2NyaXB0aW9uLW91dGVyOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZGVzY3JpcHRpb24tb3V0ZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkMGQwZDtcbiAgcGFkZGluZy10b3A6IDEuODc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMtaW5uZXIge1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzLWlubmVyOjpiZWZvcmUsIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMtaW5uZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcy1pbm5lcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcy1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMtaW5uZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzLWlubmVyLCAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzLWlubmVyOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcyB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fY29udGVudCB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fY29udGVudDo6YmVmb3JlLCAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19jb250ZW50OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2NvbnRlbnQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19jb250ZW50LCAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2NvbnRlbnQtb3V0ZXIge1xuICAgIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0MTQxNDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19jb250ZW50LW91dGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMuMTI1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19jb250ZW50LWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2NvbnRlbnQtaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtOyB9IH1cblxuLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bDo6YmVmb3JlLCAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWw6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtOyB9IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaSAuc3BlY2lmaWNhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpIC5zcGVjaWZpY2F0aW9uX192YWx1ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgY29sb3I6ICM5OTk5OTk7XG4gICAgICBsaXN0LXN0eWxlOiBzcXVhcmU7XG4gICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7IH1cblxuLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbi1idXR0b24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fc3BlY2lmaWNhdGlvbi1idXR0b24gLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bDo6YmVmb3JlLCAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWw6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaSB7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtOyB9IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaSAudGVjaG5pY2FsLWRhdGFfX2xhYmVsOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICc6JzsgfVxuICAgIC5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaSAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2RvY3VtZW50cyB1bCxcbi5uZXctdmVoaWNsZS0tZnVsbCAubmV3LXZlaGljbGVfX2F1ZGlvIHVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm5ldy12ZWhpY2xlLS1mdWxsIC5uZXctdmVoaWNsZV9fZG9jdW1lbnRzIHVsIGxpLFxuICAubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19hdWRpbyB1bCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4ubmV3LXZlaGljbGUtLWZ1bGwgLm5ldy12ZWhpY2xlX19zaW1pbGFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkMGQwZDsgfVxuXG4ubmV3LXZlaGljbGUtLXRlYXNlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uZXctdmVoaWNsZS0tdGVhc2VyIHtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfSB9XG4gIC5uZXctdmVoaWNsZS0tdGVhc2VyIC5uZXctdmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubmV3LXZlaGljbGUtLXRlYXNlciAubmV3LXZlaGljbGVfX2RldGFpbHMge1xuICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm5ldy12ZWhpY2xlLS10ZWFzZXIgLm5ldy12ZWhpY2xlX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAubmV3LXZlaGljbGUtLXRlYXNlciAubmV3LXZlaGljbGVfX2hlYWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLXRlYXNlciAubmV3LXZlaGljbGVfX2hlYWRlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5uZXctdmVoaWNsZS0tdGVhc2VyIC5uZXctdmVoaWNsZV9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLm5ldy12ZWhpY2xlLS10ZWFzZXIgLm5ldy12ZWhpY2xlX190aXRsZSAubmV3LXZlaGljbGVfX21ha2UsXG4gICAgLm5ldy12ZWhpY2xlLS10ZWFzZXIgLm5ldy12ZWhpY2xlX190aXRsZSAubmV3LXZlaGljbGVfX21vZGVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAubmV3LXZlaGljbGUtLXRlYXNlciAubmV3LXZlaGljbGVfX3RpdGxlIC5uZXctdmVoaWNsZV9fbW9kZWwtdmFyaWFudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm5ldy12ZWhpY2xlLS10ZWFzZXIgLm5ldy12ZWhpY2xlX19mb290ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmV3LXZlaGljbGUtLXRlYXNlciAubmV3LXZlaGljbGVfX2Zvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm5ldy12ZWhpY2xlLS10ZWFzZXIgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5uZXctdmVoaWNsZV9fbWVkaWEtY291bnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDsgfVxuICAubmV3LXZlaGljbGVfX21lZGlhLWNvdW50ID4gdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuICAgIC5uZXctdmVoaWNsZV9fbWVkaWEtY291bnQgPiB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjEyNXJlbTsgfVxuICAgICAgLm5ldy12ZWhpY2xlX19tZWRpYS1jb3VudCA+IHVsIGxpIGkge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5uZXctdmVoaWNsZV9fcHJvbW8tdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjVyZW07XG4gIGxlZnQ6IDAuNXJlbTsgfVxuICAubmV3LXZlaGljbGVfX3Byb21vLXRleHQgc3BhbiB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzkwNWRhZDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuLm9mZmVyLS1mZWF0dXJlZCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9mZmVyLS1mZWF0dXJlZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm9mZmVyLS1mZWF0dXJlZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5vZmZlci0tZmVhdHVyZWQ6OmJlZm9yZSwgLm9mZmVyLS1mZWF0dXJlZDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAub2ZmZXItLWZlYXR1cmVkOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19wcmltYXJ5LWltYWdlcyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19wcmltYXJ5LWltYWdlczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19wcmltYXJ5LWltYWdlczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19jb250ZW50LS13aXRob3V0LWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19jb250ZW50LS13aXRob3V0LWltYWdlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX2NvbnRlbnQtLXdpdGhvdXQtaW1hZ2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLm9mZmVyLS1mZWF0dXJlZCAub2ZmZXJfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fc3ViLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAub2ZmZXItLWZlYXR1cmVkIC5vZmZlcl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5vZmZlci0tZmVhdHVyZWQgLm9mZmVyX19saW5rIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm9mZmVyLS1mdWxsIC5vZmZlcl9fcHJpbWFyeS1pbWFnZXMge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5vZmZlci0tZnVsbCAub2ZmZXJfX3ByaW1hcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ub2ZmZXItLWZ1bGwgLm9mZmVyX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5vZmZlci0tZnVsbCAub2ZmZXJfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IDIwcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH0gfVxuICAub2ZmZXItLWZ1bGwgLm9mZmVyX19zZWNvbmRhcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub2ZmZXItLWZ1bGwgLm9mZmVyX192aWRlb3Mge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjbGVhcjogcmlnaHQ7XG4gICAgd2lkdGg6IDIwcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9IH1cblxuLm9mZmVyLS1mdWxsIC5vZmZlcl9fdmlkZW9zIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9mZmVyLS1mdWxsIC5vZmZlcl9fdmlkZW9zIHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub2ZmZXItLWZ1bGwgLm9mZmVyX192aWRlb3MgdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAub2ZmZXItLWZ1bGwgLm9mZmVyX192aWRlb3MgdWw6OmJlZm9yZSwgLm9mZmVyLS1mdWxsIC5vZmZlcl9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5vZmZlci0tZnVsbCAub2ZmZXJfX3ZpZGVvcyB1bDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5vZmZlci0tZnVsbCAub2ZmZXJfX3ZpZGVvcyB1bCA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZmZlci0tZnVsbCAub2ZmZXJfX3ZpZGVvcyB1bCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLm9mZmVyLS1mdWxsIC5vZmZlcl9fdmlkZW9zIHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm9mZmVyLS1mdWxsIC5vZmZlcl9fdmlkZW9zIHVsID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAub2ZmZXItLWZ1bGwgLm9mZmVyX192aWRlb3MgdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5vZmZlci0tZnVsbCAub2ZmZXJfX3ZpZGVvcyB1bCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4ub2ZmZXItLWZ1bGwgLm9mZmVyX19kZXNjcmlwdGlvbixcbi5vZmZlci0tZnVsbCAub2ZmZXJfX3RhYmxlIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9mZmVyLS1mdWxsIC5vZmZlcl9fZGVzY3JpcHRpb24sXG4gICAgLm9mZmVyLS1mdWxsIC5vZmZlcl9fdGFibGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuICAub2ZmZXItLWZ1bGwgLm9mZmVyX19kZXNjcmlwdGlvbiBwOmxhc3QtY2hpbGQsXG4gIC5vZmZlci0tZnVsbCAub2ZmZXJfX3RhYmxlIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAub2ZmZXItLWZ1bGwgLm9mZmVyX19kZXNjcmlwdGlvbiBwIGE6bm90KC5idXR0b24pLFxuICAub2ZmZXItLWZ1bGwgLm9mZmVyX190YWJsZSBwIGE6bm90KC5idXR0b24pIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5vZmZlci0tZnVsbCAub2ZmZXJfX2Rlc2NyaXB0aW9uIHAgYTpub3QoLmJ1dHRvbik6aG92ZXIsXG4gICAgLm9mZmVyLS1mdWxsIC5vZmZlcl9fdGFibGUgcCBhOm5vdCguYnV0dG9uKTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLm9mZmVyLS1mdWxsIC5vZmZlcl9fZmlsZXMgdWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAub2ZmZXItLWZ1bGwgLm9mZmVyX19maWxlcyB1bCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4ub2ZmZXItLWZ1bGwgLm9mZmVyX19mb3JtIHtcbiAgY2xlYXI6IHJpZ2h0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5vZmZlci0tZnVsbCAub2ZmZXJfX2Zvcm0ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4ub2ZmZXItLXRlYXNlciB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9mZmVyLS10ZWFzZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vZmZlci0tdGVhc2VyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLm9mZmVyLS10ZWFzZXI6OmJlZm9yZSwgLm9mZmVyLS10ZWFzZXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLm9mZmVyLS10ZWFzZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZmZlci0tdGVhc2VyIC5vZmZlcl9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX3ByaW1hcnktaW1hZ2VzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZmZlci0tdGVhc2VyIC5vZmZlcl9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX3ByaW1hcnktaW1hZ2VzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5vZmZlci0tdGVhc2VyIC5vZmZlcl9fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm9mZmVyLS10ZWFzZXIgLm9mZmVyX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9mZmVyLS10ZWFzZXIgLm9mZmVyX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLm9mZmVyLS10ZWFzZXIgLm9mZmVyX19jb250ZW50LS13aXRob3V0LWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZmZlci0tdGVhc2VyIC5vZmZlcl9fY29udGVudC0td2l0aG91dC1pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5vZmZlci0tdGVhc2VyIC5vZmZlcl9fY29udGVudC0td2l0aG91dC1pbWFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAub2ZmZXItLXRlYXNlciAub2ZmZXJfX2xpbmsgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYWRkLW9uIHtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYWRkLW9uIHtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfSB9XG4gIC5hZGQtb24gc3Bhbi5oYXMtZXJyb3Ige1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5hZGQtb25fX2lubmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hZGQtb25fX2lubmVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5hZGQtb25fX2lubmVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgLmFkZC1vbl9faW5uZXI6OmJlZm9yZSwgLmFkZC1vbl9faW5uZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLmFkZC1vbl9faW5uZXI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5hZGQtb25fX2ltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYWRkLW9uX19pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5hZGQtb25fX2ltYWdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5hZGQtb25fX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFkZC1vbl9faW1hZ2Uge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5hZGQtb25fX2ltYWdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgLmFkZC1vbl9faW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5hZGQtb25fX2RldGFpbHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFkZC1vbl9fZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5hZGQtb25fX2RldGFpbHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmFkZC1vbl9fbGluayB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmFkZC1vbl9fbGluayB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICAuYWRkLW9uX19saW5rIC5idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYWRkLW9uX19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgLmFkZC1vbl9fdmlkZW8ge1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG4gICAgLmFkZC1vbl9fdmlkZW8gYTpob3ZlcixcbiAgICAuYWRkLW9uX192aWRlbyBhOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5hZGQtb25fX3ZpZGVvIHNwYW4ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuYWRkLW9uX192aWRlby1hcHByb3ZhbCB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgLmFkZC1vbi0tc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWRkLW9uLS1pbWFnZSAuYWRkLW9uX19kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hZGQtb24tLWltYWdlIC5hZGQtb25fX2RldGFpbHMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmFkZC1vbi0taW1hZ2UgLmFkZC1vbl9fZGV0YWlsczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmxpc3RpbmctLWFkZC1vbiAubGlzdGluZ19fbGlzdCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tYWRkLW9uIC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdGluZy0tYWRkLW9uIC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmxpc3RpbmctLWFkZC1vbiAubGlzdGluZ19fbGlzdDo6YmVmb3JlLCAubGlzdGluZy0tYWRkLW9uIC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5saXN0aW5nLS1hZGQtb24gLmxpc3RpbmdfX2xpc3Q6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubGlzdGluZy0tYWRkLW9uIC5saXN0aW5nX19saXN0ID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLWFkZC1vbiAubGlzdGluZ19fbGlzdCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmxpc3RpbmctLWFkZC1vbiAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5saXN0aW5nLS1hZGQtb24gLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5saXN0aW5nLS1hZGQtb24gLmxpc3RpbmdfX2xpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5saXN0aW5nLS1hZGQtb24gLmxpc3RpbmdfX2xpc3QtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLWFkZC1vbiAubGlzdGluZ19fbGlzdC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgICAubGlzdGluZy0tYWRkLW9uIC5saXN0aW5nX19saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYWxlbmRhciB7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNhbGVuZGFyIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfSB9XG4gIC5jYWxlbmRhcl9faGVhZGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY2FsZW5kYXJfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2FsZW5kYXJfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5jYWxlbmRhcl9faGVhZGVyOjpiZWZvcmUsIC5jYWxlbmRhcl9faGVhZGVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5jYWxlbmRhcl9faGVhZGVyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fc3dpdGNoIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY2FsZW5kYXJfX2hlYWRlciAuY2FsZW5kYXJfX3N3aXRjaCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fc3dpdGNoOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fc3dpdGNoIGEge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNhbGVuZGFyX19oZWFkZXIgLmNhbGVuZGFyX19zd2l0Y2ggYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fc3dpdGNoIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICAgICAgIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fc3dpdGNoIGEgaSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjM3NXJlbTsgfVxuICAgICAgLmNhbGVuZGFyX19oZWFkZXIgLmNhbGVuZGFyX19zd2l0Y2gtLW5leHQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAuY2FsZW5kYXJfX2hlYWRlciAuY2FsZW5kYXJfX3N3aXRjaC0tbmV4dCBhIGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjM3NXJlbTsgfVxuICAgIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fbW9udGgge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jYWxlbmRhcl9faGVhZGVyIC5jYWxlbmRhcl9fbW9udGgge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgICAuY2FsZW5kYXJfX2hlYWRlciAuY2FsZW5kYXJfX21vbnRoOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmNhbGVuZGFyX190YWJsZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAgIC5jYWxlbmRhcl9fdGFibGUgdGFibGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmNhbGVuZGFyX190YWJsZSB0YWJsZSB0aCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgLmNhbGVuZGFyX190YWJsZSB0YWJsZSB0ZC5zbG90IHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA1ZGFkOyB9XG4gICAgICAuY2FsZW5kYXJfX3RhYmxlIHRhYmxlIHRkOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc1NDg4ZjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuY2FsZW5kYXJfX3RhYmxlIHRhYmxlIHRkLmRpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhOyB9XG4gICAgICAgIC5jYWxlbmRhcl9fdGFibGUgdGFibGUgdGQuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgICAgLmNhbGVuZGFyX190YWJsZSB0YWJsZSB0ZC5jbG9zZWQge1xuICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7IH1cbiAgICAgICAgLmNhbGVuZGFyX190YWJsZSB0YWJsZSB0ZC5jbG9zZWQ6aG92ZXIge1xuICAgICAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgICAgLmNhbGVuZGFyX190YWJsZSB0YWJsZSB0ZC5zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cblxuLnJldmVhbC5yZXZlYWwtLWNvbGxlY3Rpb24tbWFwIHtcbiAgcGFkZGluZy10b3A6IDMuMTI1cmVtOyB9XG5cbiNjb2xsZWN0aW9uLW1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAxMDAlOyB9XG5cbi5jb2xsZWN0aW9uLWRlbGl2ZXJ5IHtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sbGVjdGlvbi1kZWxpdmVyeSB7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH0gfVxuICAuY29sbGVjdGlvbi1kZWxpdmVyeS0tc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7IH1cbiAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2lubmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb2xsZWN0aW9uLWRlbGl2ZXJ5X19pbm5lciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29sbGVjdGlvbi1kZWxpdmVyeV9faW5uZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICAuY29sbGVjdGlvbi1kZWxpdmVyeV9faW5uZXI6OmJlZm9yZSwgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2lubmVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5jb2xsZWN0aW9uLWRlbGl2ZXJ5X19pbm5lcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2ltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29sbGVjdGlvbi1kZWxpdmVyeV9faW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuY29sbGVjdGlvbi1kZWxpdmVyeV9faW1hZ2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2ltYWdlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY29sbGVjdGlvbi1kZWxpdmVyeV9faW1hZ2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAuY29sbGVjdGlvbi1kZWxpdmVyeV9faW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jb2xsZWN0aW9uLWRlbGl2ZXJ5X19kZXRhaWxzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb2xsZWN0aW9uLWRlbGl2ZXJ5X19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2RldGFpbHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfVxuICAuY29sbGVjdGlvbi1kZWxpdmVyeV9fYWRkcmVzcyB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX21hcCB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgICAuY29sbGVjdGlvbi1kZWxpdmVyeV9fbWFwIHNwYW4ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuY29sbGVjdGlvbi1kZWxpdmVyeV9fbGluayB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2xpbmsge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2xpbmsgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbGxlY3Rpb24tZGVsaXZlcnktLWltYWdlIC5jb2xsZWN0aW9uLWRlbGl2ZXJ5X19kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uLWRlbGl2ZXJ5LS1pbWFnZSAuY29sbGVjdGlvbi1kZWxpdmVyeV9fZGV0YWlscyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29sbGVjdGlvbi1kZWxpdmVyeS0taW1hZ2UgLmNvbGxlY3Rpb24tZGVsaXZlcnlfX2RldGFpbHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5saXN0aW5nLS1jb2xsZWN0aW9uLWRlbGl2ZXJ5IC5saXN0aW5nX19saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1jb2xsZWN0aW9uLWRlbGl2ZXJ5IC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdGluZy0tY29sbGVjdGlvbi1kZWxpdmVyeSAubGlzdGluZ19fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS1jb2xsZWN0aW9uLWRlbGl2ZXJ5IC5saXN0aW5nX19saXN0OjpiZWZvcmUsIC5saXN0aW5nLS1jb2xsZWN0aW9uLWRlbGl2ZXJ5IC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5saXN0aW5nLS1jb2xsZWN0aW9uLWRlbGl2ZXJ5IC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxpc3RpbmctLWNvbGxlY3Rpb24tZGVsaXZlcnkgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tY29sbGVjdGlvbi1kZWxpdmVyeSAubGlzdGluZ19fbGlzdCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmxpc3RpbmctLWNvbGxlY3Rpb24tZGVsaXZlcnkgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGlzdGluZy0tY29sbGVjdGlvbi1kZWxpdmVyeSAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxpc3RpbmctLWNvbGxlY3Rpb24tZGVsaXZlcnkgLmxpc3RpbmdfX2xpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5saXN0aW5nLS1jb2xsZWN0aW9uLWRlbGl2ZXJ5IC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saXN0aW5nLS1jb2xsZWN0aW9uLWRlbGl2ZXJ5IC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAgIC5saXN0aW5nLS1jb2xsZWN0aW9uLWRlbGl2ZXJ5IC5saXN0aW5nX19saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5vcmRlci1pbnRyb2R1Y3Rpb25fX2NvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgLm9yZGVyLWludHJvZHVjdGlvbl9fY29udGVudCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm9yZGVyLWludHJvZHVjdGlvbl9fY29udGVudCBwIGE6bm90KC5idXR0b24pIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5vcmRlci1pbnRyb2R1Y3Rpb25fX2NvbnRlbnQgcCBhOm5vdCguYnV0dG9uKTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLm9yZGVyLWludHJvZHVjdGlvbl9fbGluayAuYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ub3JkZXItcGF5bWVudCB7XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9yZGVyLXBheW1lbnQge1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyB9IH1cbiAgLm9yZGVyLXBheW1lbnRfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODsgfVxuICAub3JkZXItcGF5bWVudF9fbGluayAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5vcmRlci1wcm9ncmVzc19fbGlzdCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub3JkZXItcHJvZ3Jlc3NfX2xpc3Qge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAub3JkZXItcHJvZ3Jlc3NfX2xpc3Q6OmJlZm9yZSwgLm9yZGVyLXByb2dyZXNzX19saXN0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5vcmRlci1wcm9ncmVzc19fbGlzdDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5vcmRlci1wcm9ncmVzc19fbGlzdCA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcmRlci1wcm9ncmVzc19fbGlzdCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5vcmRlci1wcm9ncmVzc19fbGlzdCBsaS5hY3RpdmUgLm9yZGVyLXByb2dyZXNzX19iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MDVkYWQ7IH1cbiAgLm9yZGVyLXByb2dyZXNzX19saXN0LS0yID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QtLTIgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5vcmRlci1wcm9ncmVzc19fbGlzdC0tMiA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5vcmRlci1wcm9ncmVzc19fbGlzdC0tMiA+IGxpOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0LS0yID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QtLTMgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcmRlci1wcm9ncmVzc19fbGlzdC0tMyA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0LS0zID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0LS0zID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QtLTMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5vcmRlci1wcm9ncmVzc19fbGlzdC0tNCA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm9yZGVyLXByb2dyZXNzX19saXN0LS00ID4gbGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QtLTQgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QtLTQgPiBsaTpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5vcmRlci1wcm9ncmVzc19fbGlzdC0tNCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm9yZGVyLXByb2dyZXNzX19saXN0LS01ID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QtLTUgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5vcmRlci1wcm9ncmVzc19fbGlzdC0tNSA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5vcmRlci1wcm9ncmVzc19fbGlzdC0tNSA+IGxpOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0LS01ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QtLTYgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcmRlci1wcm9ncmVzc19fbGlzdC0tNiA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0LS02ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm9yZGVyLXByb2dyZXNzX19saXN0LS02ID4gbGk6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAub3JkZXItcHJvZ3Jlc3NfX2xpc3QtLTYgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5vcmRlci1wcm9ncmVzc19fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5vcmRlci1wcm9ncmVzc19fc3ViLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vcmRlci1wcm9ncmVzc19fc3ViLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5vcmRlci1wcm9ncmVzc19fc3ViLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAub3JkZXItcHJvZ3Jlc3NfX3N1Yi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuLm9yZGVyLXByb2dyZXNzX19iYXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhMWExYTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vcmRlci1wcm9ncmVzc19fYmFyIHtcbiAgICAgIGhlaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLm9yZGVyLXN0YXRlLXN1bW1hcnkge1xuICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhMWExYTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5vcmRlci1zdGF0ZS1zdW1tYXJ5IHtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfSB9XG4gIC5vcmRlci1zdGF0ZS1zdW1tYXJ5X192ZWhpY2xlLWltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAub3JkZXItc3RhdGUtc3VtbWFyeV9fdmVoaWNsZS1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAub3JkZXItc3RhdGUtc3VtbWFyeV9fdmVoaWNsZS1pbWFnZSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm9yZGVyLXN0YXRlLXN1bW1hcnlfX3ZlaGljbGUtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAub3JkZXItc3RhdGUtc3VtbWFyeV9fdmVoaWNsZS1wcmljZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5vcmRlci1zdGF0ZS1zdW1tYXJ5X192ZWhpY2xlLWFkbWluLWZlZSB7XG4gICAgZm9udC1zaXplOiA3NSU7IH1cbiAgLm9yZGVyLXN0YXRlLXN1bW1hcnkgLm9yZGVyLXN0YXRlLXN1bW1hcnktdGFibGUge1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub3JkZXItc3RhdGUtc3VtbWFyeSAub3JkZXItc3RhdGUtc3VtbWFyeS10YWJsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfSB9XG4gICAgLm9yZGVyLXN0YXRlLXN1bW1hcnkgLm9yZGVyLXN0YXRlLXN1bW1hcnktdGFibGUgdGJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMxYTFhMWE7IH1cbiAgICAub3JkZXItc3RhdGUtc3VtbWFyeSAub3JkZXItc3RhdGUtc3VtbWFyeS10YWJsZSB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzFhMWExYTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5vcmRlci1zdGF0ZS1zdW1tYXJ5IC5vcmRlci1zdGF0ZS1zdW1tYXJ5LXRhYmxlIHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAub3JkZXItc3RhdGUtc3VtbWFyeSAub3JkZXItc3RhdGUtc3VtbWFyeS10YWJsZSB0ci5vcmRlci1zdGF0ZS1zdW1tYXJ5LXRhYmxlX190b3RhbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5vcmRlci1zdGF0ZS1zdW1tYXJ5IC5vcmRlci1zdGF0ZS1zdW1tYXJ5LXRhYmxlIHRyIHRkIHtcbiAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAgIC5vcmRlci1zdGF0ZS1zdW1tYXJ5IC5vcmRlci1zdGF0ZS1zdW1tYXJ5LXRhYmxlIHRyIHRkLm9yZGVyLXN0YXRlLXN1bW1hcnktdGFibGVfX3ZhbHVlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMWExYTFhOyB9XG5cbi5vcmRlci1zdW1tYXJ5IHVsIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5vcmRlci1zdW1tYXJ5IHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub3JkZXItc3VtbWFyeSB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgICAub3JkZXItc3VtbWFyeSB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4ub3JkZXItc3VtbWFyeSAuYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ub3JkZXIge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5vcmRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm9yZGVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLm9yZGVyOjpiZWZvcmUsIC5vcmRlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAub3JkZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAub3JkZXJfX3Byb2dyZXNzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm9yZGVyX19wcm9ncmVzcyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5vcmRlcl9fcHJvZ3Jlc3M6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm9yZGVyX19wcm9ncmVzcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgLm9yZGVyX19jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcmRlcl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5vcmRlcl9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAub3JkZXJfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAub3JkZXJfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5vcmRlcl9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAub3JkZXJfX3N1bW1hcnkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub3JkZXJfX3N1bW1hcnkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAub3JkZXJfX3N1bW1hcnk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm9yZGVyX19zdW1tYXJ5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAub3JkZXJfX3N1bW1hcnkge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAub3JkZXJfX3N1bW1hcnkge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5vcmRlcl9fc3VtbWFyeTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAub3JkZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODsgfVxuICAub3JkZXJfX2Zvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub3JkZXJfX2Zvb3RlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9IH1cbiAgICAub3JkZXJfX2Zvb3RlciAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnBhcnQtZXhjaGFuZ2VfX2Zvb3RlciB7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhcnQtZXhjaGFuZ2VfX2Zvb3RlciB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9IH1cbiAgLnBhcnQtZXhjaGFuZ2VfX2Zvb3RlciAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfVxuXG4ucGFnZS0tY29udGFjdCAucGFnZV9fbWFwIHtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0tY29udGFjdCAucGFnZV9fbWFwIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfSB9XG4gIC5wYWdlLS1jb250YWN0IC5wYWdlX19tYXAgI21hcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxOC43NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS0tY29udGFjdCAucGFnZV9fbWFwICNtYXAge1xuICAgICAgICBoZWlnaHQ6IDI5cmVtOyB9IH1cblxuLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzIHtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0tY29udGFjdCAucGFnZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ucGFnZS0tY29udGFjdCAucGFnZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0tY29udGFjdCAucGFnZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogMjByZW07XG4gICAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfSB9XG4gIC5wYWdlLS1jb250YWN0IC5wYWdlX19zZWNvbmRhcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS0tY29udGFjdCAucGFnZV9fdmlkZW9zIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIHdpZHRoOiAyMHJlbTtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfSB9XG5cbi5wYWdlLS1jb250YWN0IC5wYWdlX192aWRlb3MgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0tY29udGFjdCAucGFnZV9fdmlkZW9zIHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFnZS0tY29udGFjdCAucGFnZV9fdmlkZW9zIHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX3ZpZGVvcyB1bDo6YmVmb3JlLCAucGFnZS0tY29udGFjdCAucGFnZV9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5wYWdlLS1jb250YWN0IC5wYWdlX192aWRlb3MgdWw6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnZS0tY29udGFjdCAucGFnZV9fdmlkZW9zIHVsID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX3ZpZGVvcyB1bCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX3ZpZGVvcyB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5wYWdlLS1jb250YWN0IC5wYWdlX192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5wYWdlLS1jb250YWN0IC5wYWdlX192aWRlb3MgdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5wYWdlLS1jb250YWN0IC5wYWdlX192aWRlb3MgdWwgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2Rlc2NyaXB0aW9uIHAgYTpub3QoLmJ1dHRvbikge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2Rlc2NyaXB0aW9uIHAgYTpub3QoLmJ1dHRvbik6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5wYWdlLS1jb250YWN0IC5wYWdlX19maWxlcyB1bCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5wYWdlLS1jb250YWN0IC5wYWdlX19maWxlcyB1bCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4ucGFnZS0tY29udGFjdCAucGFnZV9fZGlyZWN0aW9ucyB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2RpcmVjdGlvbnMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2Zvcm0ge1xuICBjbGVhcjogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnBhZ2UtLWNvbnRhY3QgLnBhZ2VfX2Zvcm0ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4ucGFnZS0tZGVmYXVsdCA+IC5wYWdlX19wcmltYXJ5LWltYWdlcyB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWRlZmF1bHQgPiAucGFnZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgLnBhZ2UtLWRlZmF1bHQgPiAucGFnZV9fcHJpbWFyeS1pbWFnZXMgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5wYWdlLS1kZWZhdWx0ID4gLnBhZ2VfX3NlY29uZGFyeS1pbWFnZXMge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWRlZmF1bHQgPiAucGFnZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogMjByZW07XG4gICAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfSB9XG4gIC5wYWdlLS1kZWZhdWx0ID4gLnBhZ2VfX3NlY29uZGFyeS1pbWFnZXMgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLS1kZWZhdWx0ID4gLnBhZ2VfX3ZpZGVvcyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNsZWFyOiByaWdodDtcbiAgICB3aWR0aDogMjByZW07XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH0gfVxuXG4ucGFnZS0tZGVmYXVsdCA+IC5wYWdlX192aWRlb3MgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0tZGVmYXVsdCA+IC5wYWdlX192aWRlb3MgdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLS1kZWZhdWx0ID4gLnBhZ2VfX3ZpZGVvcyB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5wYWdlLS1kZWZhdWx0ID4gLnBhZ2VfX3ZpZGVvcyB1bDo6YmVmb3JlLCAucGFnZS0tZGVmYXVsdCA+IC5wYWdlX192aWRlb3MgdWw6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnBhZ2UtLWRlZmF1bHQgPiAucGFnZV9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2UtLWRlZmF1bHQgPiAucGFnZV9fdmlkZW9zIHVsID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtLWRlZmF1bHQgPiAucGFnZV9fdmlkZW9zIHVsID4gbGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucGFnZS0tZGVmYXVsdCA+IC5wYWdlX192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAucGFnZS0tZGVmYXVsdCA+IC5wYWdlX192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5wYWdlLS1kZWZhdWx0ID4gLnBhZ2VfX3ZpZGVvcyB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnBhZ2UtLWRlZmF1bHQgPiAucGFnZV9fdmlkZW9zIHVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5wYWdlLS1kZWZhdWx0ID4gLnBhZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWRlZmF1bHQgPiAucGFnZV9fZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuICAucGFnZS0tZGVmYXVsdCA+IC5wYWdlX19kZXNjcmlwdGlvbiBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBhZ2UtLWRlZmF1bHQgPiAucGFnZV9fZGVzY3JpcHRpb24gcCBhOm5vdCguYnV0dG9uKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAucGFnZS0tZGVmYXVsdCA+IC5wYWdlX19kZXNjcmlwdGlvbiBwIGE6bm90KC5idXR0b24pOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ucGFnZS0tZGVmYXVsdCA+IC5wYWdlX19maWxlcyB1bCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5wYWdlLS1kZWZhdWx0ID4gLnBhZ2VfX2ZpbGVzIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi5wYWdlLS1kZWZhdWx0IC5wYWdlX19jaGlsZHJlbiB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5wYWdlLS1kZWZhdWx0IC5wYWdlX19jaGlsZHJlbjo6YmVmb3JlLCAucGFnZS0tZGVmYXVsdCAucGFnZV9fY2hpbGRyZW46OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX2NoaWxkcmVuOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0tZGVmYXVsdCAucGFnZV9fY2hpbGRyZW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX2Zvcm0ge1xuICBjbGVhcjogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnBhZ2UtLWRlZmF1bHQgLnBhZ2VfX2Zvcm0ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4ucGFnZS0tZnVsbC13aWR0aCA+IC5wYWdlX19wcmltYXJ5LWltYWdlcyB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWZ1bGwtd2lkdGggPiAucGFnZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgLnBhZ2UtLWZ1bGwtd2lkdGggPiAucGFnZV9fcHJpbWFyeS1pbWFnZXMgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5wYWdlLS1mdWxsLXdpZHRoID4gLnBhZ2VfX3NlY29uZGFyeS1pbWFnZXMge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWZ1bGwtd2lkdGggPiAucGFnZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogMjByZW07XG4gICAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2UtLWZ1bGwtd2lkdGggPiAucGFnZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgICB3aWR0aDogMjVyZW07IH0gfVxuICAucGFnZS0tZnVsbC13aWR0aCA+IC5wYWdlX19zZWNvbmRhcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS0tZnVsbC13aWR0aCA+IC5wYWdlX192aWRlb3Mge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjbGVhcjogcmlnaHQ7XG4gICAgd2lkdGg6IDIwcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2UtLWZ1bGwtd2lkdGggPiAucGFnZV9fdmlkZW9zIHtcbiAgICB3aWR0aDogMjVyZW07IH0gfVxuXG4ucGFnZS0tZnVsbC13aWR0aCA+IC5wYWdlX192aWRlb3MgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0tZnVsbC13aWR0aCA+IC5wYWdlX192aWRlb3MgdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLS1mdWxsLXdpZHRoID4gLnBhZ2VfX3ZpZGVvcyB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5wYWdlLS1mdWxsLXdpZHRoID4gLnBhZ2VfX3ZpZGVvcyB1bDo6YmVmb3JlLCAucGFnZS0tZnVsbC13aWR0aCA+IC5wYWdlX192aWRlb3MgdWw6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnBhZ2UtLWZ1bGwtd2lkdGggPiAucGFnZV9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2UtLWZ1bGwtd2lkdGggPiAucGFnZV9fdmlkZW9zIHVsID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtLWZ1bGwtd2lkdGggPiAucGFnZV9fdmlkZW9zIHVsID4gbGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucGFnZS0tZnVsbC13aWR0aCA+IC5wYWdlX192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAucGFnZS0tZnVsbC13aWR0aCA+IC5wYWdlX192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5wYWdlLS1mdWxsLXdpZHRoID4gLnBhZ2VfX3ZpZGVvcyB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnBhZ2UtLWZ1bGwtd2lkdGggPiAucGFnZV9fdmlkZW9zIHVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5wYWdlLS1mdWxsLXdpZHRoID4gLnBhZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWZ1bGwtd2lkdGggPiAucGFnZV9fZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuICAucGFnZS0tZnVsbC13aWR0aCA+IC5wYWdlX19kZXNjcmlwdGlvbiBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBhZ2UtLWZ1bGwtd2lkdGggPiAucGFnZV9fZGVzY3JpcHRpb24gcCBhOm5vdCguYnV0dG9uKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAucGFnZS0tZnVsbC13aWR0aCA+IC5wYWdlX19kZXNjcmlwdGlvbiBwIGE6bm90KC5idXR0b24pOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ucGFnZS0tZnVsbC13aWR0aCA+IC5wYWdlX19maWxlcyB1bCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5wYWdlLS1mdWxsLXdpZHRoID4gLnBhZ2VfX2ZpbGVzIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jaGlsZHJlbiB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5wYWdlLS1mdWxsLXdpZHRoIC5wYWdlX19jaGlsZHJlbjo6YmVmb3JlLCAucGFnZS0tZnVsbC13aWR0aCAucGFnZV9fY2hpbGRyZW46OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2NoaWxkcmVuOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0tZnVsbC13aWR0aCAucGFnZV9fY2hpbGRyZW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2Zvcm0ge1xuICBjbGVhcjogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnBhZ2UtLWZ1bGwtd2lkdGggLnBhZ2VfX2Zvcm0ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4ucGFnZS0tdGVhc2VyIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0tdGVhc2VyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFnZS0tdGVhc2VyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLnBhZ2UtLXRlYXNlcjo6YmVmb3JlLCAucGFnZS0tdGVhc2VyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5wYWdlLS10ZWFzZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnZS0tdGVhc2VyIC5wYWdlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS0tdGVhc2VyIC5wYWdlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLXRlYXNlciAucGFnZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtLXRlYXNlciAucGFnZV9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtLXRlYXNlciAucGFnZV9fY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wYWdlLS10ZWFzZXIgLnBhZ2VfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnBhZ2UtLXRlYXNlciAucGFnZV9fY29udGVudC0td2l0aG91dC1tZWRpYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS0tdGVhc2VyIC5wYWdlX19jb250ZW50LS13aXRob3V0LW1lZGlhIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBhZ2UtLXRlYXNlciAucGFnZV9fY29udGVudC0td2l0aG91dC1tZWRpYTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAucGFnZS0tdGVhc2VyIC5wYWdlX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLnBhZ2UtLXRlYXNlciAucGFnZV9fc3ViLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAucGFnZS0tdGVhc2VyIC5wYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7IH1cbiAgLnBhZ2UtLXRlYXNlciAucGFnZV9fbGluayAuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wYXJ0LS1mZWF0dXJlZCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhcnQtLWZlYXR1cmVkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFydC0tZmVhdHVyZWQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAucGFydC0tZmVhdHVyZWQ6OmJlZm9yZSwgLnBhcnQtLWZlYXR1cmVkOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5wYXJ0LS1mZWF0dXJlZDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fcHJpbWFyeS1pbWFnZXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFydC0tZmVhdHVyZWQgLnBhcnRfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFydC0tZmVhdHVyZWQgLnBhcnRfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAucGFydC0tZmVhdHVyZWQgLnBhcnRfX2NvbnRlbnQtLXdpdGhvdXQtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19jb250ZW50LS13aXRob3V0LWltYWdlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBhcnQtLWZlYXR1cmVkIC5wYXJ0X19jb250ZW50LS13aXRob3V0LWltYWdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC5wYXJ0LS1mZWF0dXJlZCAucGFydF9fc3ViLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAucGFydC0tZmVhdHVyZWQgLnBhcnRfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAucGFydC0tZmVhdHVyZWQgLnBhcnRfX2xpbmsgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucGFydC0tZnVsbCAucGFydF9fcHJpbWFyeS1pbWFnZXMge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5wYXJ0LS1mdWxsIC5wYXJ0X19wcmltYXJ5LWltYWdlcyB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnBhcnQtLWZ1bGwgLnBhcnRfX3NlY29uZGFyeS1pbWFnZXMge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhcnQtLWZ1bGwgLnBhcnRfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IDIwcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH0gfVxuICAucGFydC0tZnVsbCAucGFydF9fc2Vjb25kYXJ5LWltYWdlcyB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhcnQtLWZ1bGwgLnBhcnRfX3ZpZGVvcyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNsZWFyOiByaWdodDtcbiAgICB3aWR0aDogMjByZW07XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH0gfVxuXG4ucGFydC0tZnVsbCAucGFydF9fdmlkZW9zIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhcnQtLWZ1bGwgLnBhcnRfX3ZpZGVvcyB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhcnQtLWZ1bGwgLnBhcnRfX3ZpZGVvcyB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5wYXJ0LS1mdWxsIC5wYXJ0X192aWRlb3MgdWw6OmJlZm9yZSwgLnBhcnQtLWZ1bGwgLnBhcnRfX3ZpZGVvcyB1bDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAucGFydC0tZnVsbCAucGFydF9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhcnQtLWZ1bGwgLnBhcnRfX3ZpZGVvcyB1bCA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYXJ0LS1mdWxsIC5wYXJ0X192aWRlb3MgdWwgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5wYXJ0LS1mdWxsIC5wYXJ0X192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAucGFydC0tZnVsbCAucGFydF9fdmlkZW9zIHVsID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucGFydC0tZnVsbCAucGFydF9fdmlkZW9zIHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAucGFydC0tZnVsbCAucGFydF9fdmlkZW9zIHVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5wYXJ0LS1mdWxsIC5wYXJ0X19kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYXJ0LS1mdWxsIC5wYXJ0X19kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gIC5wYXJ0LS1mdWxsIC5wYXJ0X19kZXNjcmlwdGlvbiBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBhcnQtLWZ1bGwgLnBhcnRfX2Rlc2NyaXB0aW9uIHAgYTpub3QoLmJ1dHRvbikge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnBhcnQtLWZ1bGwgLnBhcnRfX2Rlc2NyaXB0aW9uIHAgYTpub3QoLmJ1dHRvbik6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5wYXJ0LS1mdWxsIC5wYXJ0X19maWxlcyB1bCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5wYXJ0LS1mdWxsIC5wYXJ0X19maWxlcyB1bCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4ucGFydC0tZnVsbCAucGFydF9fZm9ybSB7XG4gIGNsZWFyOiByaWdodDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucGFydC0tZnVsbCAucGFydF9fZm9ybSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbi5wYXJ0LS10ZWFzZXIge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYXJ0LS10ZWFzZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYXJ0LS10ZWFzZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAucGFydC0tdGVhc2VyOjpiZWZvcmUsIC5wYXJ0LS10ZWFzZXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnBhcnQtLXRlYXNlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYXJ0LS10ZWFzZXIgLnBhcnRfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYXJ0LS10ZWFzZXIgLnBhcnRfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBhcnQtLXRlYXNlciAucGFydF9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhcnQtLXRlYXNlciAucGFydF9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFydC0tdGVhc2VyIC5wYXJ0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnBhcnQtLXRlYXNlciAucGFydF9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnBhcnQtLXRlYXNlciAucGFydF9fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFydC0tdGVhc2VyIC5wYXJ0X19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBhcnQtLXRlYXNlciAucGFydF9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFydC0tdGVhc2VyIC5wYXJ0X19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhcnQtLXRlYXNlciAucGFydF9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnBhcnQtLXRlYXNlciAucGFydF9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAucGFydC0tdGVhc2VyIC5wYXJ0X19jb250ZW50LS13aXRob3V0LWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYXJ0LS10ZWFzZXIgLnBhcnRfX2NvbnRlbnQtLXdpdGhvdXQtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucGFydC0tdGVhc2VyIC5wYXJ0X19jb250ZW50LS13aXRob3V0LWltYWdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5wYXJ0LS10ZWFzZXIgLnBhcnRfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAucGFydC0tdGVhc2VyIC5wYXJ0X19saW5rIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm1ldGEgPiB1bCB7XG4gIG1hcmdpbjogMCAwIDAuOTM3NXJlbSAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5tZXRhID4gdWwgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMC4zNzVyZW07IH1cblxuLm1ldGFfX3B1Ymxpc2hlZCBzcGFuIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ubWV0YV9fY2F0ZWdvcmllcy10aXRsZSwgLm1ldGFfX3RhZ3MtdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC4xODc1cmVtOyB9XG5cbi5tZXRhX19jYXRlZ29yaWVzIHVsLCAubWV0YV9fdGFncyB1bCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5tZXRhX19jYXRlZ29yaWVzIHVsIGxpLCAubWV0YV9fdGFncyB1bCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAubWV0YV9fY2F0ZWdvcmllcyB1bCBsaTo6YWZ0ZXIsIC5tZXRhX190YWdzIHVsIGxpOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnLCc7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMTg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAubWV0YV9fY2F0ZWdvcmllcyB1bCBsaTpsYXN0LWNoaWxkOjphZnRlciwgLm1ldGFfX3RhZ3MgdWwgbGk6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLnBvc3QtLWRlZmF1bHQgLnBvc3RfX2Rlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4ucG9zdC0tZGVmYXVsdCAucG9zdF9fcHJpbWFyeS1pbWFnZXMge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5wb3N0LS1kZWZhdWx0IC5wb3N0X19wcmltYXJ5LWltYWdlcyB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnBvc3QtLWRlZmF1bHQgLnBvc3RfX3NlY29uZGFyeS1pbWFnZXMge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvc3QtLWRlZmF1bHQgLnBvc3RfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IDIwcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH0gfVxuICAucG9zdC0tZGVmYXVsdCAucG9zdF9fc2Vjb25kYXJ5LWltYWdlcyB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBvc3QtLWRlZmF1bHQgLnBvc3RfX3ZpZGVvcyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNsZWFyOiByaWdodDtcbiAgICB3aWR0aDogMjByZW07XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH0gfVxuXG4ucG9zdC0tZGVmYXVsdCAucG9zdF9fdmlkZW9zIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvc3QtLWRlZmF1bHQgLnBvc3RfX3ZpZGVvcyB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBvc3QtLWRlZmF1bHQgLnBvc3RfX3ZpZGVvcyB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5wb3N0LS1kZWZhdWx0IC5wb3N0X192aWRlb3MgdWw6OmJlZm9yZSwgLnBvc3QtLWRlZmF1bHQgLnBvc3RfX3ZpZGVvcyB1bDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAucG9zdC0tZGVmYXVsdCAucG9zdF9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBvc3QtLWRlZmF1bHQgLnBvc3RfX3ZpZGVvcyB1bCA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb3N0LS1kZWZhdWx0IC5wb3N0X192aWRlb3MgdWwgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5wb3N0LS1kZWZhdWx0IC5wb3N0X192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAucG9zdC0tZGVmYXVsdCAucG9zdF9fdmlkZW9zIHVsID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucG9zdC0tZGVmYXVsdCAucG9zdF9fdmlkZW9zIHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAucG9zdC0tZGVmYXVsdCAucG9zdF9fdmlkZW9zIHVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5wb3N0LS1kZWZhdWx0IC5wb3N0X19maWxlcyB1bCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5wb3N0LS1kZWZhdWx0IC5wb3N0X19maWxlcyB1bCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4ucG9zdC0tZmVhdHVyZWQge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wb3N0LS1mZWF0dXJlZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBvc3QtLWZlYXR1cmVkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLnBvc3QtLWZlYXR1cmVkOjpiZWZvcmUsIC5wb3N0LS1mZWF0dXJlZDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAucG9zdC0tZmVhdHVyZWQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3ByaW1hcnktaW1hZ2VzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3ByaW1hcnktaW1hZ2VzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBvc3QtLWZlYXR1cmVkIC5wb3N0X19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvc3QtLWZlYXR1cmVkIC5wb3N0X19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnBvc3QtLWZlYXR1cmVkIC5wb3N0X19jb250ZW50LS13aXRob3V0LWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fY29udGVudC0td2l0aG91dC1pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5wb3N0LS1mZWF0dXJlZCAucG9zdF9fY29udGVudC0td2l0aG91dC1pbWFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAucG9zdC0tZmVhdHVyZWQgLnBvc3RfX3N1Yi10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLnBvc3QtLWZlYXR1cmVkIC5wb3N0X19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLnBvc3QtLWZlYXR1cmVkIC5wb3N0X19saW5rIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX2Rlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4ucG9zdC0tZnVsbC13aWR0aCAucG9zdF9fcHJpbWFyeS1pbWFnZXMge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5wb3N0LS1mdWxsLXdpZHRoIC5wb3N0X19wcmltYXJ5LWltYWdlcyB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX3NlY29uZGFyeS1pbWFnZXMge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IDIwcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wb3N0LS1mdWxsLXdpZHRoIC5wb3N0X19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICAgIHdpZHRoOiAyNXJlbTsgfSB9XG4gIC5wb3N0LS1mdWxsLXdpZHRoIC5wb3N0X19zZWNvbmRhcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucG9zdC0tZnVsbC13aWR0aCAucG9zdF9fdmlkZW9zIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIHdpZHRoOiAyMHJlbTtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3N0LS1mdWxsLXdpZHRoIC5wb3N0X192aWRlb3Mge1xuICAgIHdpZHRoOiAyNXJlbTsgfSB9XG5cbi5wb3N0LS1mdWxsLXdpZHRoIC5wb3N0X192aWRlb3MgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9zdC0tZnVsbC13aWR0aCAucG9zdF9fdmlkZW9zIHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucG9zdC0tZnVsbC13aWR0aCAucG9zdF9fdmlkZW9zIHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX3ZpZGVvcyB1bDo6YmVmb3JlLCAucG9zdC0tZnVsbC13aWR0aCAucG9zdF9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5wb3N0LS1mdWxsLXdpZHRoIC5wb3N0X192aWRlb3MgdWw6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucG9zdC0tZnVsbC13aWR0aCAucG9zdF9fdmlkZW9zIHVsID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX3ZpZGVvcyB1bCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX3ZpZGVvcyB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5wb3N0LS1mdWxsLXdpZHRoIC5wb3N0X192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5wb3N0LS1mdWxsLXdpZHRoIC5wb3N0X192aWRlb3MgdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5wb3N0LS1mdWxsLXdpZHRoIC5wb3N0X192aWRlb3MgdWwgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX2ZpbGVzIHVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnBvc3QtLWZ1bGwtd2lkdGggLnBvc3RfX2ZpbGVzIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi5wb3N0LS10ZWFzZXIge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wb3N0LS10ZWFzZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wb3N0LS10ZWFzZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAucG9zdC0tdGVhc2VyOjpiZWZvcmUsIC5wb3N0LS10ZWFzZXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnBvc3QtLXRlYXNlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wb3N0LS10ZWFzZXIgLnBvc3RfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb3N0LS10ZWFzZXIgLnBvc3RfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBvc3QtLXRlYXNlciAucG9zdF9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBvc3QtLXRlYXNlciAucG9zdF9fcHJpbWFyeS1pbWFnZXMge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9zdC0tdGVhc2VyIC5wb3N0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnBvc3QtLXRlYXNlciAucG9zdF9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnBvc3QtLXRlYXNlciAucG9zdF9fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucG9zdC0tdGVhc2VyIC5wb3N0X19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBvc3QtLXRlYXNlciAucG9zdF9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucG9zdC0tdGVhc2VyIC5wb3N0X19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvc3QtLXRlYXNlciAucG9zdF9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnBvc3QtLXRlYXNlciAucG9zdF9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAucG9zdC0tdGVhc2VyIC5wb3N0X19jb250ZW50LS13aXRob3V0LWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb3N0LS10ZWFzZXIgLnBvc3RfX2NvbnRlbnQtLXdpdGhvdXQtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucG9zdC0tdGVhc2VyIC5wb3N0X19jb250ZW50LS13aXRob3V0LWltYWdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5wb3N0LS10ZWFzZXIgLnBvc3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAucG9zdC0tdGVhc2VyIC5wb3N0X19saW5rIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnF1aWNrLXNlYXJjaCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucXVpY2stc2VhcmNoIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucXVpY2stc2VhcmNoIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLnF1aWNrLXNlYXJjaDo6YmVmb3JlLCAucXVpY2stc2VhcmNoOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5xdWljay1zZWFyY2g6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucXVpY2stc2VhcmNoX19sZWdlbmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnF1aWNrLXNlYXJjaF9fbGVnZW5kIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnF1aWNrLXNlYXJjaF9fbGVnZW5kOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5xdWljay1zZWFyY2ggLmZpZWxkLXNlYXJjaC1zdHJpbmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnF1aWNrLXNlYXJjaCAuZmllbGQtc2VhcmNoLXN0cmluZyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5xdWljay1zZWFyY2ggLmZpZWxkLXNlYXJjaC1zdHJpbmc6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnF1aWNrLXNlYXJjaCAuZmllbGQtc2VhcmNoLXN0cmluZyB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5xdWljay1zZWFyY2ggLmZpZWxkLXNlYXJjaC1zdHJpbmcge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5xdWljay1zZWFyY2ggLmZpZWxkLXNlYXJjaC1zdHJpbmc6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnF1aWNrLXNlYXJjaCAuZmllbGQtc3VibWl0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5xdWljay1zZWFyY2ggLmZpZWxkLXN1Ym1pdCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5xdWljay1zZWFyY2ggLmZpZWxkLXN1Ym1pdDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucXVpY2stc2VhcmNoIC5maWVsZC1zdWJtaXQge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucXVpY2stc2VhcmNoIC5maWVsZC1zdWJtaXQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5xdWljay1zZWFyY2ggLmZpZWxkLXN1Ym1pdDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgIC5xdWljay1zZWFyY2ggLmZpZWxkLXN1Ym1pdCAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5xdWljay1zZWFyY2ggLmZpZWxkLXN1Ym1pdCAuYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zZWFyY2gtc2VsZWN0aW9uX19jb3VudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uc2VhcmNoLXNlbGVjdGlvbl9fdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnNlYXJjaC1zZWxlY3Rpb25fX3RpdGxlOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb250ZW50OiAnLSc7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjE4NzVyZW07IH1cbiAgLnNlYXJjaC1zZWxlY3Rpb25fX3RpdGxlIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnNlYXJjaC1zZWxlY3Rpb25fX3RpdGxlIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5zZWFyY2gtc2VsZWN0aW9uX19wYXJhbWV0ZXJzIHtcbiAgbWFyZ2luLXRvcDogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5zZWFyY2gtc2VsZWN0aW9uX19wYXJhbWV0ZXJzIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgLnNlYXJjaC1zZWxlY3Rpb25fX3BhcmFtZXRlcnM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5zZWFyY2gtc2VsZWN0aW9uX19saXN0IHtcbiAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5zZWFyY2gtc2VsZWN0aW9uX19saXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMC4zMTI1cmVtIDAuMzEyNXJlbSAwLjMxMjVyZW0gMDsgfVxuXG4uc2VhcmNoLXNlbGVjdGlvbl9fcGFyYW1ldGVyIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAwLjMxMjVyZW0gMC4zNzVyZW0gMC4zMTI1cmVtIDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItcmFkaXVzOiAwLjkzNzVyZW07IH1cbiAgLnNlYXJjaC1zZWxlY3Rpb25fX3BhcmFtZXRlcjpob3ZlciBzcGFuIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3OyB9XG4gIC5zZWFyY2gtc2VsZWN0aW9uX19wYXJhbWV0ZXIgc3BhbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQwZDBkO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG4uc2hvd3Jvb20tLWZlYXR1cmVkIC5zaG93cm9vbV9fcHJpbWFyeS1pbWFnZXMge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4uc2hvd3Jvb20tLWZ1bGwgLnNob3dyb29tX19wcmltYXJ5LWltYWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLnNob3dyb29tLS1mdWxsIC5zaG93cm9vbV9fcHJpbWFyeS1pbWFnZXMgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5zaG93cm9vbS0tZnVsbCAuc2hvd3Jvb21fX3NlY29uZGFyeS1pbWFnZXMge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNob3dyb29tLS1mdWxsIC5zaG93cm9vbV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogMjByZW07XG4gICAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfSB9XG4gIC5zaG93cm9vbS0tZnVsbCAuc2hvd3Jvb21fX3NlY29uZGFyeS1pbWFnZXMgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93cm9vbS0tZnVsbCAuc2hvd3Jvb21fX3ZpZGVvcyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNsZWFyOiByaWdodDtcbiAgICB3aWR0aDogMjByZW07XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH0gfVxuXG4uc2hvd3Jvb20tLWZ1bGwgLnNob3dyb29tX192aWRlb3MgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2hvd3Jvb20tLWZ1bGwgLnNob3dyb29tX192aWRlb3MgdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zaG93cm9vbS0tZnVsbCAuc2hvd3Jvb21fX3ZpZGVvcyB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5zaG93cm9vbS0tZnVsbCAuc2hvd3Jvb21fX3ZpZGVvcyB1bDo6YmVmb3JlLCAuc2hvd3Jvb20tLWZ1bGwgLnNob3dyb29tX192aWRlb3MgdWw6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnNob3dyb29tLS1mdWxsIC5zaG93cm9vbV9fdmlkZW9zIHVsOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNob3dyb29tLS1mdWxsIC5zaG93cm9vbV9fdmlkZW9zIHVsID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNob3dyb29tLS1mdWxsIC5zaG93cm9vbV9fdmlkZW9zIHVsID4gbGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuc2hvd3Jvb20tLWZ1bGwgLnNob3dyb29tX192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuc2hvd3Jvb20tLWZ1bGwgLnNob3dyb29tX192aWRlb3MgdWwgPiBsaTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5zaG93cm9vbS0tZnVsbCAuc2hvd3Jvb21fX3ZpZGVvcyB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnNob3dyb29tLS1mdWxsIC5zaG93cm9vbV9fdmlkZW9zIHVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5zaG93cm9vbS0tZnVsbCAuc2hvd3Jvb21fX2Rlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNob3dyb29tLS1mdWxsIC5zaG93cm9vbV9fZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuICAuc2hvd3Jvb20tLWZ1bGwgLnNob3dyb29tX19kZXNjcmlwdGlvbiBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnNob3dyb29tLS1mdWxsIC5zaG93cm9vbV9fZGVzY3JpcHRpb24gcCBhOm5vdCguYnV0dG9uKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuc2hvd3Jvb20tLWZ1bGwgLnNob3dyb29tX19kZXNjcmlwdGlvbiBwIGE6bm90KC5idXR0b24pOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uc2hvd3Jvb20tLXRlYXNlciAuc2hvd3Jvb21fX3ByaW1hcnktaW1hZ2VzIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cblxuLnNwZWNpZmljYXRpb25fX3ZhbHVlIHtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnRlY2huaWNhbC1kYXRhLS1mdWxsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuICAudGVjaG5pY2FsLWRhdGEtLWZ1bGwgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC50ZWNobmljYWwtZGF0YS0tZnVsbCAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnRlY2huaWNhbC1kYXRhLS1wcm9tb3RlZCAudGVjaG5pY2FsLWRhdGFfX2ljb24ge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDIuNXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZWNobmljYWwtZGF0YS0tcHJvbW90ZWQgLnRlY2huaWNhbC1kYXRhX19pY29uIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMi4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi50ZWNobmljYWwtZGF0YS0tcHJvbW90ZWQgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZWNobmljYWwtZGF0YS0tcHJvbW90ZWQgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4udGVjaG5pY2FsLWRhdGEtLXByb21vdGVkIC50ZWNobmljYWwtZGF0YV9fdmFsdWUge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRlY2huaWNhbC1kYXRhLS1wcm9tb3RlZCAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLnRlY2huaWNhbC1kYXRhLS1zdW1tYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkMGQwZDtcbiAgcGFkZGluZzogMXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuICAudGVjaG5pY2FsLWRhdGEtLXN1bW1hcnkgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC50ZWNobmljYWwtZGF0YS0tc3VtbWFyeSAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnRlY2huaWNhbC1kYXRhLS10ZWFzZXIgLnRlY2huaWNhbC1kYXRhX19pY29uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC50ZWNobmljYWwtZGF0YS0tdGVhc2VyIC50ZWNobmljYWwtZGF0YV9faWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGVjaG5pY2FsLWRhdGEtLXRlYXNlciAudGVjaG5pY2FsLWRhdGFfX2ljb24ge1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9IH1cblxuLnRlY2huaWNhbC1kYXRhLS10ZWFzZXIgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50ZWNobmljYWwtZGF0YS0tdGVhc2VyIC50ZWNobmljYWwtZGF0YV9fbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjE4NzVyZW07XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4udGVjaG5pY2FsLWRhdGEtLXRlYXNlciAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRlY2huaWNhbC1kYXRhLS10ZWFzZXIgLnRlY2huaWNhbC1kYXRhX192YWx1ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLnRlY2huaWNhbC1kYXRhLS1mZWF0dXJlZCAudGVjaG5pY2FsLWRhdGFfX2ljb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50ZWNobmljYWwtZGF0YS0tZmVhdHVyZWQgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4udGVjaG5pY2FsLWRhdGEtLWZlYXR1cmVkIC50ZWNobmljYWwtZGF0YV9fdmFsdWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRlY2huaWNhbC1kYXRhLS1jb21wYXJlIC50ZWNobmljYWwtZGF0YV9fbGFiZWwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRlY2huaWNhbC1kYXRhLS1jb21wYXJlIC50ZWNobmljYWwtZGF0YV9fbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi50ZWNobmljYWwtZGF0YS0tY29tcGFyZSAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRlY2huaWNhbC1kYXRhLS1jb21wYXJlIC50ZWNobmljYWwtZGF0YV9fdmFsdWUge1xuICAgICAgbWFyZ2luLXRvcDogMC43NXJlbTsgfSB9XG5cbi52ZWhpY2xlLS1jb21wYXJlIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMC4xODc1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWNvbXBhcmUgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgIGhlaWdodDogMTEuMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tY29tcGFyZSAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3OyB9IH1cblxuLnZlaGljbGUtLWNvbXBhcmUgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC52ZWhpY2xlLS1jb21wYXJlIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IGxpIHtcbiAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgcGFkZGluZzogMC4zMTI1cmVtOyB9XG4gICAgLnZlaGljbGUtLWNvbXBhcmUgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuXG4udmVoaWNsZS0tY29tcGFyZSAudmVoaWNsZV9fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudmVoaWNsZS0tY29tcGFyZSAudmVoaWNsZV9fZm9vdGVyIGEge1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjA2MjVyZW07IH1cblxuLnZlaGljbGUtLWdlbmVyYWwge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC52ZWhpY2xlLS1nZW5lcmFsOjpiZWZvcmUsIC52ZWhpY2xlLS1nZW5lcmFsOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC52ZWhpY2xlLS1nZW5lcmFsOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudmVoaWNsZS0tZ2VuZXJhbCAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX21lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX2RldGFpbHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX2RldGFpbHMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAudmVoaWNsZS0tZ2VuZXJhbCAudmVoaWNsZV9fZGV0YWlsczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tZ2VuZXJhbCAudmVoaWNsZV9fZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAudmVoaWNsZS0tZ2VuZXJhbCAudmVoaWNsZV9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAudmVoaWNsZS0tZ2VuZXJhbCAudmVoaWNsZV9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX3RpdGxlIC52ZWhpY2xlX19tYWtlLFxuICAgIC52ZWhpY2xlLS1nZW5lcmFsIC52ZWhpY2xlX190aXRsZSAudmVoaWNsZV9fbW9kZWwge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC52ZWhpY2xlLS1nZW5lcmFsIC52ZWhpY2xlX190aXRsZSAudmVoaWNsZV9fbW9kZWwtdmFyaWFudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07IH1cbiAgICAudmVoaWNsZS0tZ2VuZXJhbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLnZlaGljbGUtLWdlbmVyYWwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaSAudGVjaG5pY2FsLWRhdGFfX2xhYmVsOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjE4NzVyZW07IH1cbiAgICAgIC52ZWhpY2xlLS1nZW5lcmFsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhX192YWx1ZTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnLCc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAudmVoaWNsZS0tZ2VuZXJhbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpOmxhc3QtY2hpbGQgLnRlY2huaWNhbC1kYXRhX192YWx1ZTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi52ZWhpY2xlLS1sYXRlc3Qge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC52ZWhpY2xlLS1sYXRlc3Q6OmJlZm9yZSwgLnZlaGljbGUtLWxhdGVzdDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudmVoaWNsZS0tbGF0ZXN0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX21lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fZGV0YWlscyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tbGF0ZXN0IC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fZGV0YWlsczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tbGF0ZXN0IC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX2hlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fdGl0bGUgLnZlaGljbGVfX21ha2UsXG4gICAgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fdGl0bGUgLnZlaGljbGVfX21vZGVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAudmVoaWNsZS0tbGF0ZXN0IC52ZWhpY2xlX190aXRsZSAudmVoaWNsZV9fbW9kZWwtdmFyaWFudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnZlaGljbGUtLWxhdGVzdCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTsgfVxuICAgIC52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaSAudGVjaG5pY2FsLWRhdGFfX2xhYmVsOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjE4NzVyZW07IH1cbiAgICAgIC52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaSAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcsJztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjE4NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIC52ZWhpY2xlLS1sYXRlc3QgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaTpsYXN0LWNoaWxkIC50ZWNobmljYWwtZGF0YV9fdmFsdWU6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4udmVoaWNsZS0tcmVjZW50bHktdmlld2VkIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAudmVoaWNsZS0tcmVjZW50bHktdmlld2VkOjpiZWZvcmUsIC52ZWhpY2xlLS1yZWNlbnRseS12aWV3ZWQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnZlaGljbGUtLXJlY2VudGx5LXZpZXdlZDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC52ZWhpY2xlLS1yZWNlbnRseS12aWV3ZWQgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC52ZWhpY2xlLS1yZWNlbnRseS12aWV3ZWQgLnZlaGljbGVfX2RldGFpbHMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDAuMzc1cmVtIDA7IH1cbiAgLnZlaGljbGUtLXJlY2VudGx5LXZpZXdlZCAudmVoaWNsZV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmwtYWxlcnQge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC5sLWFsZXJ0OjpiZWZvcmUsIC5sLWFsZXJ0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5sLWFsZXJ0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubC1hbGVydCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5sLWFsZXJ0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubC1hbGVydCwgLmwtYWxlcnQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cblxuLmwtZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IDEuODc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubC1mb290ZXIge1xuICAgICAgcGFkZGluZy10b3A6IDMuMTI1cmVtOyB9IH1cbiAgLmwtZm9vdGVyX19maXJzdCB7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubC1mb290ZXJfX2ZpcnN0OjpiZWZvcmUsIC5sLWZvb3Rlcl9fZmlyc3Q6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLmwtZm9vdGVyX19maXJzdDo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmwtZm9vdGVyX19maXJzdCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5sLWZvb3Rlcl9fZmlyc3Q6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAubC1mb290ZXJfX2ZpcnN0LCAubC1mb290ZXJfX2ZpcnN0Omxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cblxuLmNyZWRpdC1jYWxjdWxhdG9yLS1mdWxsIC5jcmVkaXQtY2FsY3VsYXRvcl9fcmVzdWx0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbi5leHRyYXMtcHJpY2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5leHRyYXMtcHJpY2VfX3ZhbHVlIHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5leHRyYXMtcHJpY2UtLXRlYXNlciB7XG4gICAgbWFyZ2luLXRvcDogMC4xODc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAuZXh0cmFzLXByaWNlLS10ZWFzZXIgLmV4dHJhcy1wcmljZV9fbGFiZWwge1xuICAgICAgZm9udC1zaXplOiA2NSU7IH1cbiAgLmV4dHJhcy1wcmljZS0tZnVsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzFhMWExYTsgfVxuICAgIC5leHRyYXMtcHJpY2UtLWZ1bGwgLmV4dHJhcy1wcmljZV9fbmV3LFxuICAgIC5leHRyYXMtcHJpY2UtLWZ1bGwgLmV4dHJhcy1wcmljZV9fZXh0cmFzIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuZXh0cmFzLXByaWNlLS1mdWxsIC5leHRyYXMtcHJpY2VfX2V4dHJhcyB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMxYTFhMWE7IH1cbiAgICAuZXh0cmFzLXByaWNlLS1mdWxsIC5leHRyYXMtcHJpY2VfX2xhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiA1NSU7IH1cbiAgICAuZXh0cmFzLXByaWNlLS1mdWxsIC5leHRyYXMtcHJpY2VfX2xpbmsgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogMC4zNzVyZW0gMC41cmVtO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uZXh0cmFzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZXh0cmFzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZXh0cmFzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmV4dHJhczo6YmVmb3JlLCAuZXh0cmFzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5leHRyYXM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuZXh0cmFzX19saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5leHRyYXNfX2xpc3Qge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZXh0cmFzX19saXN0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5leHRyYXNfX2xpc3Qge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZXh0cmFzX19saXN0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZXh0cmFzX19saXN0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5leHRyYXNfX3N1bW1hcnkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmV4dHJhc19fc3VtbWFyeSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5leHRyYXNfX3N1bW1hcnk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmV4dHJhc19fc3VtbWFyeSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5leHRyYXNfX3N1bW1hcnkge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5leHRyYXNfX3N1bW1hcnk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAuZXh0cmFzX19zdW1tYXJ5LWFtb3VudCB7XG4gICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmV4dHJhc19fc3VtbWFyeS1leHRyYXMge1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzFhMWExYTsgfVxuICAgIC5leHRyYXNfX3N1bW1hcnktbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAuZXh0cmFzX19zdW1tYXJ5LXZhbHVlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5mYW5jeWJveC1zbGlkZSA+IC5mYW5jeWJveC1sb2FkaW5nIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGIgLjhzIGluZmluaXRlIGxpbmVhcjsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIHtcbiAgcGFkZGluZzogMDsgfVxuXG4ucmV2aWV3LXN1bW1hcnlfX3RpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnJldmlldy1zdW1tYXJ5X19hdmVyYWdlIHtcbiAgZm9udC1zaXplOiAzLjc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICAucmV2aWV3LXN1bW1hcnlfX2F2ZXJhZ2Ugc3BhbiB7XG4gICAgZm9udC1zaXplOiA1MCU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ucmV2aWV3LXN1bW1hcnlfX3RvdGFsLXJlc3BvbnNlcyB7XG4gIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ucmV2aWV3LXN1bW1hcnlfX2xpbmsgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwLjc1cmVtIDAuODc1cmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA1ZGFkO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmlldy1zdW1tYXJ5X19saW5rIGEge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnJldmlldy1zdW1tYXJ5X19saW5rIGE6aG92ZXIsIC5yZXZpZXctc3VtbWFyeV9fbGluayBhOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2I0Yzk2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5yZXZpZXctbGlzdGluZ19faGVhZGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZpZXctbGlzdGluZ19faGVhZGVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmV2aWV3LWxpc3RpbmdfX2hlYWRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5yZXZpZXctbGlzdGluZ19faGVhZGVyOjpiZWZvcmUsIC5yZXZpZXctbGlzdGluZ19faGVhZGVyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5yZXZpZXctbGlzdGluZ19faGVhZGVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnJldmlldy1saXN0aW5nX19oZWFkZXItZmlyc3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJldmlldy1saXN0aW5nX19oZWFkZXItZmlyc3Qge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucmV2aWV3LWxpc3RpbmdfX2hlYWRlci1maXJzdDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucmV2aWV3LWxpc3RpbmdfX2hlYWRlci1maXJzdCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZpZXctbGlzdGluZ19faGVhZGVyLWZpcnN0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucmV2aWV3LWxpc3RpbmdfX2hlYWRlci1maXJzdDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAucmV2aWV3LWxpc3RpbmdfX2hlYWRlci1zZWNvbmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJldmlldy1saXN0aW5nX19oZWFkZXItc2Vjb25kIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnJldmlldy1saXN0aW5nX19oZWFkZXItc2Vjb25kOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZpZXctbGlzdGluZ19faGVhZGVyLXNlY29uZCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZpZXctbGlzdGluZ19faGVhZGVyLXNlY29uZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnJldmlldy1saXN0aW5nX19oZWFkZXItc2Vjb25kOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5yZXZpZXctbGlzdGluZ19fbG9nbyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZpZXctbGlzdGluZ19fc3VtbWFyeSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLnJldmlldy1saXN0aW5nX19saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5yZXZpZXctbGlzdGluZ19fbGlzdC1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbi5yZXZpZXctbGlzdGluZ19fbGluayBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMC44NzVyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5MDVkYWQ7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2aWV3LWxpc3RpbmdfX2xpbmsgYSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAucmV2aWV3LWxpc3RpbmdfX2xpbmsgYTpob3ZlciwgLnJldmlldy1saXN0aW5nX19saW5rIGE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3YjRjOTY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnJldmlldyB7XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmlldyB7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH0gfVxuICAucmV2aWV3X19oZWFkZXIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZpZXdfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucmV2aWV3X19oZWFkZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICAucmV2aWV3X19oZWFkZXI6OmJlZm9yZSwgLnJldmlld19faGVhZGVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5yZXZpZXdfX2hlYWRlcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucmV2aWV3X19oZWFkZXItZmlyc3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnJldmlld19faGVhZGVyLWZpcnN0IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgICAgLnJldmlld19faGVhZGVyLWZpcnN0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5yZXZpZXdfX2hlYWRlci1maXJzdCB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmlld19faGVhZGVyLWZpcnN0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnJldmlld19faGVhZGVyLWZpcnN0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAucmV2aWV3X19oZWFkZXItc2Vjb25kIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5yZXZpZXdfX2hlYWRlci1zZWNvbmQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgICAucmV2aWV3X19oZWFkZXItc2Vjb25kOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5yZXZpZXdfX2hlYWRlci1zZWNvbmQge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZpZXdfX2hlYWRlci1zZWNvbmQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAucmV2aWV3X19oZWFkZXItc2Vjb25kOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnJldmlld19fZGF0ZSBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMTg3NXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5yZXZpZXdfX3JhdGluZy1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAucmV2aWV3X19saW5rIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZpZXdfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLnJldmlld19fbGluayBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAucmV2aWV3X19saW5rIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnJldmlldy1yYXRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMC4wNjI1cmVtO1xuICBoZWlnaHQ6IDEuNjg3NXJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvcmUvaW1nL2ZlZWZvL3N0YXJzLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDJyZW0gMy40Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42ODc1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXZpZXctcmF0aW5nX19pbm5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMS42ODc1cmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9jb3JlL2ltZy9mZWVmby9zdGFycy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjdweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAycmVtIDMuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC53aXphcmQgPiAuc3RlcHMgPiB1bCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ud2l6YXJkID4gLnN0ZXBzID4gdWwgbGk6bGFzdC1jaGlsZCBhIHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi53aXphcmQgPiAuc3RlcHMgYSxcbi53aXphcmQgPiAuc3RlcHMgYTpob3Zlcixcbi53aXphcmQgPiAuc3RlcHMgYTphY3RpdmUge1xuICBtYXJnaW46IDAgMCAwLjVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjkzNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAud2l6YXJkID4gLnN0ZXBzIGEsXG4gICAgLndpemFyZCA+IC5zdGVwcyBhOmhvdmVyLFxuICAgIC53aXphcmQgPiAuc3RlcHMgYTphY3RpdmUge1xuICAgICAgbWFyZ2luOiAwIDAuNXJlbSAwLjVyZW0gMDsgfSB9XG5cbi53aXphcmQgPiAuc3RlcHMgLmN1cnJlbnQgYSxcbi53aXphcmQgPiAuc3RlcHMgLmN1cnJlbnQgYTpob3Zlcixcbi53aXphcmQgPiAuc3RlcHMgLmN1cnJlbnQgYTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA1ZGFkO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4ud2l6YXJkID4gLnN0ZXBzIC5kb25lIGEsXG4ud2l6YXJkID4gLnN0ZXBzIC5kb25lIGE6aG92ZXIsXG4ud2l6YXJkID4gLnN0ZXBzIC5kb25lIGE6YWN0aXZlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiZWExY2Y7IH1cblxuLndpemFyZCA+IC5zdGVwcyAuZGlzYWJsZWQgYSxcbi53aXphcmQgPiAuc3RlcHMgLmRpc2FibGVkIGE6aG92ZXIsXG4ud2l6YXJkID4gLnN0ZXBzIC5kaXNhYmxlZCBhOmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhOyB9XG5cbi53aXphcmQgPiAuc3RlcHMgLmVycm9yIGEsXG4ud2l6YXJkID4gLnN0ZXBzIC5lcnJvciBhOmhvdmVyLFxuLndpemFyZCA+IC5zdGVwcyAuZXJyb3IgYTphY3RpdmUge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNzsgfVxuXG4ud2l6YXJkID4gLmNvbnRlbnQgPiAuYm9keSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAuNXJlbSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi53aXphcmQgPiAuYWN0aW9ucyBhLFxuLndpemFyZCA+IC5hY3Rpb25zIGE6aG92ZXIsXG4ud2l6YXJkID4gLmFjdGlvbnMgYTphY3RpdmUge1xuICBwYWRkaW5nOiAwLjVyZW0gMC45Mzc1cmVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkwNWRhZDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ud2l6YXJkID4gLmFjdGlvbnMgLmRpc2FibGVkIGEsXG4ud2l6YXJkID4gLmFjdGlvbnMgLmRpc2FibGVkIGE6aG92ZXIsXG4ud2l6YXJkID4gLmFjdGlvbnMgLmRpc2FibGVkIGE6YWN0aXZlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7IH1cblxuLndpemFyZCA+IC5hY3Rpb25zID4gdWwgPiBsaSB7XG4gIG1hcmdpbjogMCAwIDAgMC41cmVtOyB9XG5cbmJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5idXR0b24ge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyB9XG4gIC5idXR0b24tLWFsZXJ0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgcGFkZGluZzogMC43NXJlbSAwLjg3NXJlbTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uLS1hbGVydCB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLmJ1dHRvbi0tYWxlcnQ6aG92ZXIsIC5idXR0b24tLWFsZXJ0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLS1maWx0ZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MDVkYWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgLmJ1dHRvbi0tZmlsdGVyIGkge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuICAuYnV0dG9uLS1mdWxsLXdpZHRoIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYnV0dG9uLS1uby1tYXJnaW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmJ1dHRvbi0tcmVzZXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDAuODc1cmVtO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbi0tcmVzZXQge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC5idXR0b24tLXJlc2V0OmhvdmVyLCAuYnV0dG9uLS1yZXNldDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYjFiO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi0tc2VhcmNoIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5idXR0b24tLXNlY29uZGFyeS1jb2xvciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMC44NzVyZW07XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjIyMjI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbi0tc2Vjb25kYXJ5LWNvbG9yIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAuYnV0dG9uLS1zZWNvbmRhcnktY29sb3I6aG92ZXIsIC5idXR0b24tLXNlY29uZGFyeS1jb2xvcjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxYjFiO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi0tc21hbGwge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNzVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5idXR0b24tLXZlaGljbGUtZGV0YWlscyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYnV0dG9uLS14c21hbGwge1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5idXR0b24tLWhvbGxvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24tLWhvbGxvdzpob3ZlciwgLmJ1dHRvbi0taG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHRvcDogMC43NXJlbTtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuY2xvc2UtYnV0dG9uLS10b2dnbGVyIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICB6LWluZGV4OiAzOyB9XG4gICAgLmNsb3NlLWJ1dHRvbi0tdG9nZ2xlcjpmb2N1cywgLmNsb3NlLWJ1dHRvbi0tdG9nZ2xlcjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uZm9vdGVyLWxlZ2FscyB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuZm9vdGVyLWxlZ2FscyBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5mb290ZXItbGVnYWxzIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4uaWNvbjo6YmVmb3JlIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5pY29uLS1hcnJvdy1iYWNrOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTVjNCc7IH1cblxuLmljb24tLWFycm93LWZvcndhcmQ6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlNWM4JzsgfVxuXG4uaWNvbi0tYmlrZTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU1MmYnOyB9XG5cbi5pY29uLS1jYXI6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlNTMxJzsgfVxuXG4uaWNvbi0tY2hldnJvbi1sZWZ0OjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTVjYic7IH1cblxuLmljb24tLWNoZXZyb24tcmlnaHQ6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlNWNjJzsgfVxuXG4uaWNvbi0tY2xvY2s6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlODU1JzsgfVxuXG4uaWNvbi0tZmluYW5jZTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU4NzcnOyB9XG5cbi5pY29uLS1lbmxhcmdlOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTU2Yic7IH1cblxuLmljb24tLWV4cGFuZC1sZXNzOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTVjZSc7IH1cblxuLmljb24tLWV4cGFuZC1tb3JlOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTVjZic7IH1cblxuLmljb24tLWRvY3VtZW50OjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTg3Myc7IH1cblxuLmljb24tLWZhY2Vib29rOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgY29udGVudDogXCJcXGYwOWFcIjsgfVxuXG4uaWNvbi0tZmlsdGVyOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTE1Mic7IH1cblxuLmljb24tLWdvb2dsZS1wbHVzOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgY29udGVudDogXCJcXGYwZDVcIjsgfVxuXG4uaWNvbi0taW1hZ2UtbGlicmFyeTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU0MTMnOyB9XG5cbi5pY29uLS1pbmZvOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgY29udGVudDogJ1xcZTg4Zic7IH1cblxuLmljb24tLW1haWw6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlMTU4JzsgfVxuXG4uaWNvbi0tbWVudTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU1ZDInOyB9XG5cbi5pY29uLS1wbGF5OjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTAzOSc7IH1cblxuLmljb24tLXBob25lOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTBjZCc7IH1cblxuLmljb24tLXJlY2VudDo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU4ODknOyB9XG5cbi5pY29uLS1zaGFyZTo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU4MGQnOyB9XG5cbi5pY29uLS1zYXZlZDo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU4N2QnOyB9XG5cbi5pY29uLS1zZWFyY2g6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlOGI2JzsgfVxuXG4uaWNvbi0tc3Rhcjo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU4MzgnOyB9XG5cbi5pY29uLS10cmFuc2l0OjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTUzNSc7IH1cblxuLmljb24tLXR3aXR0ZXI6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBjb250ZW50OiBcIlxcZjA5OVwiOyB9XG5cbi5pY29uLS1wcmludDo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGNvbnRlbnQ6ICdcXGU4YWQnOyB9XG5cbi5pY29uLS12aWRlby1saWJyYXJ5OjpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcZTA0YSc7IH1cblxuLmljb24tLXdhbGs6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICBjb250ZW50OiAnXFxlNTM2JzsgfVxuXG4ubGlzdGluZ19fbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubGlzdGluZy0tYmxvY2sgLmxpc3RpbmdfX2xpc3Qge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1ibG9jayAubGlzdGluZ19fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxpc3RpbmctLWJsb2NrIC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmxpc3RpbmctLWJsb2NrIC5saXN0aW5nX19saXN0OjpiZWZvcmUsIC5saXN0aW5nLS1ibG9jayAubGlzdGluZ19fbGlzdDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubGlzdGluZy0tYmxvY2sgLmxpc3RpbmdfX2xpc3Q6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubGlzdGluZy0tYmxvY2sgLmxpc3RpbmdfX2xpc3QtaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saXN0aW5nLS1ibG9jayAubGlzdGluZ19fbGlzdC1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmxpc3RpbmctLWJsb2NrIC5saXN0aW5nX19saXN0LWl0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLWJsb2NrIC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tYmxvY2sgLmxpc3RpbmdfX2xpc3QtaXRlbSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmxpc3RpbmctLWJsb2NrIC5saXN0aW5nX19saXN0LWl0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLWJsb2NrIC5saXN0aW5nX19saXN0LWl0ZW06bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5saXN0aW5nLS1ibG9jayAubGlzdGluZ19fbGlzdC1pdGVtOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1ibG9jayAubGlzdGluZ19fbGlzdC1pdGVtOm50aC1jaGlsZCgxKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmxpc3RpbmctLWJsb2NrIC5saXN0aW5nX19saXN0LWl0ZW06bnRoLWNoaWxkKDEpOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saXN0aW5nLS1ibG9jayAubGlzdGluZ19fbGlzdC1pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5saXN0aW5nLS1ibG9jayAubGlzdGluZ19fbGlzdC1pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1ibG9jayAubGlzdGluZ19fbGlzdC1pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmxpc3RpbmctLWJsb2NrIC5saXN0aW5nX19saXN0LWl0ZW06bnRoLWNoaWxkKDIpOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saXN0aW5nLS1ibG9jayAubGlzdGluZ19fbGlzdC1pdGVtOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tYmxvY2sgLmxpc3RpbmdfX2xpc3QtaXRlbTpudGgtY2hpbGQoNCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtICFpbXBvcnRhbnQ7IH0gfVxuXG4ubGlzdGluZy0tYmxvY2stZm9vdGVyIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5saXN0aW5nLS1ibG9jay1mb290ZXI6OmJlZm9yZSwgLmxpc3RpbmctLWJsb2NrLWZvb3Rlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubGlzdGluZy0tYmxvY2stZm9vdGVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tYmxvY2stZm9vdGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmxpc3RpbmctLWJsb2NrLWZvb3RlcjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmxpc3RpbmctLWJsb2NrLWZvb3RlciwgLmxpc3RpbmctLWJsb2NrLWZvb3RlcjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAubGlzdGluZy0tYmxvY2stZm9vdGVyIC5saXN0aW5nX19saXN0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubGlzdGluZy0tYmxvY2stZm9vdGVyIC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwLjMxMjVyZW07IH1cblxuLmxpc3RpbmctLWJsb2NrLXNpZGViYXIgLmxpc3RpbmdfX2xpc3Qge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1ibG9jay1zaWRlYmFyIC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdGluZy0tYmxvY2stc2lkZWJhciAubGlzdGluZ19fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS1ibG9jay1zaWRlYmFyIC5saXN0aW5nX19saXN0OjpiZWZvcmUsIC5saXN0aW5nLS1ibG9jay1zaWRlYmFyIC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5saXN0aW5nLS1ibG9jay1zaWRlYmFyIC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxpc3RpbmctLWJsb2NrLXNpZGViYXIgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tYmxvY2stc2lkZWJhciAubGlzdGluZ19fbGlzdCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmxpc3RpbmctLWJsb2NrLXNpZGViYXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGlzdGluZy0tYmxvY2stc2lkZWJhciAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxpc3RpbmctLWJsb2NrLXNpZGViYXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5saXN0aW5nLS1ibG9jay1zaWRlYmFyIC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLmxpc3RpbmctLWJyYW5jaC1mb290ZXIgLmxpc3RpbmdfX2xpc3Qge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1icmFuY2gtZm9vdGVyIC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdGluZy0tYnJhbmNoLWZvb3RlciAubGlzdGluZ19fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS1icmFuY2gtZm9vdGVyIC5saXN0aW5nX19saXN0OjpiZWZvcmUsIC5saXN0aW5nLS1icmFuY2gtZm9vdGVyIC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5saXN0aW5nLS1icmFuY2gtZm9vdGVyIC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxpc3RpbmctLWJyYW5jaC1mb290ZXIgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tYnJhbmNoLWZvb3RlciAubGlzdGluZ19fbGlzdCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmxpc3RpbmctLWJyYW5jaC1mb290ZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGlzdGluZy0tYnJhbmNoLWZvb3RlciAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxpc3RpbmctLWJyYW5jaC1mb290ZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5saXN0aW5nLS1icmFuY2gtZm9vdGVyIC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLmxpc3RpbmctLWJyYW5jaC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QsIC5saXN0aW5nLS1jdXN0b20tZW50cnktdGVhc2VyIC5saXN0aW5nX19saXN0LCAubGlzdGluZy0tcGFnZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QsIC5saXN0aW5nLS1wb3N0LXRlYXNlciAubGlzdGluZ19fbGlzdCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLWJyYW5jaC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QsIC5saXN0aW5nLS1jdXN0b20tZW50cnktdGVhc2VyIC5saXN0aW5nX19saXN0LCAubGlzdGluZy0tcGFnZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QsIC5saXN0aW5nLS1wb3N0LXRlYXNlciAubGlzdGluZ19fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxpc3RpbmctLWJyYW5jaC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QsIC5saXN0aW5nLS1jdXN0b20tZW50cnktdGVhc2VyIC5saXN0aW5nX19saXN0LCAubGlzdGluZy0tcGFnZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QsIC5saXN0aW5nLS1wb3N0LXRlYXNlciAubGlzdGluZ19fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS1icmFuY2gtdGVhc2VyIC5saXN0aW5nX19saXN0OjpiZWZvcmUsIC5saXN0aW5nLS1icmFuY2gtdGVhc2VyIC5saXN0aW5nX19saXN0OjphZnRlciwgLmxpc3RpbmctLWN1c3RvbS1lbnRyeS10ZWFzZXIgLmxpc3RpbmdfX2xpc3Q6OmJlZm9yZSwgLmxpc3RpbmctLWN1c3RvbS1lbnRyeS10ZWFzZXIgLmxpc3RpbmdfX2xpc3Q6OmFmdGVyLCAubGlzdGluZy0tcGFnZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3Q6OmJlZm9yZSwgLmxpc3RpbmctLXBhZ2UtdGVhc2VyIC5saXN0aW5nX19saXN0OjphZnRlciwgLmxpc3RpbmctLXBvc3QtdGVhc2VyIC5saXN0aW5nX19saXN0OjpiZWZvcmUsIC5saXN0aW5nLS1wb3N0LXRlYXNlciAubGlzdGluZ19fbGlzdDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubGlzdGluZy0tYnJhbmNoLXRlYXNlciAubGlzdGluZ19fbGlzdDo6YWZ0ZXIsIC5saXN0aW5nLS1jdXN0b20tZW50cnktdGVhc2VyIC5saXN0aW5nX19saXN0OjphZnRlciwgLmxpc3RpbmctLXBhZ2UtdGVhc2VyIC5saXN0aW5nX19saXN0OjphZnRlciwgLmxpc3RpbmctLXBvc3QtdGVhc2VyIC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxpc3RpbmctLWJyYW5jaC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaSwgLmxpc3RpbmctLWN1c3RvbS1lbnRyeS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaSwgLmxpc3RpbmctLXBhZ2UtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGksIC5saXN0aW5nLS1wb3N0LXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saXN0aW5nLS1icmFuY2gtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGksIC5saXN0aW5nLS1jdXN0b20tZW50cnktdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGksIC5saXN0aW5nLS1wYWdlLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpLCAubGlzdGluZy0tcG9zdC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5saXN0aW5nLS1icmFuY2gtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoMW4pLCAubGlzdGluZy0tY3VzdG9tLWVudHJ5LXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKSwgLmxpc3RpbmctLXBhZ2UtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoMW4pLCAubGlzdGluZy0tcG9zdC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGlzdGluZy0tYnJhbmNoLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKzEpLCAubGlzdGluZy0tY3VzdG9tLWVudHJ5LXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKzEpLCAubGlzdGluZy0tcGFnZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpudGgtb2YtdHlwZSgxbisxKSwgLmxpc3RpbmctLXBvc3QtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGlzdGluZy0tYnJhbmNoLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpOmxhc3QtY2hpbGQsIC5saXN0aW5nLS1jdXN0b20tZW50cnktdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bGFzdC1jaGlsZCwgLmxpc3RpbmctLXBhZ2UtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bGFzdC1jaGlsZCwgLmxpc3RpbmctLXBvc3QtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGlzdGluZy0tYnJhbmNoLXRlYXNlciAubGlzdGluZ19fbGlzdC1pdGVtLCAubGlzdGluZy0tY3VzdG9tLWVudHJ5LXRlYXNlciAubGlzdGluZ19fbGlzdC1pdGVtLCAubGlzdGluZy0tcGFnZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QtaXRlbSwgLmxpc3RpbmctLXBvc3QtdGVhc2VyIC5saXN0aW5nX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLWJyYW5jaC10ZWFzZXIgLmxpc3RpbmdfX2xpc3QtaXRlbSwgLmxpc3RpbmctLWN1c3RvbS1lbnRyeS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QtaXRlbSwgLmxpc3RpbmctLXBhZ2UtdGVhc2VyIC5saXN0aW5nX19saXN0LWl0ZW0sIC5saXN0aW5nLS1wb3N0LXRlYXNlciAubGlzdGluZ19fbGlzdC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuXG4ubGlzdGluZy0tY3VzdG9tLWVudHJ5LWZlYXR1cmVkIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tY3VzdG9tLWVudHJ5LWZlYXR1cmVkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdGluZy0tY3VzdG9tLWVudHJ5LWZlYXR1cmVkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmxpc3RpbmctLWN1c3RvbS1lbnRyeS1mZWF0dXJlZDo6YmVmb3JlLCAubGlzdGluZy0tY3VzdG9tLWVudHJ5LWZlYXR1cmVkOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5saXN0aW5nLS1jdXN0b20tZW50cnktZmVhdHVyZWQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1jdXN0b20tZW50cnktZmVhdHVyZWQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAubGlzdGluZy0tY3VzdG9tLWVudHJ5LWZlYXR1cmVkIC5saXN0aW5nX19oZWFkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLWN1c3RvbS1lbnRyeS1mZWF0dXJlZCAubGlzdGluZ19faGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmxpc3RpbmctLWN1c3RvbS1lbnRyeS1mZWF0dXJlZCAubGlzdGluZ19faGVhZGVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saXN0aW5nLS1jdXN0b20tZW50cnktZmVhdHVyZWQgLmxpc3RpbmdfX2hlYWRlciB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1jdXN0b20tZW50cnktZmVhdHVyZWQgLmxpc3RpbmdfX2hlYWRlciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmxpc3RpbmctLWN1c3RvbS1lbnRyeS1mZWF0dXJlZCAubGlzdGluZ19faGVhZGVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5saXN0aW5nLS1jdXN0b20tZW50cnktZmVhdHVyZWQgLmxpc3RpbmdfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tY3VzdG9tLWVudHJ5LWZlYXR1cmVkIC5saXN0aW5nX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfSB9XG4gIC5saXN0aW5nLS1jdXN0b20tZW50cnktZmVhdHVyZWQgLmxpc3RpbmdfX21haW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLWN1c3RvbS1lbnRyeS1mZWF0dXJlZCAubGlzdGluZ19fbWFpbiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5saXN0aW5nLS1jdXN0b20tZW50cnktZmVhdHVyZWQgLmxpc3RpbmdfX21haW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLWN1c3RvbS1lbnRyeS1mZWF0dXJlZCAubGlzdGluZ19fbWFpbiB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS1jdXN0b20tZW50cnktZmVhdHVyZWQgLmxpc3RpbmdfX21haW4ge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5saXN0aW5nLS1jdXN0b20tZW50cnktZmVhdHVyZWQgLmxpc3RpbmdfX21haW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLmxpc3RpbmctLWN1c3RvbS1lbnRyeS1mZWF0dXJlZCAubGlzdGluZ19fbGlzdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgIzkwNWRhZDsgfVxuICAgIC5saXN0aW5nLS1jdXN0b20tZW50cnktZmVhdHVyZWQgLmxpc3RpbmdfX2xpc3QtaXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgICAgLmxpc3RpbmctLWN1c3RvbS1lbnRyeS1mZWF0dXJlZCAubGlzdGluZ19fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIC5saXN0aW5nLS1jdXN0b20tZW50cnktZmVhdHVyZWQgLmxpc3RpbmdfX2xpc3QtaXRlbTpsYXN0LWNoaWxkIC5jdXN0b20tZW50cnktLWZlYXR1cmVkIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmUge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlOjpiZWZvcmUsIC5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmUgLmxpc3RpbmdfX2hlYWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19oZWFkZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX190aXRsZSB7XG4gICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fcmVtb3ZlIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmUgLmxpc3RpbmdfX2tleSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19rZXkge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fa2V5IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19rZXk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fa2V5IHtcbiAgICAgICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fa2V5IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19rZXk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19rZXkgdWwge1xuICAgICAgbWFyZ2luOiAxMy45Mzc1cmVtIDAgMCAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fa2V5IHVsIGxpIHtcbiAgICAgICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxLjA2MjVyZW0gMCAwIDAuOTM3NXJlbTsgfVxuICAgICAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19rZXkgdWwgbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5saXN0aW5nX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAubGlzdGluZ19fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4ubGlzdGluZy0tdmVoaWNsZS1yZWNlbnRseS12aWV3ZWQgLmxpc3RpbmdfX3RpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubGlzdGluZy0tdmVoaWNsZS1yZWNlbnRseS12aWV3ZWQgLmxpc3RpbmdfX2xpc3Qge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXJlY2VudGx5LXZpZXdlZCAubGlzdGluZ19fbGlzdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtcmVjZW50bHktdmlld2VkIC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtcmVjZW50bHktdmlld2VkIC5saXN0aW5nX19saXN0OjpiZWZvcmUsIC5saXN0aW5nLS12ZWhpY2xlLXJlY2VudGx5LXZpZXdlZCAubGlzdGluZ19fbGlzdDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubGlzdGluZy0tdmVoaWNsZS1yZWNlbnRseS12aWV3ZWQgLmxpc3RpbmdfX2xpc3Q6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubGlzdGluZy0tdmVoaWNsZS1yZWNlbnRseS12aWV3ZWQgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1yZWNlbnRseS12aWV3ZWQgLmxpc3RpbmdfX2xpc3QgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5saXN0aW5nLS12ZWhpY2xlLXJlY2VudGx5LXZpZXdlZCAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5saXN0aW5nLS12ZWhpY2xlLXJlY2VudGx5LXZpZXdlZCAubGlzdGluZ19fbGlzdCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxpc3RpbmctLXZlaGljbGUtcmVjZW50bHktdmlld2VkIC5saXN0aW5nX19saXN0ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGlzdGluZy0tdmVoaWNsZS1yZWNlbnRseS12aWV3ZWQgLmxpc3RpbmdfX2xpc3QtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICAgIC5saXN0aW5nLS12ZWhpY2xlLXJlY2VudGx5LXZpZXdlZCAubGlzdGluZ19fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubGlzdGluZy0tdmVoaWNsZS1yZWNlbnRseS12aWV3ZWQgLmxpc3RpbmdfX25vLWl0ZW1zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkIC5saXN0aW5nX190aXRsZSwgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0IC5saXN0aW5nX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkIC5saXN0aW5nX190aXRsZSwgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0IC5saXN0aW5nX190aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4ubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyOjpiZWZvcmUsIC5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXIsIC5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXI6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciAubGlzdGluZ19fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXIgLmxpc3RpbmdfX3RpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQtc2lkZWJhciwgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0LXNpZGViYXIge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkLXNpZGViYXIgLmxpc3RpbmdfX3RpdGxlLCAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3Qtc2lkZWJhciAubGlzdGluZ19fdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19oZWFkZXIge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faGVhZGVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2hlYWRlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faGVhZGVyOjpiZWZvcmUsIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faGVhZGVyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faGVhZGVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX190aXRsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX3RpdGxlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX190aXRsZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX3RpdGxlIHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fdGl0bGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX190aXRsZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlcjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fb3JkZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlcjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciAudmVoaWNsZS1vcmRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIC52ZWhpY2xlLW9yZGVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fb3JkZXIgLnZlaGljbGUtb3JkZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIC52ZWhpY2xlLW9yZGVyOjpiZWZvcmUsIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fb3JkZXIgLnZlaGljbGUtb3JkZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciAudmVoaWNsZS1vcmRlcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciAuZmllbGQtdmVoaWNsZV9zZWFyY2hfb3JkZXIge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIC5maWVsZC12ZWhpY2xlX3NlYXJjaF9vcmRlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fb3JkZXIgLmZpZWxkLXZlaGljbGVfc2VhcmNoX29yZGVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fb3JkZXIgLmZpZWxkLXZlaGljbGVfc2VhcmNoX3Blcl9wYWdlIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19vcmRlciAuZmllbGQtdmVoaWNsZV9zZWFyY2hfcGVyX3BhZ2Uge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX29yZGVyIC5maWVsZC12ZWhpY2xlX3NlYXJjaF9wZXJfcGFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuXG4ubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2ZpbHRlci1yZXN1bHRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZmlsdGVyLXJlc3VsdHMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2ZpbHRlci1yZXN1bHRzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZmlsdGVyLXJlc3VsdHMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZmlsdGVyLXJlc3VsdHMgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19maWx0ZXItcmVzdWx0cy0tcmVkdWNlZCB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZmlsdGVyLXJlc3VsdHMtLXJlZHVjZWQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2ZpbHRlci1yZXN1bHRzLS1yZWR1Y2VkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4ubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2FkanVzdC1maW5hbmNlIHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19hZGp1c3QtZmluYW5jZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fYWRqdXN0LWZpbmFuY2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19hZGp1c3QtZmluYW5jZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19hZGp1c3QtZmluYW5jZSAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4ubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2ZpbmFuY2UtZm9ybSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2ZpbmFuY2UtZm9ybSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZmluYW5jZS1mb3JtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZmluYW5jZS1mb3JtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19pdGVtLWNvdW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMC4xODc1cmVtOyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19faXRlbS1jb3VudCBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3Qge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3Q6OmJlZm9yZSwgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19saXN0ID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fbGlzdC1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tdmVoaWNsZS10ZWFzZXIgLmxpc3RpbmdfX2xpc3QtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbi5saXN0aW5nLS12ZWhpY2xlLXRlYXNlciAubGlzdGluZ19fZmluYW5jZS1leGFtcGxlIHtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cblxuLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19mb290ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19maWx0ZXItcmVzdWx0cy1pY29uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMC42MjVyZW07XG4gIGJvdHRvbTogMC42MjVyZW07XG4gIHotaW5kZXg6IDk5OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxpc3RpbmctLXZlaGljbGUtdGVhc2VyIC5saXN0aW5nX19maWx0ZXItcmVzdWx0cy1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubWVudS10b2dnbGUgYSB7XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogNC44MTI1cmVtOyB9XG4gIC5tZW51LXRvZ2dsZSBhIGksXG4gIC5tZW51LXRvZ2dsZSBhIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZW51LXRvZ2dsZSBhIGk6OmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVudS0tbWFpbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIHRhYmxlLWxheW91dDogYXV0bzsgfVxuICAgIC5tZW51LS1tYWluID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudS0tbWFpbiA+IGxpIHtcbiAgICAgICAgb3V0bGluZTogMDsgfVxuICAgIC5tZW51LS1tYWluID4gbGkgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5tZW51LS1tYWluIGlucHV0LFxuICAgIC5tZW51LS1tYWluIHNlbGVjdCxcbiAgICAubWVudS0tbWFpbiBhLFxuICAgIC5tZW51LS1tYWluIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm1lbnUtLW1haW4gPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lbnUtLW1haW4gbGkgYSB7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUtLW1haW4gbGkgYSB7XG4gICAgICBwYWRkaW5nOiAxLjQzNzVyZW0gMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5tZW51LS1tYWluIC5hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI5MjkyOTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVudS0tbWFpbiA+IGxpID4gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubWVudS0tbWFpbiAuc3VibWVudSBsaSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjIyMjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LS1tYWluIC5zdWJtZW51IGxpIGEge1xuICAgICAgcGFkZGluZzogMS4yNXJlbSAyLjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lbnUtLWZpeGVkIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbi5tZW51LS1maXhlZCAubWVudS1pdGVtIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nOiAxLjVyZW0gMC43NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LS1maXhlZCAubWVudS1pdGVtIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogMC4zNzVyZW0gMCAwLjM3NXJlbSAyLjVyZW07IH0gfVxuICAubWVudS0tZml4ZWQgLm1lbnUtaXRlbSBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tZW51LS1maXhlZCAubWVudS1pdGVtIGEge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAubWVudS0tZml4ZWQgLm1lbnUtaXRlbSBhIGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLm1lbnUtLWZpeGVkIC5tZW51LWl0ZW0gYSBpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMTg3NXJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgICAgIC5tZW51LS1maXhlZCAubWVudS1pdGVtIGEgaSArIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLm1lbnUtLWZpeGVkIC5tZW51LWl0ZW0gYSBpICsgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAubWVudS0tZml4ZWQgLm1lbnUtaXRlbS0tbWVudS10b2dnbGUge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tZW51LS1maXhlZCAubWVudS1pdGVtLS1tZW51LXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5tZW51LS1maXhlZCAubWVudS1pdGVtLS1tZW51LXRvZ2dsZSBhIGkgKyBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LS1maXhlZCAubWVudS1pdGVtLS1waG9uZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm1lbnUtLWZpeGVkIC5tZW51LWl0ZW0tLXNhdmUgLnNhdmVkLWNvdW50ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMTg3NXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZW51LS1maXhlZCAubWVudS1pdGVtLS1zb2NpYWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm1lbnUtLWZpeGVkIC5tZW51LWl0ZW0tLXNvY2lhbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAubWVudS0tZml4ZWQgLm1lbnUtaXRlbS0tc29jaWFsIGEgaSB7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG5cbi5tZW51LS1mb290ZXIge1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgLm1lbnUtLWZvb3RlciBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0OyB9XG4gICAgLm1lbnUtLWZvb3RlciBsaSBhIHtcbiAgICAgIHBhZGRpbmc6IDAgMC4yNXJlbTsgfVxuICAgIC5tZW51LS1mb290ZXIgbGkuYWN0aXZlID4gYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgLm1lbnUtLWZvb3RlciA+IGxpID4gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtLXNoYXJlIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuICAubWVudS0tc2hhcmUgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51LS1zaGFyZSA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUtLXNoYXJlID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAubWVudS0tc2hhcmUgaW5wdXQsXG4gIC5tZW51LS1zaGFyZSBzZWxlY3QsXG4gIC5tZW51LS1zaGFyZSBhLFxuICAubWVudS0tc2hhcmUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51LS1zaGFyZSA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51LS1zaGFyZSBsaSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1lbnUtLXNoYXJlIGxpIGEge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLm1lbnUtLXNoYXJlIGxpIGEgLmljb24ge1xuICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5MDVkYWQ7IH1cbiAgICAgICAgLm1lbnUtLXNoYXJlIGxpIGEgLmljb24tLWZhY2Vib29rIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI1OTk4OyB9XG4gICAgICAgIC5tZW51LS1zaGFyZSBsaSBhIC5pY29uLS10d2l0dGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA5OWZmOyB9XG4gICAgICAgIC5tZW51LS1zaGFyZSBsaSBhIC5pY29uLS1nb29nbGUtcGx1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RBNDgzNTsgfVxuXG4ubWVudS0tc29jaWFsIGxpIGEge1xuICBmb250LXNpemU6IDIuMTI1cmVtOyB9XG5cbi5tZW51LS12ZWhpY2xlLWZlYXR1cmVkIC5tZW51LWl0ZW0gYSwgLm1lbnUtLXZlaGljbGUtbGF0ZXN0IC5tZW51LWl0ZW0gYSB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICAubWVudS0tdmVoaWNsZS1mZWF0dXJlZCAubWVudS1pdGVtIGEgaSwgLm1lbnUtLXZlaGljbGUtbGF0ZXN0IC5tZW51LWl0ZW0gYSBpIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5tZW51LS12ZWhpY2xlLWZlYXR1cmVkIC5tZW51LWl0ZW0gYSBzcGFuLCAubWVudS0tdmVoaWNsZS1sYXRlc3QgLm1lbnUtaXRlbSBhIHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1lbnUtLXZlaGljbGUtZmVhdHVyZWQgLm1lbnUtaXRlbSBhIGk6OmJlZm9yZSwgLm1lbnUtLXZlaGljbGUtbGF0ZXN0IC5tZW51LWl0ZW0gYSBpOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU4N2UnOyB9XG4gIC5tZW51LS12ZWhpY2xlLWZlYXR1cmVkIC5tZW51LWl0ZW0gYS5qcy1zYXZlLXZlaGljbGUtLXNhdmVkIGk6OmJlZm9yZSwgLm1lbnUtLXZlaGljbGUtbGF0ZXN0IC5tZW51LWl0ZW0gYS5qcy1zYXZlLXZlaGljbGUtLXNhdmVkIGk6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTg3ZCc7IH1cblxuLm1lbnUtLXZlaGljbGUtZnVsbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS0tdmVoaWNsZS1mdWxsIC5tZW51LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5tZW51LS12ZWhpY2xlLWZ1bGwgLm1lbnUtaXRlbSBhIHtcbiAgICAgIHBhZGRpbmc6IDAuNjg3NXJlbSAwLjM3NXJlbTsgfVxuICAgICAgLm1lbnUtLXZlaGljbGUtZnVsbCAubWVudS1pdGVtIGEgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gICAgICAubWVudS0tdmVoaWNsZS1mdWxsIC5tZW51LWl0ZW0gYSBzcGFuIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjM3NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVudS0tdmVoaWNsZS1mdWxsIC5tZW51LWl0ZW0tLXNhdmUgYSBpOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU4N2UnOyB9XG4gIC5tZW51LS12ZWhpY2xlLWZ1bGwgLm1lbnUtaXRlbS0tc2F2ZSBhLmpzLXNhdmUtdmVoaWNsZS0tc2F2ZWQgaTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlODdkJzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAubWVudS0tdmVoaWNsZS1mdWxsIC5tZW51LWl0ZW0tLXByaW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubWVudS0tdmVoaWNsZS1mdWxsIC5tZW51LWl0ZW0tLWVucXVpcmUsIC5tZW51LS12ZWhpY2xlLWZ1bGwgLm1lbnUtaXRlbS0tc2VydmljZS1oaXN0b3J5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgICAubWVudS0tdmVoaWNsZS1mdWxsIC5tZW51LWl0ZW0tLWVucXVpcmUgYSwgLm1lbnUtLXZlaGljbGUtZnVsbCAubWVudS1pdGVtLS1zZXJ2aWNlLWhpc3RvcnkgYSB7XG4gICAgICBwYWRkaW5nOiAwLjgxMjVyZW0gMDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcGFkZGluZy1yaWdodDogMS4xMjVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMicgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgMTIgOCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNMTAuNTkuNTlMNiA1LjE3IDEuNDEuNTkgMCAybDYgNiA2LTYnIGZpbGw9JyUyMzk5OTk5OScgZmlsbC1ydWxlPSdldmVub2RkJy8+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNjg3NXJlbSAwLjQzNzVyZW07XG4gIHdpZHRoOiAwLjY4NzVyZW07XG4gIGhlaWdodDogMC40Mzc1cmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIHJpZ2h0OiAwLjM3NXJlbTsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMicgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgMTIgOCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNMTAuNTkuNTlMNiA1LjE3IDEuNDEuNTkgMCAybDYgNiA2LTYnIGZpbGw9JyUyMzk5OTk5OScgZmlsbC1ydWxlPSdldmVub2RkJy8+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNjg3NXJlbSAwLjQzNzVyZW07XG4gIHdpZHRoOiAwLjY4NzVyZW07XG4gIGhlaWdodDogMC40Mzc1cmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjE4NzVyZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cblxuLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB3aWR0aD0nMTInIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDEyIDgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHBhdGggZD0nTTEwLjU5LjU5TDYgNS4xNyAxLjQxLjU5IDAgMmw2IDYgNi02JyBmaWxsPSclMjM5OTk5OTknIGZpbGwtcnVsZT0nZXZlbm9kZCcvPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAwLjY4NzVyZW0gMC40Mzc1cmVtO1xuICB3aWR0aDogMC42ODc1cmVtO1xuICBoZWlnaHQ6IDAuNDM3NXJlbTtcbiAgYm9yZGVyOiBub25lO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cblxuLmpzLWRyaWxsZG93bi1iYWNrID4gYSBzcGFuIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ucG9wLXVwIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk5OTk5OTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAucG9wLXVwX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC42MjVyZW07XG4gICAgbGVmdDogNSU7XG4gICAgcmlnaHQ6IDUlO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICB6LWluZGV4OiA5OTk5OTk5OTk5OTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucG9wLXVwX19pbm5lciB7XG4gICAgICAgIHRvcDogMC45Mzc1cmVtO1xuICAgICAgICBsZWZ0OiAxMCU7XG4gICAgICAgIHJpZ2h0OiAxMCU7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wb3AtdXBfX2lubmVyIHtcbiAgICAgICAgdG9wOiAxLjg3NXJlbTtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5wb3AtdXBfX2lubmVyIHtcbiAgICAgICAgdG9wOiAzLjEyNXJlbTsgfSB9XG4gIC5wb3AtdXBfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIHotaW5kZXg6IDk5OTk5OTk5OTk7IH1cbiAgLnBvcC11cF9fbG9nbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBvcC11cF9fbG9nbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5wb3AtdXBfX2NvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucG9wLXVwX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBvcC11cF9fY29udGVudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnBvcC11cF9fY29udGVudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAgIC5wb3AtdXBfX2NvbnRlbnQgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgIC5wb3AtdXBfX2NvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5wb3AtdXBfX2NvbnRlbnQgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5wb3AtdXBfX2NvbnRlbnQgdWwge1xuICAgICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtIDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5wb3AtdXBfX2Nsb3NlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgcGFkZGluZzogMC43NXJlbSAwLjg3NXJlbTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzkwNWRhZDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5wb3AtdXBfX2Nsb3NlIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAucG9wLXVwX19jbG9zZTpob3ZlciwgLnBvcC11cF9fY2xvc2U6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdiNGM5NjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb3AtdXBfX2Nsb3NlIHtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAwLjg3NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wb3AtdXBfX2Nsb3NlIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAucG9wLXVwX19jbG9zZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAucG9wLXVwX19jbG9zZS1pY29uIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5wb3AtdXBfX2Nsb3NlLWljb246aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuYm9keS5wb3AtdXAtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnJhdGluZyB7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZDBkMGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucmF0aW5nX19sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAucmF0aW5nX190aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAwLjEyNXJlbTtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5yYXRpbmdfX3N0YXJzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAuMTI1cmVtO1xuICAgIGNvbG9yOiAjZmZjNzFmO1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5yYXRpbmdfX2xpbmsge1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG4gICAgLnJhdGluZ19fbGluayAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnJldmVhbCB7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgLnJldmVhbF9faGVhZGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZlYWxfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucmV2ZWFsX19oZWFkZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICAucmV2ZWFsX19oZWFkZXI6OmJlZm9yZSwgLnJldmVhbF9faGVhZGVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5yZXZlYWxfX2hlYWRlcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnJldmVhbF9fdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZlYWxfX3RpdGxlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnJldmVhbF9fdGl0bGU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJldmVhbF9fdGl0bGUge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsX190aXRsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnJldmVhbF9fdGl0bGU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnJldmVhbF9fdmVoaWNsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4zOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZlYWxfX3ZlaGljbGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucmV2ZWFsX192ZWhpY2xlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZlYWxfX3ZlaGljbGUge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbF9fdmVoaWNsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnJldmVhbF9fdmVoaWNsZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAucmV2ZWFsX192ZWhpY2xlLW1ha2UtbW9kZWwge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAucmV2ZWFsX192ZWhpY2xlLWltYWdlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXZlYWxfX3ZlaGljbGUtaW1hZ2Uge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbC0tdmVoaWNsZS1lbnF1aXJ5LCAucmV2ZWFsLS1lbWFpbC12ZWhpY2xlIHtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucmV2ZWFsLS12ZWhpY2xlLWVucXVpcnksIC5yZXZlYWwtLWVtYWlsLXZlaGljbGUge1xuICAgICAgICBwYWRkaW5nOiAzLjEyNXJlbSAxLjg3NXJlbSAxLjg3NXJlbTsgfSB9XG4gIC5yZXZlYWwtLXVsZXogLnJldmVhbF9faGVhZGVyIHtcbiAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW0gMDsgfVxuICAucmV2ZWFsLS11bGV6IC5yZXZlYWxfX2Zvb3RlciB7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTAzYjkyOyB9XG5cbi50b2dnbGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDE2Ljg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIHotaW5kZXg6IDk5OTsgfVxuICAudG9nZ2xlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnRvZ2dsZXItb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA5OTg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4uYmxvY2stLWRlZmF1bHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fcHJpbWFyeS1pbWFnZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmxvY2stLWRlZmF1bHQgLmJsb2NrX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMC4zNzVyZW0gMC41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuYmxvY2stLWRlZmF1bHQgLmJsb2NrX19pY29uIGkge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuYmxvY2stLWRlZmF1bHQgLmJsb2NrX19kZXRhaWxzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJsb2NrLS1kZWZhdWx0IC5ibG9ja19fZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfSB9XG4gIC5ibG9jay0tZGVmYXVsdCAuYmxvY2tfX3RpdGxlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4ICMwMDAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTMsIDEzLCAwLjUpOyB9XG4gIC5ibG9jay0tZGVmYXVsdCAuYmxvY2tfX2Rlc2NyaXB0aW9uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4ICMwMDAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTMsIDEzLCAwLjUpOyB9XG5cbi5ibG9jay0tcmV2aWV3cyB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZDBkMGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ibG9jay0tcmV2aWV3cyB7XG4gICAgICBwYWRkaW5nOiAxLjYyNXJlbTsgfSB9XG4gIC5ibG9jay0tcmV2aWV3cyAuYmxvY2tfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBtYXJnaW46IDAuMjVyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYmxvY2stLXJldmlld3MgLmJsb2NrX19wcmltYXJ5LWltYWdlcyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMzc1cmVtOyB9IH1cbiAgLmJsb2NrLS1yZXZpZXdzIC5ibG9ja19fc3ViLXRpdGxlIHtcbiAgICBtYXJnaW46IDAuMjVyZW07XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJsb2NrLS1yZXZpZXdzIC5ibG9ja19fc3ViLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4zNzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH0gfVxuICAuYmxvY2stLXJldmlld3MgLmJsb2NrX19kZXNjcmlwdGlvbi1yYXRpbmcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwLjA2MjVyZW07XG4gICAgaGVpZ2h0OiAxLjY4NzVyZW07XG4gICAgbWFyZ2luOiAwLjI1cmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9kaXN0L2ltZy9zdGFycy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMnJlbSAzLjQzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjg3NXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJsb2NrLS1yZXZpZXdzIC5ibG9ja19fZGVzY3JpcHRpb24tcmF0aW5nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMzc1cmVtOyB9IH1cbiAgICAuYmxvY2stLXJldmlld3MgLmJsb2NrX19kZXNjcmlwdGlvbi1yYXRpbmctaW5uZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAxLjY4NzVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvZGlzdC9pbWcvc3RhcnMucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjdweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMnJlbSAzLjM3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07IH1cbiAgLmJsb2NrLS1yZXZpZXdzIC5ibG9ja19fZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAuMjVyZW07XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJsb2NrLS1yZXZpZXdzIC5ibG9ja19fZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4zNzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH0gfVxuICAuYmxvY2stLXJldmlld3MgLmJsb2NrX19saW5rIHtcbiAgICBtYXJnaW46IDAuMjVyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYmxvY2stLXJldmlld3MgLmJsb2NrX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4zNzVyZW07IH0gfVxuICAgIC5ibG9jay0tcmV2aWV3cyAuYmxvY2tfX2xpbmsgYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5ibG9jay0tc2lkZWJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuICAuYmxvY2stLXNpZGViYXIgLmJsb2NrX19wcmltYXJ5LWltYWdlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5ibG9jay0tc2lkZWJhciAuYmxvY2tfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5ibG9jay0tc2lkZWJhciAuYmxvY2tfX2ljb24gaSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5ibG9jay0tc2lkZWJhciAuYmxvY2tfX2RldGFpbHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfVxuICAuYmxvY2stLXNpZGViYXIgLmJsb2NrX190aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMC42MjVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggIzAwMDAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEzLCAxMywgMTMsIDAuNSk7IH1cblxuLmJyYW5jaC0taGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnJhbmNoLS1oZWFkZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuYnJhbmNoLS1oZWFkZXIgLmJyYW5jaF9fdGVsZXBob25lIHtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuYnJhbmNoLS1oZWFkZXIgLmJyYW5jaF9fYWRkcmVzcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmJyYW5jaC0taGVhZGVyIC5icmFuY2hfX2FkZHJlc3Mgc3Bhbjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJywnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmJyYW5jaC0taGVhZGVyIC5icmFuY2hfX2FkZHJlc3Mgc3BhbjpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJzsgfVxuXG4uYnJhbmNoLS12ZWhpY2xlLXN1bW1hcnkge1xuICBwYWRkaW5nOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQwZDBkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmJyYW5jaC0tdmVoaWNsZS1zdW1tYXJ5IC5icmFuY2hfX2FkZHJlc3Mge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5icmFuY2gtLXZlaGljbGUtc3VtbWFyeSAuYnJhbmNoX19hZGRyZXNzIHNwYW46OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcsJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5icmFuY2gtLXZlaGljbGUtc3VtbWFyeSAuYnJhbmNoX19hZGRyZXNzIHNwYW46bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7IH1cblxuLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQge1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMWExYTFhOyB9XG4gIC5jdXN0b20tZW50cnktLWZlYXR1cmVkIC5jdXN0b20tZW50cnlfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIC5jdXN0b20tZW50cnktLWZlYXR1cmVkIC5jdXN0b20tZW50cnlfX2Rlc2NyaXB0aW9uIHtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jdXN0b20tZW50cnktLWZlYXR1cmVkIC5jdXN0b20tZW50cnlfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfSB9XG5cbi5uby1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiA3NSU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjIyMjI7IH1cbiAgLm5vLWltYWdlX190ZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnZlaGljbGUtLXJlY2VudGx5LXZpZXdlZCAubm8taW1hZ2UgLm5vLWltYWdlX190ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuMzc1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLnZlaGljbGUtLWZ1bGwgLm5vLWltYWdlIC5uby1pbWFnZV9fdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjgxMjVyZW07XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cblxuLnZlaGljbGUtLXNpbWlsYXIgLm5vLWltYWdlIC5uby1pbWFnZV9fdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC52ZWhpY2xlLS1jb21wYXJlIC5uby1pbWFnZSB7XG4gICAgaGVpZ2h0OiAxMS4yNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAudmVoaWNsZS0tdGVhc2VyIC5uby1pbWFnZSAubm8taW1hZ2VfX3RleHQsXG4gIC52ZWhpY2xlLS1mZWF0dXJlZCAubm8taW1hZ2UgLm5vLWltYWdlX190ZXh0LFxuICAudmVoaWNsZS0tZmVhdHVyZWQtc2lkZWJhciAubm8taW1hZ2UgLm5vLWltYWdlX190ZXh0LFxuICAudmVoaWNsZS0tbGF0ZXN0IC5uby1pbWFnZSAubm8taW1hZ2VfX3RleHQsXG4gIC52ZWhpY2xlLS1sYXRlc3Qtc2lkZWJhciAubm8taW1hZ2UgLm5vLWltYWdlX190ZXh0LFxuICAudmVoaWNsZS0tc2ltaWxhciAubm8taW1hZ2UgLm5vLWltYWdlX190ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAtMC44MTI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH0gfVxuXG4udmVoaWNsZS0tZmVhdHVyZWQtc2lkZWJhciAubm8taW1hZ2Uge1xuICBwYWRkaW5nLXRvcDogMTAwJTsgfVxuXG4ucHJpbWFyeS1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucHJpbWFyeS1pbWFnZV9fZGV0YWlscyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcmltYXJ5LWltYWdlX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyB9IH1cbiAgLnByaW1hcnktaW1hZ2VfX3RpdGxlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4ICMwMDAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTMsIDEzLCAwLjUpOyB9XG4gICAgLnByaW1hcnktaW1hZ2VfX3RpdGxlIGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnByaW1hcnktaW1hZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4ICMwMDAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTMsIDEzLCAwLjUpOyB9XG5cbi5wYWdlLS1ob21lIC5wYWdlX19wcmltYXJ5LWltYWdlcyB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICAucGFnZS0taG9tZSAucGFnZV9fcHJpbWFyeS1pbWFnZXM6OmJlZm9yZSwgLnBhZ2UtLWhvbWUgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5wYWdlLS1ob21lIC5wYWdlX19wcmltYXJ5LWltYWdlczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLnBhZ2UtLWhvbWUgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAucGFnZS0taG9tZSAucGFnZV9fcHJpbWFyeS1pbWFnZXMsIC5wYWdlLS1ob21lIC5wYWdlX19wcmltYXJ5LWltYWdlczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLS1ob21lIC5wYWdlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLS1ob21lIC5wYWdlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIG1heC13aWR0aDogOTByZW07IH1cbiAgICAgIC5wYWdlLS1ob21lIC5wYWdlX19wcmltYXJ5LWltYWdlczo6YmVmb3JlLCAucGFnZS0taG9tZSAucGFnZV9fcHJpbWFyeS1pbWFnZXM6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzOjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAucGFnZS0taG9tZSAucGFnZV9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzLCAucGFnZS0taG9tZSAucGFnZV9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBub25lOyB9IH1cbiAgLnBhZ2UtLWhvbWUgLnBhZ2VfX3ByaW1hcnktaW1hZ2VzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ucGFnZS0taG9tZSAucGFnZV9fc2VhcmNoIHtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX3NlYXJjaCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuXG4ucGFnZS0taG9tZSAucGFnZV9fYmxvY2tzIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2Jsb2NrcyB7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICAucGFnZS0taG9tZSAucGFnZV9fYmxvY2tzOjpiZWZvcmUsIC5wYWdlLS1ob21lIC5wYWdlX19ibG9ja3M6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2Jsb2Nrczo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLS1ob21lIC5wYWdlX19ibG9ja3Mge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2Jsb2NrczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAucGFnZS0taG9tZSAucGFnZV9fYmxvY2tzLCAucGFnZS0taG9tZSAucGFnZV9fYmxvY2tzOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbm9uZTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2Jsb2NrcyB7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIG1heC13aWR0aDogOTByZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5wYWdlLS1ob21lIC5wYWdlX19ibG9ja3M6OmJlZm9yZSwgLnBhZ2UtLWhvbWUgLnBhZ2VfX2Jsb2Nrczo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY29udGVudDogJyAnOyB9XG4gICAgICAucGFnZS0taG9tZSAucGFnZV9fYmxvY2tzOjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAucGFnZS0taG9tZSAucGFnZV9fYmxvY2tzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5wYWdlLS1ob21lIC5wYWdlX19ibG9ja3MsIC5wYWdlLS1ob21lIC5wYWdlX19ibG9ja3M6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBub25lOyB9IH1cblxuLnBhZ2UtLWhvbWUgLnBhZ2VfX2NvbnRlbnQge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2NvbnRlbnQ6OmJlZm9yZSwgLnBhZ2UtLWhvbWUgLnBhZ2VfX2NvbnRlbnQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2NvbnRlbnQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLS1ob21lIC5wYWdlX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5wYWdlLS1ob21lIC5wYWdlX19jb250ZW50LCAucGFnZS0taG9tZSAucGFnZV9fY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLS1ob21lIC5wYWdlX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbi5wYWdlLS1ob21lIC5wYWdlX19kdWUtaW4tc2hvcnRseSB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLS1ob21lIC5wYWdlX19kdWUtaW4tc2hvcnRseSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuXG4ucGFnZS0taG9tZSAucGFnZV9fdGl0bGUsXG4ucGFnZS0taG9tZSAucGFnZV9fc3ViLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLS1ob21lIC5wYWdlX190aXRsZSxcbiAgICAucGFnZS0taG9tZSAucGFnZV9fc3ViLXRpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5wYWdlLS1ob21lIC5wYWdlX19kZXNjcmlwdGlvbiB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLS1ob21lIC5wYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAucGFnZS0taG9tZSAucGFnZV9fZGVzY3JpcHRpb24gYTpub3QoLmJ1dHRvbikge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2Rlc2NyaXB0aW9uIGE6bm90KC5idXR0b24pOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAucGFnZS0taG9tZSAucGFnZV9fZGVzY3JpcHRpb24gcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5wYWdlLS1ob21lIC5wYWdlX19kZXNjcmlwdGlvbiAuZXhwYW5kIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2LjI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiA0LjY4NzVyZW07XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgYmxhY2sgMCUsIGJsYWNrIDI1JSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTsgfVxuXG4ucGFnZS0taG9tZSAucGFnZV9fcmV2aWV3cyB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICAucGFnZS0taG9tZSAucGFnZV9fcmV2aWV3czo6YmVmb3JlLCAucGFnZS0taG9tZSAucGFnZV9fcmV2aWV3czo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAucGFnZS0taG9tZSAucGFnZV9fcmV2aWV3czo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX3Jldmlld3Mge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAucGFnZS0taG9tZSAucGFnZV9fcmV2aWV3czpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnBhZ2UtLWhvbWUgLnBhZ2VfX3Jldmlld3MsIC5wYWdlLS1ob21lIC5wYWdlX19yZXZpZXdzOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX3Jldmlld3Mge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuLnBhZ2UtLWhvbWUgLnBhZ2VfX2ZlYXR1cmVkLXZlaGljbGVzIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5wYWdlLS1ob21lIC5wYWdlX19mZWF0dXJlZC12ZWhpY2xlczo6YmVmb3JlLCAucGFnZS0taG9tZSAucGFnZV9fZmVhdHVyZWQtdmVoaWNsZXM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2ZlYXR1cmVkLXZlaGljbGVzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0taG9tZSAucGFnZV9fZmVhdHVyZWQtdmVoaWNsZXMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAucGFnZS0taG9tZSAucGFnZV9fZmVhdHVyZWQtdmVoaWNsZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5wYWdlLS1ob21lIC5wYWdlX19mZWF0dXJlZC12ZWhpY2xlcywgLnBhZ2UtLWhvbWUgLnBhZ2VfX2ZlYXR1cmVkLXZlaGljbGVzOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2ZlYXR1cmVkLXZlaGljbGVzIHtcbiAgICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfVxuICAgICAgLnBhZ2UtLWhvbWUgLnBhZ2VfX2ZlYXR1cmVkLXZlaGljbGVzOjpiZWZvcmUsIC5wYWdlLS1ob21lIC5wYWdlX19mZWF0dXJlZC12ZWhpY2xlczo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY29udGVudDogJyAnOyB9XG4gICAgICAucGFnZS0taG9tZSAucGFnZV9fZmVhdHVyZWQtdmVoaWNsZXM6OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5wYWdlLS1ob21lIC5wYWdlX19mZWF0dXJlZC12ZWhpY2xlczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAucGFnZS0taG9tZSAucGFnZV9fZmVhdHVyZWQtdmVoaWNsZXMsIC5wYWdlLS1ob21lIC5wYWdlX19mZWF0dXJlZC12ZWhpY2xlczpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuXG4uc2VhcmNoIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuc2VhcmNoX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDAuOTM3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA1ZGFkO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAuc2VhcmNoX19oZWFkZXIgbGVnZW5kIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41NjI1cmVtO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuc2VhcmNoX19oZWFkZXIgLmJ1dHRvbiB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnNlYXJjaCAuc2VhcmNoX19mb3JtIHtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBkMGQwZDsgfVxuICAuc2VhcmNoIC5oZWxwLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAuc2VhcmNoIGxhYmVsLmNvbnRyb2wtbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnNlYXJjaCBzZWxlY3Qge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnNlYXJjaCAuZm9ybS1ncm91cCBkaXYgbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zZWFyY2ggLmZvcm0tZ3JvdXAgZGl2IGxhYmVsIC5sYWJlbC1jb3VudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4xODc1cmVtO1xuICAgICAgY29sb3I6ICM5OTk5OTk7IH1cbiAgICAuc2VhcmNoIC5mb3JtLWdyb3VwIGRpdiBsYWJlbCBpbnB1dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zZWFyY2ggLmZvcm0tZ3JvdXAgZGl2Om5vdCguaGVscC1ibG9jayk6bm90KCNwcmljZV90eXBlKSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNmU2ZTY7IH1cbiAgLnNlYXJjaCAuZm9ybS1ncm91cCBkaXYjY29sb3VycyBsYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC42MjVyZW07XG4gICAgcmlnaHQ6IDAuNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gIC5zZWFyY2ggLmZvcm0tZ3JvdXAgZGl2I2NvbG91cnMgbGFiZWxbZm9yPWNvbG91cnMtd2hpdGVdOjphZnRlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIC5zZWFyY2ggLnNlYXJjaF9fcHJpY2UgLmZpZWxkLXByaWNlX3R5cGUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtOyB9XG4gICAgICAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV90eXBlIGxhYmVsIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV90eXBlIGxhYmVsIC5sYWJlbC12YWx1ZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMC4xODc1cmVtIDA7XG4gICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAgICAgLnNlYXJjaCAuc2VhcmNoX19wcmljZSAuZmllbGQtcHJpY2VfdHlwZSBsYWJlbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgLnNlYXJjaCAuc2VhcmNoX19wcmljZSAuZmllbGQtcHJpY2VfdHlwZSBpbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5zZWFyY2ggLnNlYXJjaF9fcHJpY2UgLmZpZWxkLXByaWNlX3R5cGUgaW5wdXQ6Y2hlY2tlZCArIC5sYWJlbC12YWx1ZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV90eXBlIGlucHV0OmNoZWNrZWQgKyAubGFiZWwtdmFsdWU6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuMzEyNXJlbTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuOTk5OSk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgIzIyMjIyMjsgfVxuICAgIC5zZWFyY2ggLnNlYXJjaF9fcHJpY2UgLmZpZWxkLXByaWNlX21pbixcbiAgICAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV9tb250aGx5X21pbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjE4NzVyZW07IH1cbiAgICAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV9tYXgsXG4gICAgLnNlYXJjaCAuc2VhcmNoX19wcmljZSAuZmllbGQtcHJpY2VfbW9udGhseV9tYXgge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjE4NzVyZW07IH1cbiAgLnNlYXJjaCAuc2hvdy1tb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zZWFyY2ggLmZpZWxkLXN1Ym1pdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucGFnZS0taG9tZSAuc2VhcmNoIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucGFnZS0taG9tZSAuc2VhcmNoOjpiZWZvcmUsIC5wYWdlLS1ob21lIC5zZWFyY2g6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnBhZ2UtLWhvbWUgLnNlYXJjaDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnNlYXJjaCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5wYWdlLS1ob21lIC5zZWFyY2g6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5wYWdlLS1ob21lIC5zZWFyY2gsIC5wYWdlLS1ob21lIC5zZWFyY2g6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLnBhZ2UtLWhvbWUgLnNlYXJjaCAuc2VhcmNoX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBhZ2UtLWhvbWUgLnNlYXJjaCAuc2VhcmNoX19mb3JtIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhZ2UtLWhvbWUgLnNlYXJjaCAuc2VhcmNoX19mb3JtIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnNlYXJjaCAuaGVscC1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLnBhZ2UtLWhvbWUgLnNlYXJjaCBsYWJlbC5jb250cm9sLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLS1ob21lIC5zZWFyY2ggc2VsZWN0IHtcbiAgICBoZWlnaHQ6IDMuMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnBhZ2UtLWhvbWUgLnNlYXJjaCBzZWxlY3Qge1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLS1ob21lIC5zZWFyY2ggLmZpZWxkLW1ha2Vfc2x1ZyxcbiAgICAucGFnZS0taG9tZSAuc2VhcmNoIC5maWVsZC1tb2RlbF9zbHVnLFxuICAgIC5wYWdlLS1ob21lIC5zZWFyY2ggLmZpZWxkLXN1Ym1pdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAyMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLS1ob21lIC5zZWFyY2ggLmZpZWxkLW1ha2Vfc2x1ZyxcbiAgICAucGFnZS0taG9tZSAuc2VhcmNoIC5maWVsZC1tb2RlbF9zbHVnLFxuICAgIC5wYWdlLS1ob21lIC5zZWFyY2ggLmZpZWxkLXN1Ym1pdCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnNlYXJjaCAuc2VhcmNoX19wcmljZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnNlYXJjaCAuc2VhcmNoX19wcmljZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5wYWdlLS1ob21lIC5zZWFyY2ggLnNlYXJjaF9fcHJpY2UgLmZpZWxkLXByaWNlX3R5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS0taG9tZSAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV90eXBlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0taG9tZSAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV9taW4sXG4gICAgLnBhZ2UtLWhvbWUgLnNlYXJjaCAuc2VhcmNoX19wcmljZSAuZmllbGQtcHJpY2VfbW9udGhseV9taW4ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLS1ob21lIC5zZWFyY2ggLnNlYXJjaF9fcHJpY2UgLmZpZWxkLXByaWNlX21pbixcbiAgICAucGFnZS0taG9tZSAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV9tb250aGx5X21pbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLS1ob21lIC5zZWFyY2ggLnNlYXJjaF9fcHJpY2UgLmZpZWxkLXByaWNlX21heCxcbiAgICAucGFnZS0taG9tZSAuc2VhcmNoIC5zZWFyY2hfX3ByaWNlIC5maWVsZC1wcmljZV9tb250aGx5X21heCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2UtLWhvbWUgLnNlYXJjaCAuc2VhcmNoX19wcmljZSAuZmllbGQtcHJpY2VfbWF4LFxuICAgIC5wYWdlLS1ob21lIC5zZWFyY2ggLnNlYXJjaF9fcHJpY2UgLmZpZWxkLXByaWNlX21vbnRobHlfbWF4IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS0taG9tZSAuc2VhcmNoLS1maW5hbmNlIC5maWVsZC1tYWtlX3NsdWcsXG4gICAgLnBhZ2UtLWhvbWUgLnNlYXJjaC0tZmluYW5jZSAuZmllbGQtbW9kZWxfc2x1ZyxcbiAgICAucGFnZS0taG9tZSAuc2VhcmNoLS1maW5hbmNlIC5maWVsZC1zdWJtaXQge1xuICAgICAgbWFyZ2luLXRvcDogMi42ODc1cmVtOyB9IH1cblxuLnRvZ2dsZXIgLnNlYXJjaCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnRvZ2dsZXIgLnNlYXJjaCAuc2VhcmNoX19oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTsgfVxuXG4uc2Vuc2ktc3Bpbm5lci1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTMsIDEzLCAwLjc1KTsgfVxuXG4uc2stc3Bpbm5lci10aHJlZS1ib3VuY2UgZGl2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkwNWRhZDsgfVxuXG4ucHJpY2VfX3RvdGFsIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5wcmljZV9fc29sZCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5wcmljZS0tdGVhc2VyID4gZGl2Om50aC1jaGlsZCgxKSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbi5wcmljZS0tdGVhc2VyID4gZGl2Om50aC1jaGlsZCgyKSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLnByaWNlLS1mdWxsIC5wcmljZV9fdG90YWwsXG4ucHJpY2UtLWZ1bGwgLnByaWNlX19zb2xkIHtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcmljZS0tZnVsbCAucHJpY2VfX3RvdGFsLFxuICAgIC5wcmljZS0tZnVsbCAucHJpY2VfX3NvbGQge1xuICAgICAgZm9udC1zaXplOiAyLjEyNXJlbTsgfSB9XG5cbi5wcmljZS0tZnVsbCAucHJpY2VfX21vbnRobHkge1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG4ucHJpY2UtLWNvbXBhcmUgLnByaWNlX190b3RhbCxcbi5wcmljZS0tY29tcGFyZSAucHJpY2VfX3NvbGQge1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbi5wcmljZS0tcmVjZW50bHktdmlld2VkIC5wcmljZV9fdG90YWwsXG4ucHJpY2UtLXJlY2VudGx5LXZpZXdlZCAucHJpY2VfX3NvbGQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4ucHJpY2UtLWZlYXR1cmVkIC5wcmljZV9fdG90YWwsXG4ucHJpY2UtLWZlYXR1cmVkIC5wcmljZV9fc29sZCwgLnByaWNlLS1zaW1pbGFyIC5wcmljZV9fdG90YWwsXG4ucHJpY2UtLXNpbWlsYXIgLnByaWNlX19zb2xkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4ICMwMDAwMDA7IH1cblxuLnByaWNlLWNvbWJpbmVkX192YWx1ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ucHJpY2UtY29tYmluZWRfX3ZhdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogNjUlOyB9XG5cbi5wcmljZS1jb21iaW5lZF9fd2FzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAucHJpY2UtY29tYmluZWRfX3dhcy1sYWJlbCB7XG4gICAgZm9udC1zaXplOiA2NSU7IH1cbiAgLnByaWNlLWNvbWJpbmVkX193YXMtdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogNzUlOyB9XG5cbi52ZWhpY2xlLS1mZWF0dXJlZC1zaWRlYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC52ZWhpY2xlLS1mZWF0dXJlZC1zaWRlYmFyIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC52ZWhpY2xlLS1mZWF0dXJlZC1zaWRlYmFyIC52ZWhpY2xlX19tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC52ZWhpY2xlLS1mZWF0dXJlZC1zaWRlYmFyIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC42MjVyZW07IH1cbiAgLnZlaGljbGUtLWZlYXR1cmVkLXNpZGViYXIgLnZlaGljbGVfX3RpdGxlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4ICMwMDAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTMsIDEzLCAwLjUpOyB9XG4gICAgLnZlaGljbGUtLWZlYXR1cmVkLXNpZGViYXIgLnZlaGljbGVfX3RpdGxlIGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnZlaGljbGUtLWZlYXR1cmVkLXNpZGViYXIgLnZlaGljbGVfX3ByaWNlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEzLCAxMywgMTMsIDAuNSk7IH1cblxuLnZlaGljbGUtLWZlYXR1cmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC52ZWhpY2xlLS1mZWF0dXJlZCAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudmVoaWNsZS0tZmVhdHVyZWQgLnZlaGljbGVfX21lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLnZlaGljbGUtLWZlYXR1cmVkIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLWZlYXR1cmVkIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyB9IH1cbiAgLnZlaGljbGUtLWZlYXR1cmVkIC52ZWhpY2xlX190aXRsZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTMsIDEzLCAxMywgMC41KTsgfVxuICAgIC52ZWhpY2xlLS1mZWF0dXJlZCAudmVoaWNsZV9fdGl0bGUgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAudmVoaWNsZS0tZmVhdHVyZWQgLnZlaGljbGVfX3ByaWNlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEzLCAxMywgMTMsIDAuNSk7IH1cblxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RvcCB7XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RvcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190b3AtaW5uZXIge1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RvcC1pbm5lcjo6YmVmb3JlLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdG9wLWlubmVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190b3AtaW5uZXI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190b3AgLnZlaGljbGVfX3Byb21vLXRleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgIHRvcDogaW5oZXJpdDtcbiAgICBsZWZ0OiBpbmhlcml0O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190b3AgLnZlaGljbGVfX2RldGFpbHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RvcCAudmVoaWNsZV9fZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190b3AgLnZlaGljbGVfX2RldGFpbHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdG9wIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICAgICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdG9wIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190b3AgLnZlaGljbGVfX2RldGFpbHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RvcCAudmVoaWNsZV9fZGV0YWlscyB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190b3AgLnZlaGljbGVfX2RldGFpbHMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190b3AgLnZlaGljbGVfX2RldGFpbHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdG9wIC52ZWhpY2xlX19kZXRhaWxzIC52ZWhpY2xlX19kZXRhaWxzLWlubmVyIHtcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBkMGQwZDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RvcCAudmVoaWNsZV9fZGV0YWlscyAudmVoaWNsZV9fZGV0YWlscy1pbm5lciB7XG4gICAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyB9IH1cbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190b3AgLnZlaGljbGVfX2RldGFpbHMgLnZlaGljbGVfX2RldGFpbHMtaW5uZXIgLnZlaGljbGVfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdG9wIC52ZWhpY2xlX19kZXRhaWxzIC52ZWhpY2xlX19kZXRhaWxzLWlubmVyIC52ZWhpY2xlX190aXRsZSAudmVoaWNsZV9fbW9kZWwtdmFyaWFudCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RvcCAudmVoaWNsZV9fZGV0YWlscyAudmVoaWNsZV9fZGV0YWlscy1pbm5lciAudmVoaWNsZV9fcHJpY2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMWExYTFhOyB9XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdG9wIC52ZWhpY2xlX19kZXRhaWxzIC52ZWhpY2xlX19kZXRhaWxzLWlubmVyIC52ZWhpY2xlX190ZWxlcGhvbmUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtOyB9XG4gICAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190b3AgLnZlaGljbGVfX2RldGFpbHMgLnZlaGljbGVfX2RldGFpbHMtaW5uZXIgLnZlaGljbGVfX3RlbGVwaG9uZSBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190b3AgLnZlaGljbGVfX2RldGFpbHMgLnZlaGljbGVfX2RldGFpbHMtaW5uZXIgLnZlaGljbGVfX2N0YSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cblxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2JhY2sge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2JhY2sge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYmFjazpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2JhY2sgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYmFjayBhIGkge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2JhY2sgYSBzcGFuIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fbWVkaWEge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fbWVkaWEge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fbWVkaWE6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fbWVkaWEge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fbWVkaWEge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fbWVkaWE6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX21lZGlhIHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19tZWRpYSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fbWVkaWE6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB1bCB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMtdGh1bWJuYWlscyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDAuMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMtdGh1bWJuYWlscyB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3BhcnQtZXhjaGFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3BhcnQtZXhjaGFuZ2Uge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fcGFydC1leGNoYW5nZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fcGFydC1leGNoYW5nZSB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fcGFydC1leGNoYW5nZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fcGFydC1leGNoYW5nZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQ6OmJlZm9yZSwgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsID4gLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC52ZWhpY2xlLS1mdWxsID4gLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkLCAudmVoaWNsZS0tZnVsbCA+IC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsID4gLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsID4gLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsID4gLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC52ZWhpY2xlLS1mdWxsID4gLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWw6OmJlZm9yZSwgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bDo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgICAgICAudmVoaWNsZS0tZnVsbCA+IC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsOjphZnRlciB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgIC52ZWhpY2xlLS1mdWxsID4gLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgICAudmVoaWNsZS0tZnVsbCA+IC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgICAudmVoaWNsZS0tZnVsbCA+IC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCA+IC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCA+IC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC52ZWhpY2xlLS1mdWxsID4gLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWw6OmJlZm9yZSwgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bDo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgICAgICAudmVoaWNsZS0tZnVsbCA+IC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsOjphZnRlciB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgICAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAgIC52ZWhpY2xlLS1mdWxsID4gLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaTpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgIC52ZWhpY2xlLS1mdWxsID4gLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgICAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCBpbnB1dCxcbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCBzZWxlY3QsXG4gICAgICAgIC52ZWhpY2xlLS1mdWxsID4gLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgYSxcbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCBidXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAudmVoaWNsZS0tZnVsbCA+IC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGkge1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAudmVoaWNsZS0tZnVsbCA+IC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGkge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH0gfVxuXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeTo6YmVmb3JlLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnksIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5Omxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bDo6YmVmb3JlLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWw6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGk6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXN1bW1hcnkgPiB1bCA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5ID4gdWwgPiBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMCAwLjkzNzVyZW0gMC4yNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSA+IHVsID4gbGk6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9IH1cblxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3VsZXoge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3VsZXo6OmJlZm9yZSwgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3VsZXo6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3VsZXo6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX191bGV6IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3VsZXo6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX191bGV6LCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdWxlejpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX191bGV6IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX191bGV6LWlubmVyIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQwZDBkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdWxleiBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX191bGV6IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdWxleiBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3VsZXogYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMC44NzVyZW07XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MDVkYWQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX191bGV6IGEge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX191bGV6IGE6aG92ZXIsIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX191bGV6IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdiNGM5NjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXNjcmlwdGlvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXNjcmlwdGlvbiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGVzY3JpcHRpb24gLmV4cGFuZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNi4yNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogNC42ODc1cmVtO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIGJsYWNrIDAlLCBibGFjayAyNSUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2Rlc2NyaXB0aW9uLW91dGVyIHtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXNjcmlwdGlvbi1vdXRlcjo6YmVmb3JlLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGVzY3JpcHRpb24tb3V0ZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2Rlc2NyaXB0aW9uLW91dGVyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGVzY3JpcHRpb24tb3V0ZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGVzY3JpcHRpb24tb3V0ZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZGVzY3JpcHRpb24tb3V0ZXIsIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXNjcmlwdGlvbi1vdXRlcjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kZXNjcmlwdGlvbi1vdXRlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19pbmNsdWRlcyB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9faW5jbHVkZXM6OmJlZm9yZSwgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2luY2x1ZGVzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19pbmNsdWRlczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2luY2x1ZGVzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2luY2x1ZGVzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9faW5jbHVkZXMsIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19pbmNsdWRlczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19pbmNsdWRlcyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9faW5jbHVkZXMgdWwge1xuICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2luY2x1ZGVzIHVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2luY2x1ZGVzIHVsIGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19pbmNsdWRlcyB1bCBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19pbmNsdWRlcyB1bCBsaTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMTg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGU1Y2EnOyB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19yZXZpZXdzIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fcmV2aWV3czo6YmVmb3JlLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fcmV2aWV3czo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fcmV2aWV3czo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3Jldmlld3Mge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fcmV2aWV3czpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3Jldmlld3MsIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19yZXZpZXdzOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19icmFuY2gtc3VtbWFyeSB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYnJhbmNoLXN1bW1hcnk6OmJlZm9yZSwgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2JyYW5jaC1zdW1tYXJ5OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19icmFuY2gtc3VtbWFyeTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2JyYW5jaC1zdW1tYXJ5IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2JyYW5jaC1zdW1tYXJ5Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYnJhbmNoLXN1bW1hcnksIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19icmFuY2gtc3VtbWFyeTpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19icmFuY2gtc3VtbWFyeSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzLWlubmVyIHtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMtaW5uZXI6OmJlZm9yZSwgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMtaW5uZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMtaW5uZXI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzLWlubmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMtaW5uZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcy1pbm5lciwgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMtaW5uZXI6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbm9uZTsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcyB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzIHVsIGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcyB1bCBsaSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcyB1bCBsaSB7XG4gICAgICAgICAgd2lkdGg6IDMzLjMzJTsgfSB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19taWRkbGUge1xuICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fbWlkZGxlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19taWRkbGUtaW5uZXIge1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fbWlkZGxlLWlubmVyOjpiZWZvcmUsIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19taWRkbGUtaW5uZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX21pZGRsZS1pbm5lcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX21pZGRsZS1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19taWRkbGUtaW5uZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fbWlkZGxlLWlubmVyLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fbWlkZGxlLWlubmVyOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cblxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2NvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQwZDBkOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMS4yNXJlbTsgfSB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsOjpiZWZvcmUsIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWw6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaTpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24gPiB1bCA+IGxpIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkge1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjkzNzVyZW07IH0gfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaSAuc3BlY2lmaWNhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uID4gdWwgPiBsaSAuc3BlY2lmaWNhdGlvbl9fdmFsdWUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc3BlY2lmaWNhdGlvbiA+IHVsID4gbGkgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBjb2xvcjogIzk5OTk5OTtcbiAgICAgIGxpc3Qtc3R5bGU6IHNxdWFyZTtcbiAgICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTsgfVxuXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fc3BlY2lmaWNhdGlvbi1idXR0b24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3NwZWNpZmljYXRpb24tYnV0dG9uIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsOjpiZWZvcmUsIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGk6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhID4gdWwgPiBsaTpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkge1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjkzNzVyZW07IH0gfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgLnRlY2huaWNhbC1kYXRhX19sYWJlbDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnOic7IH1cbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEgPiB1bCA+IGxpIC50ZWNobmljYWwtZGF0YV9fdmFsdWUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSA+IHVsID4gbGkgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19kb2N1bWVudHMgdWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fZG9jdW1lbnRzIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIHotaW5kZXg6IDEwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2JvdHRvbSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2JvdHRvbS1pbm5lciB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2JvdHRvbS1pbm5lcjo6YmVmb3JlLCAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYm90dG9tLWlubmVyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19ib3R0b20taW5uZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYm90dG9tLXRlbGVwaG9uZSB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYm90dG9tLXRlbGVwaG9uZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19ib3R0b20tdGVsZXBob25lOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAudmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYm90dG9tLXRlbGVwaG9uZSBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4udmVoaWNsZS0tZnVsbCAudmVoaWNsZV9fYm90dG9tLWN0YSB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19ib3R0b20tY3RhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLnZlaGljbGUtLWZ1bGwgLnZlaGljbGVfX2JvdHRvbS1jdGE6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC52ZWhpY2xlLS1mdWxsIC52ZWhpY2xlX19ib3R0b20tY3RhIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuLnZlaGljbGUtLXNpbWlsYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnZlaGljbGUtLXNpbWlsYXIgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnZlaGljbGUtLXNpbWlsYXIgLnZlaGljbGVfX21lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLnZlaGljbGUtLXNpbWlsYXIgLnZlaGljbGVfX2RldGFpbHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tc2ltaWxhciAudmVoaWNsZV9fZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfSB9XG4gIC52ZWhpY2xlLS1zaW1pbGFyIC52ZWhpY2xlX190aXRsZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTMsIDEzLCAxMywgMC41KTsgfVxuICAgIC52ZWhpY2xlLS1zaW1pbGFyIC52ZWhpY2xlX190aXRsZSBhIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC52ZWhpY2xlLS1zaW1pbGFyIC52ZWhpY2xlX19wcmljZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IGxlZnQ7XG4gICAgcGFkZGluZzogMC42MjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTMsIDEzLCAwLjUpOyB9XG5cbi52ZWhpY2xlLS10ZWFzZXIge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMxYTFhMWE7IH1cbiAgLnZlaGljbGUtLXRlYXNlcjo6YmVmb3JlLCAudmVoaWNsZS0tdGVhc2VyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC52ZWhpY2xlLS10ZWFzZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS10ZWFzZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDsgfVxuICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX2RldGFpbHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX2RldGFpbHMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX2RldGFpbHMge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX2RldGFpbHMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX2RldGFpbHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9faGVhZGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19oZWFkZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19oZWFkZXI6OmJlZm9yZSwgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9faGVhZGVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX2hlYWRlcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9faGVhZGVyIHtcbiAgICAgICAgbWluLWhlaWdodDogNC4zNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19oZWFkZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiA1cmVtOyB9IH1cbiAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX190aXRsZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX190aXRsZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3RpdGxlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX190aXRsZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3RpdGxlIC52ZWhpY2xlX19tYWtlLFxuICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3RpdGxlIC52ZWhpY2xlX19tb2RlbCB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fdGl0bGUgLnZlaGljbGVfX21vZGVsLXZhcmlhbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3ByaWNlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3ByaWNlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fcHJpY2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fcHJpY2Uge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fcHJpY2Uge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3ByaWNlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQge1xuICAgICAgbWluLWhlaWdodDogNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQge1xuICAgICAgbWluLWhlaWdodDogNS42MjVyZW07IH0gfVxuICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuICAgICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGkge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGkge1xuICAgICAgICAgICAgb3V0bGluZTogMDsgfVxuICAgICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsIGlucHV0LFxuICAgICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsIHNlbGVjdCxcbiAgICAgICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCBhLFxuICAgICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsIGJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCA+IHVsID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaSAudGVjaG5pY2FsLWRhdGFfX2xhYmVsOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJzonO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4xODc1cmVtOyB9XG4gICAgICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaSAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJywnO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4xODc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQgPiB1bCA+IGxpOmxhc3QtY2hpbGQgLnRlY2huaWNhbC1kYXRhX192YWx1ZTo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkID4gdWwgPiBsaSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH0gfVxuICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMuNXJlbTsgfSB9XG4gIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX2Zvb3RlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19mb290ZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fZm9vdGVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX2Zvb3RlciB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fZm9vdGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19mb290ZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19mb290ZXItaW5uZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19mb290ZXItaW5uZXIge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19mb290ZXItaW5uZXIge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19mb290ZXItaW5uZXI6OmJlZm9yZSwgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fZm9vdGVyLWlubmVyOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjb250ZW50OiAnICc7IH1cbiAgICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX2Zvb3Rlci1pbm5lcjo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19saW5rIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19saW5rIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnZlaGljbGUtLXRlYXNlciAudmVoaWNsZV9fbGluazpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19maW5hbmNlIHtcbiAgICB3aWR0aDogNzUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX2ZpbmFuY2Uge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAudmVoaWNsZS0tdGVhc2VyIC52ZWhpY2xlX19maW5hbmNlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC52ZWhpY2xlLS10ZWFzZXIgLnZlaGljbGVfX2ZpbmFuY2Utc3VtbWFyeSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnZlaGljbGUtLXRlYXNlciAuZHJvcGRvd24tcGFuZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnZlaGljbGVfX21lZGlhLWNvdW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7IH1cbiAgLnZlaGljbGVfX21lZGlhLWNvdW50ID4gdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEzLCAxMywgMTMsIDAuMik7IH1cbiAgICAudmVoaWNsZV9fbWVkaWEtY291bnQgPiB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjEyNXJlbTsgfVxuICAgICAgLnZlaGljbGVfX21lZGlhLWNvdW50ID4gdWwgbGkgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnZlaGljbGVfX3Byb21vLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC41cmVtO1xuICBsZWZ0OiAwLjVyZW07IH1cbiAgLnZlaGljbGVfX3Byb21vLXRleHQgc3BhbiB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzkwNWRhZDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuLmwtYnJlYWRjcnVtYnMge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubC1icmVhZGNydW1icyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5sLWhlYWRlcl9faW5uZXIge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5sLWhlYWRlcl9faW5uZXI6OmJlZm9yZSwgLmwtaGVhZGVyX19pbm5lcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubC1oZWFkZXJfX2lubmVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubC1oZWFkZXJfX2lubmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cblxuLmwtaGVhZGVyX19maXJzdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sLWhlYWRlcl9fZmlyc3Qge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubC1oZWFkZXJfX2ZpcnN0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sLWhlYWRlcl9fZmlyc3Qge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sLWhlYWRlcl9fZmlyc3Qge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmwtaGVhZGVyX19maXJzdDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmwtaGVhZGVyX19zZWNvbmQge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmwtaGVhZGVyX19zZWNvbmQge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sLWhlYWRlcl9fc2Vjb25kIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sLWhlYWRlcl9fc2Vjb25kOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4ubC1oZWFkZXJfX3RoaXJkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sLWhlYWRlcl9fdGhpcmQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubC1oZWFkZXJfX3RoaXJkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sLWhlYWRlcl9fdGhpcmQge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmwtaGVhZGVyX190aGlyZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubC1oZWFkZXJfX3RoaXJkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4ubm90LWZyb250IC5sLWhlYWRlcl9fZmlyc3Qge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm5vdC1mcm9udCAubC1oZWFkZXJfX2ZpcnN0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmwtbWFpbi0tYXNpZGUsIC5sLW1haW4tLWFzaWRlLWRlc2t0b3AsIC5sLW1haW4tLWZ1bGwtd2lkdGgge1xuICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sLW1haW4tLWFzaWRlLCAubC1tYWluLS1hc2lkZS1kZXNrdG9wLCAubC1tYWluLS1mdWxsLXdpZHRoIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuLmwtbWFpbi0tYXNpZGUgLmwtbWFpbl9faW5uZXIge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5sLW1haW4tLWFzaWRlIC5sLW1haW5fX2lubmVyOjpiZWZvcmUsIC5sLW1haW4tLWFzaWRlIC5sLW1haW5fX2lubmVyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5sLW1haW4tLWFzaWRlIC5sLW1haW5fX2lubmVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmwtbWFpbi0tYXNpZGUgLmwtbWFpbl9fYXNpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmwtbWFpbi0tYXNpZGUgLmwtbWFpbl9fYXNpZGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubC1tYWluLS1hc2lkZSAubC1tYWluX19hc2lkZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubC1tYWluLS1hc2lkZSAubC1tYWluX19hc2lkZSB7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAtNzUlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmwtbWFpbi0tYXNpZGUgLmwtbWFpbl9fYXNpZGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmwtbWFpbi0tYXNpZGUgLmwtbWFpbl9fYXNpZGU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5sLW1haW4tLWFzaWRlIC5sLW1haW5fX3NlY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmwtbWFpbi0tYXNpZGUgLmwtbWFpbl9fc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5sLW1haW4tLWFzaWRlIC5sLW1haW5fX3NlY3Rpb246bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmwtbWFpbi0tYXNpZGUgLmwtbWFpbl9fc2VjdGlvbiB7XG4gICAgICB3aWR0aDogNzUlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAyNSU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubC1tYWluLS1hc2lkZSAubC1tYWluX19zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sLW1haW4tLWFzaWRlIC5sLW1haW5fX3NlY3Rpb246bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5sLW1haW4tLWFzaWRlLWRlc2t0b3AgLmwtbWFpbl9faW5uZXIge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5sLW1haW4tLWFzaWRlLWRlc2t0b3AgLmwtbWFpbl9faW5uZXI6OmJlZm9yZSwgLmwtbWFpbi0tYXNpZGUtZGVza3RvcCAubC1tYWluX19pbm5lcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAubC1tYWluLS1hc2lkZS1kZXNrdG9wIC5sLW1haW5fX2lubmVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmwtbWFpbi0tYXNpZGUtZGVza3RvcCAubC1tYWluX19hc2lkZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubC1tYWluLS1hc2lkZS1kZXNrdG9wIC5sLW1haW5fX2FzaWRlIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6IC03NSU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sLW1haW4tLWFzaWRlLWRlc2t0b3AgLmwtbWFpbl9fYXNpZGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmwtbWFpbi0tYXNpZGUtZGVza3RvcCAubC1tYWluX19hc2lkZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmwtbWFpbi0tYXNpZGUtZGVza3RvcCAubC1tYWluX19zZWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sLW1haW4tLWFzaWRlLWRlc2t0b3AgLmwtbWFpbl9fc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5sLW1haW4tLWFzaWRlLWRlc2t0b3AgLmwtbWFpbl9fc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubC1tYWluLS1hc2lkZS1kZXNrdG9wIC5sLW1haW5fX3NlY3Rpb24ge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogMjUlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmwtbWFpbi0tYXNpZGUtZGVza3RvcCAubC1tYWluX19zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sLW1haW4tLWFzaWRlLWRlc2t0b3AgLmwtbWFpbl9fc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmwtbWFpbi0tZnVsbC13aWR0aCAubC1tYWluX19pbm5lciB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgLmwtbWFpbi0tZnVsbC13aWR0aCAubC1tYWluX19pbm5lcjo6YmVmb3JlLCAubC1tYWluLS1mdWxsLXdpZHRoIC5sLW1haW5fX2lubmVyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5sLW1haW4tLWZ1bGwtd2lkdGggLmwtbWFpbl9faW5uZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sLW1haW4tLWZ1bGwtd2lkdGggLmwtbWFpbl9faW5uZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubC1tYWluLS1mdWxsLXdpZHRoIC5sLW1haW5fX2lubmVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubC1tYWluLS1mdWxsLXdpZHRoIC5sLW1haW5fX2lubmVyLCAubC1tYWluLS1mdWxsLXdpZHRoIC5sLW1haW5fX2lubmVyOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lOyB9XG5cbi5sLW5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjIyMjI7IH1cbiAgLmwtbmF2X19pbm5lciB7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAubC1uYXZfX2lubmVyOjpiZWZvcmUsIC5sLW5hdl9faW5uZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgLmwtbmF2X19pbm5lcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubC1uYXZfX2lubmVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLmwtbmF2X19pbm5lciwgLmwtbmF2X19pbm5lcjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sLW5hdl9faW5uZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICAgIC5sLW5hdl9faW5uZXI6OmJlZm9yZSwgLmwtbmF2X19pbm5lcjo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgICAgICAubC1uYXZfX2lubmVyOjphZnRlciB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubC1uYXZfX2lubmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubC1uYXZfX2lubmVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgICAubC1uYXZfX2lubmVyLCAubC1uYXZfX2lubmVyOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGZsb2F0OiBub25lOyB9IH1cblxuLmZpbmFuY2UtcHJpY2Uge1xuICBsaW5lLWhlaWdodDogMTsgfVxuICAuZmluYW5jZS1wcmljZV9fbGlzdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmZpbmFuY2UtcHJpY2VfX2xpc3QtaXRlbSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLmZpbmFuY2UtcHJpY2VfX2xhYmVsIHtcbiAgICBmb250LXNpemU6IDY1JTsgfVxuICAuZmluYW5jZS1wcmljZV9fdmFsdWUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmZpbmFuY2UtcHJpY2VfX3N1ZmZpeCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogNjUlOyB9XG4gIC5maW5hbmNlLXByaWNlLS1mdWxsIC5maW5hbmNlLXByaWNlX19saXN0LWl0ZW06OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjE4NzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuMTg3NXJlbTtcbiAgICBmb250LXNpemU6IDY1JTtcbiAgICBjb250ZW50OiAnb3InOyB9XG4gIC5maW5hbmNlLXByaWNlLS1mdWxsIC5maW5hbmNlLXByaWNlX19saXN0LWl0ZW06bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZpbmFuY2UtcHJpY2UtLWZ1bGwgLmZpbmFuY2UtcHJpY2VfX2xpbmsgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMC4zNzVyZW0gMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmZpbmFuY2UtZm9ybSB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpbmFuY2UtZm9ybSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZpbmFuY2UtZm9ybSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5maW5hbmNlLWZvcm06OmJlZm9yZSwgLmZpbmFuY2UtZm9ybTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuZmluYW5jZS1mb3JtOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmZpbmFuY2UtZm9ybSAuZmluYW5jZS1mb3JtX190aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpbmFuY2UtZm9ybSAuZmluYW5jZS1mb3JtX190aXRsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5maW5hbmNlLWZvcm0gLmZpbmFuY2UtZm9ybV9fdGl0bGU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmZpbmFuY2UtZm9ybSAuZm9ybS1ncm91cCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maW5hbmNlLWZvcm0gLmZvcm0tZ3JvdXAge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZmluYW5jZS1mb3JtIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5maW5hbmNlLWZvcm0gLmZvcm0tZ3JvdXAge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmluYW5jZS1mb3JtIC5mb3JtLWdyb3VwIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZmluYW5jZS1mb3JtIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5maW5hbmNlLWZvcm0gLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMS41NjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZpbmFuY2Utc3VtbWFyeSB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgLmZpbmFuY2Utc3VtbWFyeSA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmZpbmFuY2Utc3VtbWFyeSA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLmZpbmFuY2Utc3VtbWFyeSA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmZpbmFuY2Utc3VtbWFyeSBpbnB1dCxcbiAgLmZpbmFuY2Utc3VtbWFyeSBzZWxlY3QsXG4gIC5maW5hbmNlLXN1bW1hcnkgYSxcbiAgLmZpbmFuY2Utc3VtbWFyeSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZpbmFuY2Utc3VtbWFyeSA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5maW5hbmNlLXN1bW1hcnktdHlwZSB7XG4gIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjEyNXJlbTtcbiAgcGFkZGluZzogMC4zNzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZDBkMGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmZpbmFuY2Utc3VtbWFyeS10eXBlX19rZXkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcbiAgICBwYWRkaW5nOiAwLjM3NXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA1ZGFkOyB9XG4gIC5maW5hbmNlLXN1bW1hcnktdHlwZV9fdmFsdWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmZpbmFuY2Utc3VtbWFyeS10eXBlX192YWx1ZSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmZpbmFuY2Utc3VtbWFyeS10eXBlX192aWRlbyB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmZpbmFuY2UtdGFibGVzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmluYW5jZS10YWJsZXMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5maW5hbmNlLXRhYmxlcyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5maW5hbmNlLXRhYmxlczo6YmVmb3JlLCAuZmluYW5jZS10YWJsZXM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmZpbmFuY2UtdGFibGVzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmZpbmFuY2UtdGFibGVzID4gLmZpbmFuY2UtdGFibGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpbmFuY2UtdGFibGVzID4gLmZpbmFuY2UtdGFibGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZmluYW5jZS10YWJsZXMgPiAuZmluYW5jZS10YWJsZTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuZmluYW5jZS10YWJsZXMgPiAuZmluYW5jZS10YWJsZTpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5maW5hbmNlLXRhYmxlcyA+IC5maW5hbmNlLXRhYmxlOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZmluYW5jZS10YWJsZXMgPiAuZmluYW5jZS10YWJsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmluYW5jZS10YWJsZXMgPiAuZmluYW5jZS10YWJsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZmluYW5jZS10YWJsZXMgPiAuZmluYW5jZS10YWJsZTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmZpbmFuY2UtdGFibGVzID4gLmZpbmFuY2UtdGFibGU6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmZpbmFuY2UtdGFibGVzID4gLmZpbmFuY2UtdGFibGU6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZmluYW5jZS10YWJsZXMtLTMgPiAuZmluYW5jZS10YWJsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmluYW5jZS10YWJsZXMtLTMgPiAuZmluYW5jZS10YWJsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZmluYW5jZS10YWJsZXMtLTMgPiAuZmluYW5jZS10YWJsZTpudGgtb2YtdHlwZSgxbikge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmZpbmFuY2UtdGFibGVzLS0zID4gLmZpbmFuY2UtdGFibGU6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgLmZpbmFuY2UtdGFibGVzLS0zID4gLmZpbmFuY2UtdGFibGU6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgLmZpbmFuY2UtdGFibGVzIC5maW5hbmNlLXdhcm5pbmcge1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZpbmFuY2UtdGFibGUtLXRlYXNlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZpbmFuY2UtdGFibGUtLWZ1bGwge1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX3RhYmxlIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX190YWJsZSB0Ym9keSB7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgIC5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX190YWJsZSB0Ym9keSB0aCxcbiAgICAgIC5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX190YWJsZSB0Ym9keSB0ZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fdGFibGUgdGJvZHkgdGgge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fdGFibGUgdGJvZHkgdGQge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fY2hlY2tlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMxYTFhMWE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX19jaGVja2VyIHtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyB9IH1cbiAgICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fY2hlY2tlci10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX19jaGVja2VyLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fY2hlY2tlci1pbWFnZSBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEzLjc1cmVtOyB9XG4gICAgLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX2NoZWNrZXIgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX19hcHBseSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX2FwcGx5IC5idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gIC5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX193aHktYXBwbHkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fdmlkZW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwLjkzNzVyZW0gMCAwOyB9XG4gICAgLmZpbmFuY2UtdGFibGUtLWZ1bGwgLmZpbmFuY2UtdGFibGVfX3ZpZGVvIGlmcmFtZSxcbiAgICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fdmlkZW8gb2JqZWN0LFxuICAgIC5maW5hbmNlLXRhYmxlLS1mdWxsIC5maW5hbmNlLXRhYmxlX192aWRlbyBlbWJlZCxcbiAgICAuZmluYW5jZS10YWJsZS0tZnVsbCAuZmluYW5jZS10YWJsZV9fdmlkZW8gdmlkZW8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5maW5hbmNlLWV4YW1wbGUge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXJnaW46IDAuNjI1cmVtIDAgMC45Mzc1cmVtOyB9XG4gIC5maW5hbmNlLWV4YW1wbGVfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5maW5hbmNlLWV4YW1wbGVfX3RhYmxlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMWExYTFhO1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmZpbmFuY2UtZXhhbXBsZV9fdGFibGUgdGgsXG4gICAgLmZpbmFuY2UtZXhhbXBsZV9fdGFibGUgdGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzFhMWExYTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmZpbmFuY2UtZXhhbXBsZV9fdGFibGUgdGg6bGFzdC1jaGlsZCxcbiAgICAgIC5maW5hbmNlLWV4YW1wbGVfX3RhYmxlIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgICAuZmluYW5jZS1leGFtcGxlX190YWJsZSB0aGVhZCxcbiAgICAuZmluYW5jZS1leGFtcGxlX190YWJsZSB0Ym9keSxcbiAgICAuZmluYW5jZS1leGFtcGxlX190YWJsZSB0Zm9vdCB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgLmZpbmFuY2UtZXhhbXBsZV9fdGFibGUgdGhlYWQgdGgge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAuZmluYW5jZS1leGFtcGxlX190YWJsZSB0Ym9keSB0ZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIC5maW5hbmNlLWV4YW1wbGVfX3RhYmxlIHRmb290IHRkIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMxYTFhMWE7IH1cblxuLmZpbmFuY2UtZGlzY2xhaW1lciB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5maW5hbmNlLWRpc2NsYWltZXItLWZ1bGwge1xuICAgIG1hcmdpbjogMC45Mzc1cmVtIDAgMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZpbmFuY2UtY2hlY2tlciB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmluYW5jZS1jaGVja2VyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZmluYW5jZS1jaGVja2VyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmZpbmFuY2UtY2hlY2tlcjo6YmVmb3JlLCAuZmluYW5jZS1jaGVja2VyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5maW5hbmNlLWNoZWNrZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuZmluYW5jZS1jaGVja2VyX192aWRlbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmluYW5jZS1jaGVja2VyX192aWRlbyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5maW5hbmNlLWNoZWNrZXJfX3ZpZGVvOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maW5hbmNlLWNoZWNrZXJfX3ZpZGVvIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpbmFuY2UtY2hlY2tlcl9fdmlkZW8ge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5maW5hbmNlLWNoZWNrZXJfX3ZpZGVvOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgLmZpbmFuY2UtY2hlY2tlcl9fdmlkZW8taW5uZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuZmluYW5jZS1jaGVja2VyX192aWRlby1pbm5lciBpZnJhbWUsXG4gICAgICAuZmluYW5jZS1jaGVja2VyX192aWRlby1pbm5lciBvYmplY3QsXG4gICAgICAuZmluYW5jZS1jaGVja2VyX192aWRlby1pbm5lciBlbWJlZCxcbiAgICAgIC5maW5hbmNlLWNoZWNrZXJfX3ZpZGVvLWlubmVyIHZpZGVvIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmZpbmFuY2UtY2hlY2tlcl9fZGV0YWlscyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmluYW5jZS1jaGVja2VyX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmZpbmFuY2UtY2hlY2tlcl9fZGV0YWlsczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmluYW5jZS1jaGVja2VyX19kZXRhaWxzIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpbmFuY2UtY2hlY2tlcl9fZGV0YWlscyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZpbmFuY2UtY2hlY2tlcl9fZGV0YWlsczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgIC5maW5hbmNlLWNoZWNrZXJfX2RldGFpbHMtaW1hZ2UgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTMuNzVyZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlOmhvdmVyLCAuc2xpY2stc2xpZGVyIC5zbGljay1zbGlkZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldixcbi5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgd2lkdGg6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDBweDtcbiAgZm9udC1zaXplOiAwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgei1pbmRleDogOTsgfVxuICAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2OmhvdmVyLCAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2OmZvY3VzLFxuICAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0OmhvdmVyLFxuICAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOmJlZm9yZSxcbiAgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldjpiZWZvcmUsXG4gIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMjIyMjIyO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay1wcmV2IHtcbiAgbGVmdDogMDsgfVxuICAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTVjYic7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAwOyB9XG4gIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxlNWNjJzsgfVxuXG4uc2xpY2stc2xpZGVyLnNsaWNrLWRvdHRlZCB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTAuNDM3NXJlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2xpY2stc2xpZGVyIC5zbGljay1kb3RzIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMC4xODc1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIG1hcmdpbjogMCAwLjEyNXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyBsaSB7XG4gICAgICAgIHdpZHRoOiAxLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAuMjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2xpY2stc2xpZGVyIC5zbGljay1kb3RzIGxpIHtcbiAgICAgICAgd2lkdGg6IDIuNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAuMzc1cmVtOyB9IH1cbiAgICAuc2xpY2stc2xpZGVyIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDAuMTg3NXJlbTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5OTk5OyB9XG4gICAgICAuc2xpY2stc2xpZGVyIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlciwgLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICM5MDVkYWQ7IH1cblxuLmxpc3RpbmctLWJsb2NrIC5zbGljay1zbGlkZXIsXG4ubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZC1zaWRlYmFyIC5zbGljay1zbGlkZXIsXG4ubGlzdGluZy0tdmVoaWNsZS1sYXRlc3Qtc2lkZWJhciAuc2xpY2stc2xpZGVyLFxuLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciAuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy0tYmxvY2sgLnNsaWNrLXNsaWRlcixcbiAgICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZC1zaWRlYmFyIC5zbGljay1zbGlkZXIsXG4gICAgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0LXNpZGViYXIgLnNsaWNrLXNsaWRlcixcbiAgICAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5zbGljay1zbGlkZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tYmxvY2sgLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGUsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkLXNpZGViYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGUsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdC1zaWRlYmFyIC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlLFxuICAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlIHtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tYmxvY2sgLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGUsXG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZC1zaWRlYmFyIC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlLFxuICAgICAgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0LXNpZGViYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGUsXG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAubGlzdGluZy0tYmxvY2sgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldixcbiAgLmxpc3RpbmctLWJsb2NrIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkLXNpZGViYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldixcbiAgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQtc2lkZWJhciAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0LFxuICAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3Qtc2lkZWJhciAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LFxuICAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3Qtc2lkZWJhciAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0LFxuICAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXYsXG4gIC5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCB7XG4gICAgdG9wOiAzLjc1cmVtOyB9XG4gIC5saXN0aW5nLS1ibG9jayAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LFxuICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZC1zaWRlYmFyIC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXYsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdC1zaWRlYmFyIC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXYsXG4gIC5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogaW5oZXJpdDtcbiAgICByaWdodDogMy4xODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saXN0aW5nLS1ibG9jayAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LFxuICAgICAgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQtc2lkZWJhciAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LFxuICAgICAgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0LXNpZGViYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldixcbiAgICAgIC5saXN0aW5nLS12ZWhpY2xlLXNpbWlsYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldiB7XG4gICAgICAgIHJpZ2h0OiAzLjVyZW07IH0gfVxuICAubGlzdGluZy0tYmxvY2sgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCxcbiAgLmxpc3RpbmctLXZlaGljbGUtZmVhdHVyZWQtc2lkZWJhciAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0LFxuICAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3Qtc2lkZWJhciAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0LFxuICAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlzdGluZy0tYmxvY2sgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCxcbiAgICAgIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkLXNpZGViYXIgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCxcbiAgICAgIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdC1zaWRlYmFyIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQsXG4gICAgICAubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuICAgICAgICByaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLmxpc3RpbmctLWJsb2NrIC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXYsXG4ubGlzdGluZy0tYmxvY2sgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCB7XG4gIHRvcDogMy43NXJlbTsgfVxuXG4ubGlzdGluZy0tYmxvY2sgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldiB7XG4gIGxlZnQ6IGluaGVyaXQ7XG4gIHJpZ2h0OiAzLjgxMjVyZW07IH1cblxuLmxpc3RpbmctLWJsb2NrIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuICByaWdodDogMS4yNXJlbTsgfVxuXG4ubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAuc2xpY2stc2xpZGVyLFxuLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0IC5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfVxuICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAuc2xpY2stc2xpZGVyIC5zbGljay1zbGlkZSxcbiAgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0IC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlIHtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LFxuICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0LFxuICAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3QgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldixcbiAgLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0IC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuICAgIHRvcDogMy43NXJlbTsgfVxuICAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LFxuICAubGlzdGluZy0tdmVoaWNsZS1sYXRlc3QgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogaW5oZXJpdDtcbiAgICByaWdodDogMy4xODc1cmVtOyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQsXG4gIC5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdCAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0IHtcbiAgICByaWdodDogMC42MjVyZW07IH1cblxuLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMgdWwuc2xpY2stc2xpZGVyLFxuLnZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMgdWwuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjA2MjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuMDYyNXJlbTsgfVxuICAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMtdGh1bWJuYWlscyB1bC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlLFxuICAudmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcyB1bC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlIHtcbiAgICBtYXJnaW4tbGVmdDogMC4wNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMtdGh1bWJuYWlscyB1bC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXYsXG4gIC52ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzIHVsLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogMC4wNjI1cmVtOyB9XG4gIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcy10aHVtYm5haWxzIHVsLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCxcbiAgLnZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMgdWwuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0IHtcbiAgICByaWdodDogMC4wNjI1cmVtOyB9XG5cbi52ZWhpY2xlX19wcmltYXJ5LWltYWdlcy10aHVtYm5haWxzIC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcy10aHVtYm5haWxzIC5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlLnNsaWNrLWN1cnJlbnQge1xuICAgIG9wYWNpdHk6IDAuNzU7IH1cblxuLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAuc2xpY2stc2xpZGVyIHtcbiAgcGFkZGluZy10b3A6IDIuNTYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmUgLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMTg3NXJlbTsgfSB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmUgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldixcbiAgLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0IHtcbiAgICB0b3A6IDEuMjVyZW07IH1cbiAgICAubGlzdGluZy0tdmVoaWNsZS1jb21wYXJlIC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXY6YmVmb3JlLFxuICAgIC5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmUgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzkwNWRhZDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmUgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogaW5oZXJpdDtcbiAgICByaWdodDogMi41NjI1cmVtOyB9XG4gIC5saXN0aW5nLS12ZWhpY2xlLWNvbXBhcmUgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2UtLWhvbWUgLmxpc3RpbmctLWJsb2NrIC5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuICAucGFnZS0taG9tZSAubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCAuc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbiAgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciAuc2xpY2stc2xpZGVyIC5zbGljay10cmFjayB7XG4gICAgZGlzcGxheTogZmxleDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLS1ob21lIC5saXN0aW5nLS1ibG9jayAuc2xpY2stc2xpZGVyIC5zbGljay10cmFjayAuc2xpY2stc2xpZGUsXG4gIC5wYWdlLS1ob21lIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkIC5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrIC5zbGljay1zbGlkZSxcbiAgLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciAuc2xpY2stc2xpZGVyIC5zbGljay10cmFjayAuc2xpY2stc2xpZGUge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9IH1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjMuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0ICcuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKCRmbGV4OiBmYWxzZSkge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogZ2V0LWNvbG9yKHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IGdldC1jb2xvcih3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRm9ybXNcbi8vICAyMC4gTGFiZWxcbi8vICAyMS4gTWVkaWEgT2JqZWN0XG4vLyAgMjIuIE1lbnVcbi8vICAyMy4gTWV0ZXJcbi8vICAyNC4gT2ZmLWNhbnZhc1xuLy8gIDI1LiBPcmJpdFxuLy8gIDI2LiBQYWdpbmF0aW9uXG4vLyAgMjcuIFByb2dyZXNzIEJhclxuLy8gIDI4LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgMjkuIFJldmVhbFxuLy8gIDMwLiBTbGlkZXJcbi8vICAzMS4gU3dpdGNoXG4vLyAgMzIuIFRhYmxlXG4vLyAgMzMuIFRhYnNcbi8vICAzNC4gVGh1bWJuYWlsXG4vLyAgMzUuIFRpdGxlIEJhclxuLy8gIDM2LiBUb29sdGlwXG4vLyAgMzcuIFRvcCBCYXJcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjOTA1ZGFkLFxuICBzZWNvbmRhcnk6ICMyMjIyMjIsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKTtcbiRsaWdodC1ncmF5OiAjZWNlY2VjO1xuJG1lZGl1bS1ncmF5OiAjZTZlNmU2O1xuJGRhcmstZ3JheTogIzk5OTk5OTtcbiRibGFjazogIzAwMDAwMDtcbiR3aGl0ZTogI2ZmZmZmZjtcbiRib2R5LWJhY2tncm91bmQ6ICMwMDAwMDA7IC8vIEJsYWNrIFZlcnNpb246ICMxMTExMTFcbiRib2R5LWZvbnQtY29sb3I6ICR3aGl0ZTsgLy8gQmxhY2sgVmVyc2lvbjogJHdoaXRlXG4kYm9keS1mb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogNDAwO1xuJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkOiA2MDA7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiA3MDA7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogZmFsc2U7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDE7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAzMCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyNiksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyMiksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxMCksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMzIpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjgpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTYpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTIpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjg7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6IGluaGVyaXQ7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiBpbmhlcml0O1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogbm9uZTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1wYWRkaW5nOiByZW0tY2FsYygxMiAxNCk7XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IHJlbS1jYWxjKDE2KSxcbiAgZGVmYXVsdDogcmVtLWNhbGMoMTgpLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogbm9uZTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDI3MHB4O1xuJGRyb3Bkb3duLXJhZGl1czogMDtcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuLy8gMTkuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkd2hpdGU7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIwLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjIuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW07XG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1ib3JkZXI6ICRsaWdodC1ncmF5O1xuXG4vLyAyMy4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI0LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4O1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTA7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDE7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI1LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjYuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI4LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gMjkuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogbm9uZTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gMzAuIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDMxLiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gMzIuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG5cbi8vIDMzLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYWN0aXZlLWNvbG9yOiAkd2hpdGU7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6IGluaGVyaXQ7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiBub25lO1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDM0LiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNS4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gMzYuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM3LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnOyAgICBcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUgb3IgYnJlYWtwb2ludCBuYW1lIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkZ3V0dGVyOiAnZ3V0dGVyJyxcbiAgJHB1c2g6ICdwdXNoJyxcbiAgJHB1bGw6ICdwdWxsJyxcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcbiAgJHVuY2VudGVyOiAndW5jZW50ZXJlZCcsXG4gICRjb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcbiAgJG9mZnNldDogJ29mZnNldCcsXG4gICRlbmQ6ICdlbmQnLFxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCcsXG4gICRibG9jazogJ2Jsb2NrJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLiN7JGV4cGFuZGVkfSkgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRncmlkLWNvbHVtbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgIC8vIFN0YXRpYyAodW5yZXNwb25zaXZlKSByb3cgZ3V0dGVyc1xuICAgICAgLy9cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGdyaWQtY29sdW1uLWd1dHRlciB7XG4gICAgICAgICYuI3skZ3V0dGVyfS0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcbiAgICB9XG5cbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9LFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtdW5wb3M7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC4jeyRjb2x1bW59LSN7JGJsb2NrfSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicgYW5kIGhhcy12YWx1ZSgkZ3JpZC1jb2x1bW4tYWxpYXMpIHtcbiAgICAuI3skZ3JpZC1jb2x1bW4tYWxpYXN9IHtcbiAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2x1bW4tZ3V0dGVyKCkuIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbC1ndXR0ZXIoKS4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgbGlzdCBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgKHdpdGhvdXQgcXVvdGVzKSB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZ3V0dGVyXG4vLy8gICBUaGUgZ3V0dGVyIHRvIGFwcGx5IHRvIGNoaWxkIGVsZW1lbnRzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gJGdyaWQtY29sdW1uLWd1dHRlciB3aWxsIHVzZSB0aGUgdmFsdWVzIGluIHRoZSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIG1hcCwgaW5jbHVkaW5nIGJyZWFrcG9pbnQgc2l6ZXMuXG4vLy8gICAtIEEgZml4ZWQgbnVtZXJpYyB2YWx1ZSB3aWxsIGFwcGx5IHRoaXMgZ3V0dGVyIHRvIGFsbCBicmVha3BvaW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nLFxuICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIC8vIElmIGEgJGd1dHRlciB2YWx1ZSBpcyBwYXNzZWRcbiAgICBAaWYoJGd1dHRlcikge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGl0ZW1zIHRoYXQgYXBwZWFyIGluIGVhY2ggcm93LlxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcbiAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTsgIFxuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlb2NyYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogaGVscDtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZSB0byByZW1vdmUgdGhlIGJ1bGxldHMgZnJvbSBhbiB1bm9yZGVyZWQgbGlzdFxuICAubm8tYnVsbGV0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRwcmltYXJ5LWNvbG9yLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsIFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGJhY2tncm91bmQgWyRwcmltYXJ5LWNvbG9yXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2xhc2ggYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBzbGFzaC5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNsYXNoIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzbGFzaDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJy8nLCAnXFxcXCcpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29udGVudDogJHNsYXNoO1xuICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmdWFsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbixcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBmb3IgYm9yZGVyZWQgbWVudVxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBtYXJnaW46ICRtZW51LW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXMgYXJlIHRhYmxlIGNlbGwgdG8gYWxsb3cgZm9yIHZlcnRpY2FsIGFsaWdubWVudFxuICA+IGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBsaW5lIGhlaWdodCB0byBtYWtlIHRoZSBoZWlnaHQgb2YgdGhlIG92ZXJhbGwgaXRlbSBlYXNpZXIgdG8gY2FsY3VsYXRlXG4gID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgID4gbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cblxuICA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgPiBsaSAgPiBhIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFNldCB0byBgbnVsbGAgdG8gZG8gbm90IGdlbmVyYXRlIHN0eWxlcyBmb3IgZGlyZWN0aW9uLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCkge1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgQGlmICRkaXIgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVudS1zaW1wbGUtZGlyZWN0aW9uKCRkaXIpO1xuICB9XG59XG5cbi8vLyBEaXJlY3Rpb24gbW9kaWZpZXIgZm9yIGEgc2ltcGxlIE1lbnVcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnVcbkBtaXhpbiBtZW51LXNpbXBsZS1kaXJlY3Rpb24oJGRpcjogJGdsb2JhbC1sZWZ0KSB7XG4gICRuby1tYXJnaW4tZGlyOiAkZGlyO1xuICAkbWFyZ2luLWRpcjogZGlyZWN0aW9uLW9wcG9zaXRlKCRkaXIpO1xuXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skbm8tbWFyZ2luLWRpcn06IDA7XG4gICAgbWFyZ2luLSN7JG1hcmdpbi1kaXJ9OiBnZXQtc2lkZSgkbWVudS1pdGVtLXBhZGRpbmcsICRtYXJnaW4tZGlyKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRwYWRkaW5nIFthdXRvXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuQG1peGluIG1lbnUtbmVzdGVkKCRtYXJnaW46ICRtZW51LW1hcmdpbi1uZXN0ZWQpIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbn1cblxuLy8vIEFkZHMgc3VwcG9ydCBmb3IgaWNvbnMgdG8gTWVudSBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbc2lkZV0gLSBQb3NpdGlvbmluZyBmb3IgaWNvbnMuIENhbiBiZSBgc2lkZWAgKGxlZnQsIG9yIHJpZ2h0IG9uIFJUTCkgb3IgYHRvcGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHRoZSBzaGFyZWQgQ1NTIGJldHdlZW4gc2lkZS0gYW5kIHRvcC1hbGlnbmVkIGljb25zIGZyb20gYmVpbmcgcHJpbnRlZC4gU2V0IHRoaXMgdG8gYGZhbHNlYCBpZiB5b3UncmUgY2FsbGluZyB0aGUgbWl4aW4gbXVsdGlwbGUgdGltZXMgb24gdGhlIHNhbWUgZWxlbWVudC5cbkBtaXhpbiBtZW51LWljb25zKCRwb3NpdGlvbjogc2lkZSwgJGJhc2U6IHRydWUpIHtcbiAgQGlmICRiYXNlIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICsgc3BhbiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gc2lkZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWVudS1pY29uLXNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuXG4gICAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZS1kaXJlY3Rpb24oJGdsb2JhbC1yaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgaWNvbnNcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnModG9wLCAkYmFzZTogZmFsc2UpO1xuICAgICAgLy8gTWFrZSB2ZXJ0aWNhbCBtZW51IHdpdGggaWNvbnMgb24gdG9wIHdvcmtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICBhID4gc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gTWVudSB3aXRoIGJvcmRlclxuICAgICYubWVudS1ib3JkZXJlZCB7XG4gICAgICBsaSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZW51LWJvcmRlcjtcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgd2l0aCBiYWNrZ3JvdW5kIGhvdmVyXG4gICAgJi5tZW51LWhvdmVyIHtcbiAgICAgIGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZW51LXRleHQge1xuICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgfVxuXG4gIC8vIEFsaWduIGNlbnRlclxuICAubWVudS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgPiAubWVudSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogdG9wKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBBcHBsaWVkIHRvIG5lc3RlZCA8dWw+c1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgIH1cbiAgfVxuXG4gIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG5cbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuQG1peGluIGxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAxLjVyZW07XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8gV0FSTklORzogV2lsbCBiZSByZW1vdmVkIGluIHZlcnNpb24gNi40XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbzogZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkKCkuIGZvdW5kYXRpb24tZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG59XG5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW8pIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgcmVzcG9uc2l2ZS1lbWJlZCgpLiBmbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJi5taWRkbGUge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICAmLmJvdHRvbSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBhYic7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbiAgICAvLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICVyZXZlYWwtY2VudGVyZWQge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtZWxlbWVudC1uZXN0aW5nLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogMCkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJlthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbWFwOiBjYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbGVmdF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGxlZnQsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFswXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDAsXG4gICR0bzogMSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbkBmdW5jdGlvbiBoaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XG4gIH0gQGVsc2UgaWYgJHR1cm4tb3JpZ2luID09IGZyb20tYmFjayB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnJHR1cm4tb3JpZ2luIG11c3QgYmUgZWl0aGVyIFwiZnJvbS1iYWNrXCIgb3IgXCJmcm9tLWZyb250XCInO1xuICB9XG5cbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxuICAkc3RhcnQ6ICcnO1xuICAkZW5kOiAnJztcbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgfVxuXG4gIC8vIFR1cm4gYXhpc1xuICAkb3JpZ2luOiAnJztcbiAgQGlmICRheGlzID09IGVkZ2Uge1xuICAgICRvcmlnaW46ICRmcm9tO1xuICB9IEBlbHNlIHtcbiAgICAkb3JpZ2luOiBjZW50ZXI7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nLFxuICAgIDA6ICh0cmFuc2Zvcm06ICRzdGFydCwgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbiksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFjayxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMS41XSAtIFNpemUgdG8gc3RhcnQgYXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxXSAtIFNpemUgdG8gZW5kIGF0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDEuNSxcbiAgJHRvOiAxLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRkaXJlY3Rpb24gW2N3XSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiYSB7IG91dGxpbmU6IG5vbmU7IH1cbnN0cm9uZyB7IGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7IH1cbmlmcmFtZSB7IGJvcmRlcjogMDsgfVxuIiwiLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gICYgPiBsaSB7XG4gICAgYS5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgfVxuICAgIH1cbiAgICBhLmFjY29yZGlvbi10aXRsZTpmb2N1cyxcbiAgICBhLmFjY29yZGlvbi10aXRsZTpob3ZlcixcbiAgICBhLmFjY29yZGlvbi10aXRsZVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cbiAgICBhLmFjY29yZGlvbi10aXRsZVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtIHJlbS1jYWxjKDgpO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoLjk5OTkpO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgIHotaW5kZXg6IDQwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuYWNjb3JkaW9uLWNvbnRlbnQtLW5vLXBhZGRpbmcgeyBwYWRkaW5nOiAwOyB9XG4gIH1cbiAgJi0tYmFzaWMge1xuICAgICYgPiBsaSB7XG4gICAgICBhLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMik7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMik7XG4gICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgcmlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGEuYWNjb3JkaW9uLXRpdGxlOmZvY3VzLFxuICAgICAgYS5hY2NvcmRpb24tdGl0bGU6aG92ZXIsXG4gICAgICBhLmFjY29yZGlvbi10aXRsZVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICAgIGEuYWNjb3JkaW9uLXRpdGxlW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICAgICY6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgfVxuICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYnMge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7IH1cbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcZTVjYyc7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgNik7XG4gICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLmNhbGxvdXQge1xuICBtYXJnaW46IHJlbS1jYWxjKDUgMCk7XG4gIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDMyKTtcbiAgYm9yZGVyOiBub25lO1xufVxuIiwiLmNvb2tpZS1wb2xpY3kge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gIHotaW5kZXg6IDk5OTk5OTk5OTk7XG4gICYtaW5uZXIge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgfVxuICB9XG4gICZfX3RleHQgeyBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNik7IH1cbiAgJl9fY2xvc2Uge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcbiAgICB0b3A6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICByaWdodDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHRvcDogcmVtLWNhbGMoMTMpO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgfVxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG59XG4iLCIuY3JlZGl0cyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICYgPiBkaXYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICB9XG4gICZfX2NvbXBhbnkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg4KTsgfVxuICB9XG59XG4iLCIuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHsgei1pbmRleDogMiAhaW1wb3J0YW50OyB9XG4iLCIubG9nbyB7XG4gIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAmLS10ZXh0IHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gIH1cbiAgJi0taW1hZ2UgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg4IDApO1xuICAgIGEge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSAxMiA4KTtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBzcGFuIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5hY3RpdmUsXG4gICAgJi5jdXJyZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmZpcnN0IGEgc3Bhbjo6YmVmb3JlLFxuICAgICYucHJldmlvdXMgYSBzcGFuOjpiZWZvcmUsXG4gICAgJi5uZXh0IGEgc3Bhbjo6YWZ0ZXIsXG4gICAgJi5sYXN0IGEgc3Bhbjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgJi5maXJzdCBhIHNwYW46OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxlNWRjJztcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMik7XG4gICAgfVxuICAgICYucHJldmlvdXMgYSBzcGFuOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZTVjYic7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIpO1xuICAgIH1cbiAgICAmLm5leHQgYSBzcGFuOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFxlNWNjJztcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyKTtcbiAgICB9XG4gICAgJi5sYXN0IGEgc3Bhbjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcZTVkZCc7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMik7XG4gICAgfVxuICAgIGE6aG92ZXIge1xuICAgICAgc3Bhbjo6YmVmb3JlLFxuICAgICAgc3Bhbjo6YWZ0ZXIgeyBjb2xvcjogJHdoaXRlOyB9XG4gICAgfVxuICB9XG4gICYtLW1vYmlsZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIGxpIHtcbiAgICAgICYuZmlyc3QsXG4gICAgICAmLnByZXZpb3VzLFxuICAgICAgJi5uZXh0LFxuICAgICAgJi5sYXN0IHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6Zm9jdXMgc3BhbixcbiAgICAgICAgICAmOmhvdmVyIHNwYW4ge1xuICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgJjo6YWZ0ZXIgeyBjb2xvcjogJHdoaXRlOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgfVxufVxuIiwiLmRhdGVwaWNrZXIge1xuICB0YWJsZSB7XG4gICAgdGhlYWQge1xuICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikgeyBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gIH1cbn1cbiIsIi50YWJzIHtcbiAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgJiA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICAmLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNTgpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDU4KTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEpO1xuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgfVxuICAgIH1cbiAgICAmLnRhYnMtdGl0bGUgPiBhOmZvY3VzLFxuICAgICYudGFicy10aXRsZSA+IGE6aG92ZXIsXG4gICAgJi50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cbiAgICAmLnRhYnMtdGl0bGUuaXMtYWN0aXZlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLSByZW0tY2FsYyg4KTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKC45OTk5KTtcbiAgICAgICAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICB6LWluZGV4OiA0MDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICYudGFicy10aXRsZSA+IGEgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICB9XG4gIH1cbn1cbi52ZWhpY2xlX190b3AgIHtcbiAgLnRhYnMtY29udGVudCB7XG4gICAgLnRhYnMtcGFuZWwgeyBwYWRkaW5nOiAwOyB9XG4gIH1cbn1cbi52ZWhpY2xlX19taWRkbGUge1xuICAudGFicy1jb250ZW50IHtcbiAgICAudGFicy1wYW5lbCB7IHBhZGRpbmc6IHJlbS1jYWxjKDIwIDAgMCk7IH1cbiAgfVxufVxuIiwiLnRlbXBvcmFyeS1zbG9nYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgei1pbmRleDogOTk5O1xuICAmX19pbm5lciB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDE1KTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpOyB9XG4gICAgYSB7IGNvbG9yOiAkd2hpdGU7IH1cbiAgfVxufVxuIiwiLmJsb2NrLS1mb290ZXIge1xuICAuYmxvY2tfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgOCUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG4gICAgfVxuICB9XG59XG4iLCIuYnJhbmNoLS1mb290ZXIge1xuICAuYnJhbmNoX19uYW1lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnLCc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG4gIC5icmFuY2hfX2FkZHJlc3Mge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBzcGFuIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJywnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQ6OmFmdGVyIHsgY29udGVudDogJyc7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi5icmFuY2gtLWZ1bGwge1xuICAuYnJhbmNoX19tYXAge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTsgfVxuICAgICNtYXAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBoZWlnaHQ6IHJlbS1jYWxjKDQ2NCk7IH1cbiAgICB9XG4gIH1cbiAgLmJyYW5jaF9fcHJpbWFyeS1pbWFnZXMge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTsgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5icmFuY2hfX2xvZ29zLFxuICAuYnJhbmNoX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyB3aWR0aDogcmVtLWNhbGMoNDAwKTsgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5icmFuY2hfX3ZpZGVvcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNsZWFyOiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyB3aWR0aDogcmVtLWNhbGMoNDAwKTsgfVxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICAgIGxpIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4gICAgfVxuICB9XG4gIC5icmFuY2hfX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgICBwIGE6bm90KC5idXR0b24pIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIH1cbiAgfVxuICAuYnJhbmNoX19maWxlcyB7XG4gICAgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5icmFuY2hfX2RpcmVjdGlvbnMge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTsgfVxuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgzOyB9XG4gIH1cbn1cbiIsIi5icmFuY2gtLXRlYXNlciB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gIC5icmFuY2hfX25hbWUgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7IH1cbiAgLmJyYW5jaF9fZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgfVxuICB9XG4gIC5icmFuY2hfX2FkZHJlc3Mge1xuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgzOyB9XG4gICAgc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIH1cbiAgLmJyYW5jaF9fdGVsZXBob25lIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgJi10aXRsZSB7IEBleHRlbmQgaDM7IH1cbiAgfVxuICAuYnJhbmNoX19vcGVuaW5nLWhvdXJzIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTtcbiAgICB9XG4gICAgJi10aXRsZSB7IEBleHRlbmQgaDM7IH1cbiAgICBzZWxlY3QgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7IH1cbiAgfVxufVxuIiwiLmJyYW5jaC0tdmVoaWNsZSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gIC5icmFuY2hfX21hcCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig4KTtcbiAgICB9XG4gICAgI21hcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzAwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNjAwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmJyYW5jaF9fZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTtcbiAgICB9XG4gIH1cbiAgLmJyYW5jaF9fbmFtZSxcbiAgLmJyYW5jaF9fZGlyZWN0aW9ucy10aXRsZSB7XG4gICAgQGV4dGVuZCBoNDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gIH1cbiAgLmJyYW5jaF9fYWRkcmVzcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIHNwYW4geyBkaXNwbGF5OiBibG9jazsgfVxuICB9XG4gIC5icmFuY2hfX3RlbGVwaG9uZSxcbiAgLmJyYW5jaF9fb3BlbmluZy1ob3VycyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICYtdGl0bGUge1xuICAgICAgQGV4dGVuZCBoNDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5jdXN0b20tZW50cnktLWZ1bGwge1xuICAuY3VzdG9tLWVudHJ5X19wcmltYXJ5LWltYWdlcyB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApOyB9XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmN1c3RvbS1lbnRyeV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzIwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5jdXN0b20tZW50cnlfX3ZpZGVvcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNsZWFyOiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgbGkgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgICB9XG4gIH1cbiAgLmN1c3RvbS1lbnRyeV9fY3VzdG9tLWZpZWxkcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsaSB7XG4gICAgICAgIHNwYW4geyBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jdXN0b20tZW50cnlfX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgICBwIGE6bm90KC5idXR0b24pIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIH1cbiAgfVxuICAuY3VzdG9tLWVudHJ5X19maWxlcyB7XG4gICAgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jdXN0b20tZW50cnlfX2Zvcm0ge1xuICAgIGNsZWFyOiByaWdodDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgyOyB9XG4gIH1cbn1cbiIsIi5jdXN0b20tZW50cnktLXRlYXNlciB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gIC5jdXN0b20tZW50cnlfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG4gIC5jdXN0b20tZW50cnlfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG4gICAgfVxuICB9XG4gIC5jdXN0b20tZW50cnlfX2NvbnRlbnQtLXdpdGhvdXQtbWVkaWEgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7IH1cbiAgLmN1c3RvbS1lbnRyeV9fY3VzdG9tLWZpZWxkcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsaSB7XG4gICAgICAgIHNwYW4geyBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jdXN0b20tZW50cnlfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cbiAgLmN1c3RvbS1lbnRyeV9fbGluayB7XG4gICAgLmJ1dHRvbiB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgfVxufVxuIiwiLmRlcGFydG1lbnQtLXRlYXNlciB7XG4gIC5kZXBhcnRtZW50X19uYW1lIHsgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDsgfVxuICAuZGVwYXJ0bWVudF9fdGVsZXBob25lIHtcbiAgICAuZGVwYXJ0bWVudF9fbGFiZWwge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmRlcGFydG1lbnRfX3ZhbHVlIHsgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDsgfVxuICB9XG4gIC5kZXBhcnRtZW50X19vcGVuaW5nLWhvdXJzIHtcbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuZGVwYXJ0bWVudF9fdmFsdWUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICB9XG4gIH1cbn1cbiIsIi5kZXBhcnRtZW50LS12ZWhpY2xlIHtcbiAgLmRlcGFydG1lbnRfX3RlbGVwaG9uZSB7XG4gICAgLmRlcGFydG1lbnRfX2xhYmVsIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICB9XG4gICAgfVxuICAgIC5kZXBhcnRtZW50X192YWx1ZSB7IGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7IH1cbiAgfVxuICAuZGVwYXJ0bWVudF9fb3BlbmluZy1ob3VycyB7XG4gICAgLmRlcGFydG1lbnRfX3ZhbHVlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgfVxuICB9XG59XG4iLCIuZm9ybS0tZGVsaXZlcnktY2FsZW5kYXIge1xuICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gIC5mb3JtX19saW5rIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApOyB9XG4gICAgLmJ1dHRvbiB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgfVxufVxuIiwiLmZvcm0tLWRpcmVjdGlvbnMge1xuICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAuZmllbGQtc3RhcnRpbmctcG9pbnQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig1KTtcbiAgICB9XG4gIH1cbiAgLmZpZWxkLWRlc3RpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNSk7XG4gICAgfVxuICB9XG4gIC5maWVsZC1zdWJtaXQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMik7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNSk7XG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuZm9ybS0tc2luZ2xlLWJyYW5jaCB7XG4gICAgLmZpZWxkLXN0YXJ0aW5nLXBvaW50IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5mb3JtLS12ZWhpY2xlLWRpcmVjdGlvbnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC5maWVsZC1zdWJtaXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IHJlbS1jYWxjKDQpO1xuICAgIHJpZ2h0OiByZW0tY2FsYyg0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIC5idXR0b24ge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoOCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNCk7XG4gICAgfVxuICB9XG59XG4iLCIuZm9ybS0tcGFydC1leGNoYW5nZSB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgfVxuICAuZm9ybV9fZmllbGRzZXQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZvcm1fX2xlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAuZm9ybV9fbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIxKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gIH1cbiAgLmZpZWxkLXN1Ym1pdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIHJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAuYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg0KTtcbiAgICB9XG4gIH1cbiAgLmZpZWxkLXZlaGljbGUtcmVnaXN0cmF0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIC5mb3JtLWdyb3VwX19pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg2MCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDYpO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIjY3ZGVncmVlc1wiO1xuICAgICAgICBjb250ZW50OiBcIlxcNDdcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNTApO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogcmVtLWNhbGMoNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICAgIGlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5jb250cm9sLWxhYmVsIHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG59XG4iLCIuZm9ybS0tc2VsbC15b3VyLXZlaGljbGUtdmFsdWF0aW9uIHtcbiAgW3R5cGU9J3RleHQnXSxcbiAgW3R5cGU9J3Bhc3N3b3JkJ10sXG4gIFt0eXBlPSdkYXRlJ10sXG4gIFt0eXBlPSdkYXRldGltZSddLFxuICBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbiAgW3R5cGU9J21vbnRoJ10sXG4gIFt0eXBlPSd3ZWVrJ10sXG4gIFt0eXBlPSdlbWFpbCddLFxuICBbdHlwZT0nbnVtYmVyJ10sXG4gIFt0eXBlPSdzZWFyY2gnXSxcbiAgW3R5cGU9J3RlbCddLFxuICBbdHlwZT0ndGltZSddLFxuICBbdHlwZT0ndXJsJ10sXG4gIFt0eXBlPSdjb2xvciddLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpOyB9XG4gIGxhYmVsLmVycm9yIHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDE5KTtcbiAgICBtYXJnaW4tdG9wOiAtIHJlbS1jYWxjKDE1KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTkpO1xuICB9XG4gIC5mb3JtX19iYWNrIHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgICBpIHsgZm9udC1zaXplOiByZW0tY2FsYygxMik7IH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm1fX3N0ZXAwIHtcbiAgICAuZmllbGQtcmVnaXN0cmF0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgIC5mb3JtLWdyb3VwX19pbnB1dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCI2N2RlZ3JlZXNcIjtcbiAgICAgICAgICBjb250ZW50OiBcIlxcNDdcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi4xO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogcmVtLWNhbGMoNik7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogcmVtLWNhbGMoNik7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgICAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNTgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY29udHJvbC1sYWJlbCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG4gIH1cbiAgLmZvcm1fX3N0ZXAxIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgIGZpZWxkc2V0IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7IH1cbiAgICB9XG4gICAgLnN1bW1hcnkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTsgfVxuICAgICAgJl9faW5uZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIH1cbiAgICAgICZfX2xpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICB9XG4gICAgICAmX19saXN0LWl0ZW0ge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnZhbHVhdGlvbiB7XG4gICZfX3ByaWNlIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxufVxuIiwiLmZvcm0tLXNlbGwteW91ci12ZWhpY2xlIHtcbiAgW3R5cGU9J3RleHQnXSxcbiAgW3R5cGU9J3Bhc3N3b3JkJ10sXG4gIFt0eXBlPSdkYXRlJ10sXG4gIFt0eXBlPSdkYXRldGltZSddLFxuICBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbiAgW3R5cGU9J21vbnRoJ10sXG4gIFt0eXBlPSd3ZWVrJ10sXG4gIFt0eXBlPSdlbWFpbCddLFxuICBbdHlwZT0nbnVtYmVyJ10sXG4gIFt0eXBlPSdzZWFyY2gnXSxcbiAgW3R5cGU9J3RlbCddLFxuICBbdHlwZT0ndGltZSddLFxuICBbdHlwZT0ndXJsJ10sXG4gIFt0eXBlPSdjb2xvciddLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpOyB9XG4gIGxhYmVsLmVycm9yIHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDE5KTtcbiAgICBtYXJnaW4tdG9wOiAtIHJlbS1jYWxjKDE1KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTkpO1xuICB9XG4gIC5mb3JtX19iYWNrIHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgICBpIHsgZm9udC1zaXplOiByZW0tY2FsYygxMik7IH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm1fX3N0ZXAwIHtcbiAgICAuZmllbGQtdmVoaWNsZS1yZWdpc3RyYXRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgLmZvcm0tZ3JvdXBfX2lucHV0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNjApO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDYpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIjY3ZGVncmVlc1wiO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFw0N1wiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNTApO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjE7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuICAgICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1OCk7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb250cm9sLWxhYmVsIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLmZvcm0tLXNlcnZpY2UtYm9va2luZyB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gIFt0eXBlPSd0ZXh0J10sXG4gIFt0eXBlPSdwYXNzd29yZCddLFxuICBbdHlwZT0nZGF0ZSddLFxuICBbdHlwZT0nZGF0ZXRpbWUnXSxcbiAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXG4gIFt0eXBlPSdtb250aCddLFxuICBbdHlwZT0nd2VlayddLFxuICBbdHlwZT0nZW1haWwnXSxcbiAgW3R5cGU9J251bWJlciddLFxuICBbdHlwZT0nc2VhcmNoJ10sXG4gIFt0eXBlPSd0ZWwnXSxcbiAgW3R5cGU9J3RpbWUnXSxcbiAgW3R5cGU9J3VybCddLFxuICBbdHlwZT0nY29sb3InXSxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTsgfVxuICBsYWJlbC5lcnJvciB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygxOSk7XG4gICAgbWFyZ2luLXRvcDogLSByZW0tY2FsYygxNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE5KTtcbiAgfVxuICAuZm9ybV9fc3RlcHMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKDkpOyB9XG4gIH1cbiAgLmZvcm1fX3N1bW1hcnkge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKDMpOyB9XG4gIH1cbiAgLmZvcm0tZGlzY2xhaW1lciB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICB9XG4gIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tcmVnaXN0cmF0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgLmZvcm0tZ3JvdXBfX2lucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDYpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNik7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiNjdkZWdyZWVzXCI7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFw0N1wiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4xO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHJlbS1jYWxjKDYpO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiByZW0tY2FsYyg2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgICAgaW5wdXQge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDU4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRyb2wtbGFiZWwgeyBkaXNwbGF5OiBub25lOyB9XG4gIH1cbiAgLmZpZWxkLXNlcnZpY2Vib29raW5nZm9ybS1zZXJ2aWNlX3R5cGUsXG4gIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tYWRkaXRpb25hbC1zZXJ2aWNlX3R5cGUge1xuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgfVxuICB9XG4gIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tc2VydmljZV90eXBlIHtcbiAgICAub3B0aW9ucyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xhYmVsJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IEBpbmNsdWRlIGdyaWQtbGF5b3V0KDMsICdsYWJlbCcsICRncmlkLWNvbHVtbi1ndXR0ZXIpOyB9XG4gICAgICAmX19sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgaW5wdXQgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5vcHRpb25zX19kZXRhaWxzIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygxMDApO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dDpjaGVja2VkICsgLm9wdGlvbnNfX2RldGFpbHMge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLm9wdGlvbnNfX25hbWUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICAgICAgLm9wdGlvbnNfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgfVxuICAgICAgICAub3B0aW9uc19fcHJpY2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICAgICAgbGFiZWwuZXJyb3Ige1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IHJlbS1jYWxjKDMpO1xuICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5maWVsZC1zZXJ2aWNlYm9va2luZ2Zvcm0tYWRkaXRpb25hbC1zZXJ2aWNlX3R5cGUge1xuICAgIC5vcHRpb25zIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGFiZWwnLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgaW5wdXQgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5vcHRpb25zX19kZXRhaWxzIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQ6Y2hlY2tlZCArIC5vcHRpb25zX19kZXRhaWxzIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIC5vcHRpb25zX19uYW1lIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG4gICAgICAgIC5vcHRpb25zX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgfVxuICAgICAgICAub3B0aW9uc19fcHJpY2Uge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG4gICAgICAgIGxhYmVsLmVycm9yIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiByZW0tY2FsYygzKTtcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYygxMDApO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY29uZmlybWF0aW9uIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMywgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7IH1cbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2KTtcbiAgICAmID4gbGkgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7IH1cbiAgICAmX19zdGVwIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEzKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cbiAgICAmX19jaGFuZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG4gICAgJl9fcm93IHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7IH1cbiAgICAmX19sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuICAgICZfX3ZhbHVlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuICAgICZfX3Jvdy0tYWRkaXRpb25hbC1zZXJ2aWNlLFxuICAgICZfX3Jvdy0tc2VydmljZS10eXBlIHtcbiAgICAgIC5jb25maXJtYXRpb25fX2xhYmVsLFxuICAgICAgLmNvbmZpcm1hdGlvbl9fdmFsdWUgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgIH1cbiAgfVxuICAuc3VtbWFyeSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgICAmX19sYWJlbCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICZfX3ZhbHVlIHsgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgJl9fcm93LS1zZXJ2aWNlIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMyk7IH1cbiAgICAmX19yb3ctLXRvdGFsIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBsaWdodGVuKCRwcmltYXJ5LWNvbG9yLCAxMCUpO1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTMpO1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICB9XG4gIH1cbn1cbiIsIi5mb3JtLS12ZWhpY2xlLXBheW1lbnQge1xuICAuZm9ybS1tYXJrZXRpbmcge1xuICAgICZfX2ZpZWxkcyB7XG4gICAgICBpbnB1dCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICB9XG4gIH1cbiAgLmZpZWxkLXN1Ym1pdCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTsgfVxuICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cbn1cbiIsIi5mb3JtLS12ZWhpY2xlLXNvcnQge1xuICBzZWxlY3QgeyBoZWlnaHQ6IHJlbS1jYWxjKDQ2KTsgfVxufVxuIiwiLmZvcm0tLXZlaGljbGUtdmFsdWF0aW9uIHtcbiAgLmZvcm1fX2JhY2sge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2KTtcbiAgICAgIGkgeyBmb250LXNpemU6IHJlbS1jYWxjKDEyKTsgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZm9ybV9fZGVzY3JpcHRpb24geyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7IH1cbiAgLmZvcm1fX3JvdyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgfVxuICAuZm9ybV9fcmVnaXN0cmF0aW9uLFxuICAuZm9ybV9fbWlsZWFnZSxcbiAgLmZvcm1fX2ZpcnN0LW5hbWUsXG4gIC5mb3JtX19sYXN0LW5hbWUsXG4gIC5mb3JtX19waG9uZSxcbiAgLmZvcm1fX2VtYWlsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNik7XG4gICAgfVxuICB9XG4gIC5mb3JtX19wYXJ0LWV4Y2hhbmdlLXZlaGljbGUge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgfVxuICAuc3VtbWFyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgfVxuICAgICZfX2xpc3Qge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtX192ZWhpY2xlLXNwZWNpZmljcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGkge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIC5jaGVja2JveCB7IG1hcmdpbjogMDsgfVxuICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICBsYWJlbCB7IGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzKTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICAuZm9ybV9fZmllbGQtaGFzLW91dHN0YW5kaW5nLWZpbmFuY2UgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7IH1cbiAgfVxuICAuZm9ybV9fdmVoaWNsZS1jb25kaXRpb24ge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMTUpO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg3NjgpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDUsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7IH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzY4KSB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICB9XG4gIH1cbiAgLmZpZWxkLXBhcnRleGNoYW5nZWZvcm0tbGlnaHRjb25kaXRpb24geyBkaXNwbGF5OiBub25lOyB9XG4gIC5mb3JtX192YWx1YXRpb24ge1xuICAgIGgzIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mb3JtX192YWx1YXRpb24tZGVzY3JpcHRpb24geyBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7IH1cbiAgfVxufVxuLnJldmVhbC0tdmVoaWNsZS12YWx1YXRpb24ge1xuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICBwOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG59XG4iLCJmb3JtIHtcbiAgW3R5cGU9J3RleHQnXSxcbiAgW3R5cGU9J3Bhc3N3b3JkJ10sXG4gIFt0eXBlPSdkYXRlJ10sXG4gIFt0eXBlPSdkYXRldGltZSddLFxuICBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbiAgW3R5cGU9J21vbnRoJ10sXG4gIFt0eXBlPSd3ZWVrJ10sXG4gIFt0eXBlPSdlbWFpbCddLFxuICBbdHlwZT0nbnVtYmVyJ10sXG4gIFt0eXBlPSdzZWFyY2gnXSxcbiAgW3R5cGU9J3RlbCddLFxuICBbdHlwZT0ndGltZSddLFxuICBbdHlwZT0ndXJsJ10sXG4gIFt0eXBlPSdjb2xvciddIHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICY6ZGlzYWJsZWQgeyBjb2xvcjogJGRhcmstZ3JheTsgfVxuICB9XG4gIHNlbGVjdCB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0NCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMicgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgMTIgOCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNMTAuNTkuNTlMNiA1LjE3IDEuNDEuNTkgMCAybDYgNiA2LTYnIGZpbGw9JyUyMzJkMzczNycgZmlsbC1ydWxlPSdldmVub2RkJy8+PC9zdmc+XCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogcmVtLWNhbGMoMTEgNyk7XG4gICAgJjpkaXNhYmxlZCB7IGNvbG9yOiAkZGFyay1ncmF5OyB9XG4gIH1cbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTAwKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5oZWxwLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgfVxuICBbdHlwZT0naGlkZGVuJ10gKyAuaGVscC1ibG9jayB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLnJlcXVpcmVkIGxhYmVsLmNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnIConO1xuICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gIH1cbiAgLmZvcm0tbWFya2V0aW5nIHtcbiAgICAmX19tZXNzYWdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICAgIH1cbiAgICAmX19sYWJlbCB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnIConO1xuICAgICAgICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJl9fZmllbGRzIHtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgIH1cbiAgICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgLmpzLW1hcmtldGluZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygxKTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgLmhlbHAtYmxvY2sgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICB9XG4gICAgfVxuICAgICZfX2NoYW5uZWxzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgfVxuICAgICAgW3R5cGU9J2NoZWNrYm94J10geyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgfVxuICB9XG59XG4uZm9ybS1kaXNjbGFpbWVyIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIG9wYWNpdHk6IDAuNjtcbn1cbiIsIi5zZWNvbmRhcnktaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICZfX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNSk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTIpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIH1cbn1cbiIsIi52aWRlbyB7XG4gICZfX3VybCB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgxNiBieSA5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gICYtLXBhZ2Uge1xuICAgIC52aWRlb19fdGl0bGUge1xuICAgICAgQGV4dGVuZCBoNDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICAgIH1cbiAgfVxufVxuIiwiLm5ldy12ZWhpY2xlLS1mdWxsIHtcbiAgLm5ldy12ZWhpY2xlX190b3Age1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCA1JSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICB9XG4gICAgJi1pbm5lciB7IEBpbmNsdWRlIGdyaWQtcm93KCk7IH1cbiAgICAubmV3LXZlaGljbGVfX3Byb21vLXRleHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICAgIHRvcDogaW5oZXJpdDtcbiAgICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgfVxuICB9XG4gIC5uZXctdmVoaWNsZV9fYmFjayB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgICBpIHsgZm9udC1zaXplOiByZW0tY2FsYygxMik7IH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm5ldy12ZWhpY2xlX19tZWRpYSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDc2OCkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNyk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDgpO1xuICAgIH1cbiAgfVxuICAubmV3LXZlaGljbGVfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuICAubmV3LXZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5uZXctdmVoaWNsZV9fZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzY4KSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig1KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgfVxuICAgIC5uZXctdmVoaWNsZV9fZGV0YWlscy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICAgIH1cbiAgICAgIC5uZXctdmVoaWNsZV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAubmV3LXZlaGljbGVfX21vZGVsLXZhcmlhbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5uZXctdmVoaWNsZV9fcHJpY2UgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7IH1cbiAgICAgIC5uZXctdmVoaWNsZV9fdGVsZXBob25lIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubmV3LXZlaGljbGVfX2N0YSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDIwKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubmV3LXZlaGljbGVfX3BhcnQtZXhjaGFuZ2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgfVxuICB9XG4gICYgPiAubmV3LXZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgICAmID4gdWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgyLCAnbGknKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICAgICYgPiBsaSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm5ldy12ZWhpY2xlX190ZWNobmljYWwtZGF0YS1zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgICAmID4gdWwge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBAaW5jbHVkZSBncmlkLWxheW91dCgyLCAnbGknKTsgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBAaW5jbHVkZSBncmlkLWxheW91dCgzLCAnbGknKTsgfVxuICAgICAgJiA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikgNCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAmOm50aC1jaGlsZCgzbikgeyBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc2hvdyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMTIpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm5ldy12ZWhpY2xlX19kZXNjcmlwdGlvbiB7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5leHBhbmQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMDApO1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDc1KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKCRib2R5LWJhY2tncm91bmQsMSkwJSwgcmdiYSgkYm9keS1iYWNrZ3JvdW5kLDEpMjUlLCByZ2JhKCRib2R5LWJhY2tncm91bmQsMCkxMDAlKTtcbiAgICB9XG4gICAgJi1vdXRlciB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubmV3LXZlaGljbGVfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDUlKTtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgICAmLWlubmVyIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7IH1cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuICAubmV3LXZlaGljbGVfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuICAgICYtb3V0ZXIge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCA4JSk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgICAgfVxuICAgIH1cbiAgICAmLWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHBhZGRpbmc6IHJlbS1jYWxjKDIwKTsgfVxuICAgIH1cbiAgfVxuICAubmV3LXZlaGljbGVfX3NwZWNpZmljYXRpb24ge1xuICAgICYgPiB1bCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJyk7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMywgJ2xpJyk7XG4gICAgICB9XG4gICAgICAmID4gbGkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICAgICAgfVxuICAgICAgICAuc3BlY2lmaWNhdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICZfX3ZhbHVlIHsgZGlzcGxheTogaW5saW5lOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnNwZWNpZmljYXRpb24tY2F0ZWdvcnlfX3RpdGxlIHsgQGV4dGVuZCBoNDsgfVxuICAgICAgICAmIHVsIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBzcXVhcmU7XG4gICAgICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtYnV0dG9uIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIC5idXR0b24geyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuICB9XG4gIC5uZXctdmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEge1xuICAgICYgPiB1bCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJyk7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMywgJ2xpJyk7XG4gICAgICB9XG4gICAgICAmID4gbGkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICAgICAgfVxuICAgICAgICAudGVjaG5pY2FsLWRhdGEtY2F0ZWdvcnlfX3RpdGxlIHsgQGV4dGVuZCBoNDsgfVxuICAgICAgICAudGVjaG5pY2FsLWRhdGFfX2xhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgJjo6YWZ0ZXIgeyBjb250ZW50OiAnOic7IH1cbiAgICAgICAgfVxuICAgICAgICAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB1bCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAubmV3LXZlaGljbGVfX2RvY3VtZW50cyxcbiAgLm5ldy12ZWhpY2xlX19hdWRpbyB7XG4gICAgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5uZXctdmVoaWNsZV9fc2ltaWxhciB7IGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDUlKTsgfVxufVxuIiwiLm5ldy12ZWhpY2xlLS10ZWFzZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmc6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7IH1cbiAgLm5ldy12ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubmV3LXZlaGljbGVfX2RldGFpbHMge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICB9XG4gIC5uZXctdmVoaWNsZV9faGVhZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIC5uZXctdmVoaWNsZV9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC5uZXctdmVoaWNsZV9fbWFrZSxcbiAgICAubmV3LXZlaGljbGVfX21vZGVsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIC5uZXctdmVoaWNsZV9fbW9kZWwtdmFyaWFudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgfVxuICAubmV3LXZlaGljbGVfX2Zvb3RlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBkaXNwbGF5OiBibG9jazsgfVxuICB9XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG59XG4iLCIubmV3LXZlaGljbGUge1xuICAmX19tZWRpYS1jb3VudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgICYgPiB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDYpO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNik7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2IDIpO1xuICAgICAgICBpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19wcm9tby10ZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiByZW0tY2FsYyg4KTtcbiAgICBsZWZ0OiByZW0tY2FsYyg4KTtcbiAgICBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQgOCk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5vZmZlci0tZmVhdHVyZWQge1xuICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAub2ZmZXJfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTtcbiAgICB9XG4gIH1cbiAgLm9mZmVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDgpO1xuICAgIH1cbiAgfVxuICAub2ZmZXJfX2NvbnRlbnQtLXdpdGhvdXQtaW1hZ2UgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7IH1cbiAgLm9mZmVyX190aXRsZSB7XG4gICAgQGV4dGVuZCBoMjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gIH1cbiAgLm9mZmVyX19zdWItdGl0bGUge1xuICAgIEBleHRlbmQgaDM7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICB9XG4gIC5vZmZlcl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgfVxuICAub2ZmZXJfX2xpbmsge1xuICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cbn1cbiIsIi5vZmZlci0tZnVsbCB7XG4gIC5vZmZlcl9fcHJpbWFyeS1pbWFnZXMge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuICAub2ZmZXJfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDMyMCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuICAub2ZmZXJfX3ZpZGVvcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNsZWFyOiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgbGkgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgICB9XG4gIH1cbiAgLm9mZmVyX19kZXNjcmlwdGlvbixcbiAgLm9mZmVyX190YWJsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4gICAgcCB7XG4gICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5vZmZlcl9fZmlsZXMge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAub2ZmZXJfX2Zvcm0ge1xuICAgIGNsZWFyOiByaWdodDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgyOyB9XG4gIH1cbn1cbiIsIi5vZmZlci0tdGVhc2VyIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgLm9mZmVyX19wcmltYXJ5LWltYWdlcyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICAub2ZmZXJfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG4gICAgfVxuICB9XG4gIC5vZmZlcl9fY29udGVudC0td2l0aG91dC1pbWFnZSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTsgfVxuICAub2ZmZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cbiAgLm9mZmVyX19saW5rIHtcbiAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG59XG4iLCIuYWRkLW9uIHtcblx0cGFkZGluZzogcmVtLWNhbGMoMTApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCAxMCUpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nOiByZW0tY2FsYygxNSk7IH1cblx0c3Bhbi5oYXMtZXJyb3IgeyBjb2xvcjogJGFsZXJ0LWNvbG9yOyB9XG5cdCZfX2lubmVyIHtcblx0XHRAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuXHR9XG5cdCZfX2ltYWdlIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDMpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgaW1nIHsgd2lkdGg6IDEwMCU7IH1cblx0fVxuXHQmX19kZXRhaWxzIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG5cdH1cbiAgJl9fdGl0bGUge1xuICAgIEBleHRlbmQgaDM7XG4gIH1cblx0Jl9fbGluayB7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXHR9XG5cdCZfX2Rlc2NyaXB0aW9uIHsgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApOyB9XG5cdCZfX3ZpZGVvIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgYTpob3ZlcixcbiAgICBhOmZvY3VzIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgc3BhbiB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgfVxuXHQmX192aWRlby1hcHByb3ZhbCB7IG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTsgfVxuXHQmLS1zZWxlY3RlZCB7IGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDIwJSk7IH1cblx0Ji0taW1hZ2Uge1xuXHRcdC5hZGQtb25fX2RldGFpbHMge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig5KTtcbiAgICAgIH1cblx0XHR9XG5cdH1cbn1cbi5saXN0aW5nLS1hZGQtb24ge1xuXHQubGlzdGluZ19fbGlzdCB7XG5cdFx0QGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcblx0XHRAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblx0XHRtYXJnaW46IDA7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHQmLWl0ZW0ge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpOyB9XG5cdFx0XHQmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cdFx0fVxuXHR9XG59XG4iLCIuY2FsZW5kYXIge1xuICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTsgfVxuICAmX19oZWFkZXIge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgLmNhbGVuZGFyX19zd2l0Y2gge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZm9udC1zaXplOiByZW0tY2FsYygxNik7IH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDE4KTsgfVxuICAgICAgICBpIHsgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg2KTsgfVxuICAgICAgfVxuICAgICAgJi0tbmV4dCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBhIHtcbiAgICAgICAgICBpIHsgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDYpOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmNhbGVuZGFyX19tb250aCB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgc3BhbiB7XG4gICAgICAgIEBleHRlbmQgaDM7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX3RhYmxlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHRhYmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB0aCB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpOyB9XG4gICAgICB0ZCB7XG4gICAgICAgICYuc2xvdCB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRwcmltYXJ5LWNvbG9yLCAxMCUpO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgICAmOmhvdmVyIHsgY3Vyc29yOiBhdXRvOyB9XG4gICAgICAgIH1cbiAgICAgICAgJi5jbG9zZWQge1xuICAgICAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICAgICY6aG92ZXIgeyBjdXJzb3I6IGF1dG87IH1cbiAgICAgICAgfVxuICAgICAgICAmLnNlbGVjdGVkIHsgYmFja2dyb3VuZC1jb2xvcjogJHN1Y2Nlc3MtY29sb3I7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5yZXZlYWwucmV2ZWFsLS1jb2xsZWN0aW9uLW1hcCB7IHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7IH1cbiNjb2xsZWN0aW9uLW1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAxMDAlO1xufVxuIiwiLmNvbGxlY3Rpb24tZGVsaXZlcnkge1xuICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDEwJSk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmc6IHJlbS1jYWxjKDE1KTsgfVxuICAmLS1zZWxlY3RlZCB7IGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDIwJSk7IH1cbiAgJl9faW5uZXIge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gIH1cbiAgJl9faW1hZ2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBpbWcgeyB3aWR0aDogMTAwJTsgfVxuICB9XG4gICZfX2RldGFpbHMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgfVxuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCBoMztcbiAgfVxuICAmX19kZXNjcmlwdGlvbiB7IG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTsgfVxuICAmX19hZGRyZXNzIHsgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApOyB9XG4gICZfX21hcCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgIHNwYW4geyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIH1cbiAgJl9fbGluayB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG4gICYtLWltYWdlIHtcbiAgICAuY29sbGVjdGlvbi1kZWxpdmVyeV9fZGV0YWlscyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmxpc3RpbmctLWNvbGxlY3Rpb24tZGVsaXZlcnkge1xuXHQubGlzdGluZ19fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0QGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcblx0XHRAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblx0XHQmLWl0ZW0ge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpOyB9XG5cdFx0XHQmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cdFx0fVxuXHR9XG59XG4iLCIub3JkZXItaW50cm9kdWN0aW9uIHtcbiAgJl9fY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIHAge1xuICAgICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19saW5rIHtcbiAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG59XG4iLCIub3JkZXItcGF5bWVudCB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgMTAlKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZzogcmVtLWNhbGMoMTUpOyB9XG4gICZfX3RpdGxlIHtcbiAgICBAZXh0ZW5kIGgzO1xuICB9XG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgfVxuICAmX19saW5rIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5vcmRlci1wcm9ncmVzcyB7XG4gICZfX2xpc3Qge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpLmFjdGl2ZSB7XG4gICAgICAub3JkZXItcHJvZ3Jlc3NfX2JhciB7IGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yOyB9XG4gICAgfVxuICAgICYtLTIge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMiwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgfVxuICAgICYtLTMge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMywgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgfVxuICAgICYtLTQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoNCwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgfVxuICAgICYtLTUge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoNSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgfVxuICAgICYtLTYge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoNiwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgfVxuICB9XG4gICZfX3RpdGxlIHtcbiAgICBAZXh0ZW5kIGgyO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgJl9fc3ViLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDE2KTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDE4KTsgfVxuICB9XG4gICZfX2JhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgMTAlKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGhlaWdodDogcmVtLWNhbGMoMTUpOyB9XG4gIH1cbn1cbiIsIi5vcmRlci1zdGF0ZS1zdW1tYXJ5IHtcbiAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCAxMCUpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nOiByZW0tY2FsYygxNSk7IH1cbiAgJl9fdmVoaWNsZS1pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgIGltZyB7IHdpZHRoOiAxMDAlOyB9XG4gIH1cbiAgJl9fdmVoaWNsZS10aXRsZSB7XG4gICAgQGV4dGVuZCBoMztcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgfVxuICAmX192ZWhpY2xlLXByaWNlIHsgZm9udC1zaXplOiByZW0tY2FsYygyMCk7IH1cbiAgJl9fdmVoaWNsZS1hZG1pbi1mZWUgeyBmb250LXNpemU6IDc1JTsgfVxuICAub3JkZXItc3RhdGUtc3VtbWFyeS10YWJsZSB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7IH1cbiAgICB0Ym9keSB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCAxMCUpOyB9XG4gICAgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDEwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAmLm9yZGVyLXN0YXRlLXN1bW1hcnktdGFibGVfX3RvdGFsIHsgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDsgfVxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICYub3JkZXItc3RhdGUtc3VtbWFyeS10YWJsZV9fdmFsdWUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5vcmRlci1zdW1tYXJ5IHtcbiAgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7IH1cbiAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1yaWdodDogMDsgfVxuICAgIH1cbiAgfVxuICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxufVxuIiwiLm9yZGVyIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgJl9fcHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApOyB9XG4gIH1cbiAgJl9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDgpO1xuICAgIH1cbiAgfVxuICAmX19zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICB9XG4gICZfX2Zvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTsgfVxuICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cbn1cbiIsIi5wYXJ0LWV4Y2hhbmdlIHtcbiAgJl9fZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApOyB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdlLS1jb250YWN0IHtcbiAgLnBhZ2VfX21hcCB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApOyB9XG4gICAgI21hcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzAwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGhlaWdodDogcmVtLWNhbGMoNDY0KTsgfVxuICAgIH1cbiAgfVxuICAucGFnZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTsgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5wYWdlX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnBhZ2VfX3ZpZGVvcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNsZWFyOiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgbGkgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgICB9XG4gIH1cbiAgLnBhZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgICBwIGE6bm90KC5idXR0b24pIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIH1cbiAgfVxuICAucGFnZV9fZmlsZXMge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucGFnZV9fZGlyZWN0aW9ucyB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApOyB9XG4gICAgJi10aXRsZSB7IEBleHRlbmQgaDM7IH1cbiAgfVxuICAucGFnZV9fZm9ybSB7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4gICAgJi10aXRsZSB7IEBleHRlbmQgaDI7IH1cbiAgfVxufVxuIiwiLnBhZ2UtLWRlZmF1bHQge1xuICAmID4gLnBhZ2VfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7IH1cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuICAmID4gLnBhZ2VfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDMyMCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuICAmID4gLnBhZ2VfX3ZpZGVvcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNsZWFyOiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgbGkgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgICB9XG4gIH1cbiAgJiA+IC5wYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4gICAgcCB7XG4gICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYgPiAucGFnZV9fZmlsZXMge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucGFnZV9fY2hpbGRyZW4ge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApOyB9XG4gIH1cbiAgLnBhZ2VfX2Zvcm0ge1xuICAgIGNsZWFyOiByaWdodDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgyOyB9XG4gIH1cbn1cbiIsIi5wYWdlLS1mdWxsLXdpZHRoIHtcbiAgJiA+IC5wYWdlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApOyB9XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgJiA+IC5wYWdlX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyB3aWR0aDogcmVtLWNhbGMoNDAwKTsgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gICYgPiAucGFnZV9fdmlkZW9zIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDMyMCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHdpZHRoOiByZW0tY2FsYyg0MDApOyB9XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgbGkgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgICB9XG4gIH1cbiAgJiA+IC5wYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4gICAgcCB7XG4gICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYgPiAucGFnZV9fZmlsZXMge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucGFnZV9fY2hpbGRyZW4ge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApOyB9XG4gIH1cbiAgLnBhZ2VfX2Zvcm0ge1xuICAgIGNsZWFyOiByaWdodDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgyOyB9XG4gIH1cbn1cbiIsIi5wYWdlLS10ZWFzZXIge1xuICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAucGFnZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgLnBhZ2VfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG4gICAgfVxuICB9XG4gIC5wYWdlX19jb250ZW50LS13aXRob3V0LW1lZGlhIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpOyB9XG4gIC5wYWdlX190aXRsZSB7XG4gICAgQGV4dGVuZCBoMjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gIH1cbiAgLnBhZ2VfX3N1Yi10aXRsZSB7XG4gICAgQGV4dGVuZCBoMztcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gIH1cbiAgLnBhZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gIH1cbiAgLnBhZ2VfX2xpbmsge1xuICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cbn1cbiIsIi5wYXJ0LS1mZWF0dXJlZCB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gIC5wYXJ0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgfVxuICB9XG4gIC5wYXJ0X19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDgpO1xuICAgIH1cbiAgfVxuICAucGFydF9fY29udGVudC0td2l0aG91dC1pbWFnZSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTsgfVxuICAucGFydF9fdGl0bGUge1xuICAgIEBleHRlbmQgaDI7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICB9XG4gIC5wYXJ0X19zdWItdGl0bGUge1xuICAgIEBleHRlbmQgaDM7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICB9XG4gIC5wYXJ0X19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICB9XG4gIC5wYXJ0X19saW5rIHtcbiAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG59XG4iLCIucGFydC0tZnVsbCB7XG4gIC5wYXJ0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5wYXJ0X19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnBhcnRfX3ZpZGVvcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNsZWFyOiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgbGkgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgICB9XG4gIH1cbiAgLnBhcnRfX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgICBwIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBhcnRfX2ZpbGVzIHtcbiAgICB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBhcnRfX2Zvcm0ge1xuICAgIGNsZWFyOiByaWdodDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgyOyB9XG4gIH1cbn1cbiIsIi5wYXJ0LS10ZWFzZXIge1xuICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAucGFydF9fcHJpbWFyeS1pbWFnZXMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgLnBhcnRfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG4gICAgfVxuICB9XG4gIC5wYXJ0X19jb250ZW50LS13aXRob3V0LWltYWdlIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpOyB9XG4gIC5wYXJ0X19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICB9XG4gIC5wYXJ0X19saW5rIHtcbiAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG59XG4iLCIubWV0YSB7XG4gICYgPiB1bCB7XG4gICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMTUgMCk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAmID4gbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICB9XG4gIH1cbiAgJl9fcHVibGlzaGVkIHtcbiAgICBzcGFuIHsgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDsgfVxuICB9XG4gICZfX2NhdGVnb3JpZXMsXG4gICZfX3RhZ3Mge1xuICAgICYtdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJywnO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBvc3QtLWRlZmF1bHQge1xuICAucG9zdF9fZGVzY3JpcHRpb24geyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgLnBvc3RfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnBvc3RfX3NlY29uZGFyeS1pbWFnZXMge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDMyMCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuICAucG9zdF9fdmlkZW9zIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDMyMCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICBsaSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgIH1cbiAgfVxuICAucG9zdF9fZmlsZXMge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBvc3QtLWZlYXR1cmVkIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgLnBvc3RfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTtcbiAgICB9XG4gIH1cbiAgLnBvc3RfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG4gICAgfVxuICB9XG4gIC5wb3N0X19jb250ZW50LS13aXRob3V0LWltYWdlIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpOyB9XG4gIC5wb3N0X190aXRsZSB7XG4gICAgQGV4dGVuZCBoMjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gIH1cbiAgLnBvc3RfX3N1Yi10aXRsZSB7XG4gICAgQGV4dGVuZCBoMztcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gIH1cbiAgLnBvc3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cbiAgLnBvc3RfX2xpbmsge1xuICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cbn1cbiIsIi5wb3N0LS1mdWxsLXdpZHRoIHtcbiAgLnBvc3RfX2Rlc2NyaXB0aW9uIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4gIC5wb3N0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5wb3N0X19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyB3aWR0aDogcmVtLWNhbGMoNDAwKTsgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5wb3N0X192aWRlb3Mge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzIwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgd2lkdGg6IHJlbS1jYWxjKDQwMCk7IH1cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICBsaSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgIH1cbiAgfVxuICAucG9zdF9fZmlsZXMge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBvc3QtLXRlYXNlciB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gIC5wb3N0X19wcmltYXJ5LWltYWdlcyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICAucG9zdF9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig4KTtcbiAgICB9XG4gIH1cbiAgLnBvc3RfX2NvbnRlbnQtLXdpdGhvdXQtaW1hZ2UgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7IH1cbiAgLnBvc3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cbiAgLnBvc3RfX2xpbmsge1xuICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cbn1cbiIsIi5xdWljay1zZWFyY2gge1xuICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICZfX2xlZ2VuZCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBleHRlbmQgaDM7XG4gIH1cbiAgLmZpZWxkLXNlYXJjaC1zdHJpbmcge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig4KTtcbiAgICB9XG4gIH1cbiAgLmZpZWxkLXN1Ym1pdCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHdpZHRoOiAxMDAlOyB9XG4gICAgfVxuICB9XG59XG4iLCIuc2VhcmNoLXNlbGVjdGlvbiB7XG4gICZfX2NvdW50IHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICZfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbnRlbnQ6ICctJztcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMyk7XG4gICAgfVxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgfVxuICB9XG4gICZfX3BhcmFtZXRlcnMge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuICB9XG4gICZfX2xpc3Qge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICAmX19saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IHJlbS1jYWxjKDUgNSA1IDApO1xuICB9XG4gICZfX3BhcmFtZXRlciB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUgNiA1IDEyKTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDE1KTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDYpO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCA2KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDUlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zaG93cm9vbS0tZmVhdHVyZWQge1xuICAuc2hvd3Jvb21fX3ByaW1hcnktaW1hZ2VzIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApOyB9XG59XG4iLCIuc2hvd3Jvb20tLWZ1bGwge1xuICAuc2hvd3Jvb21fX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnNob3dyb29tX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnNob3dyb29tX192aWRlb3Mge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzIwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICAgIGxpIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4gICAgfVxuICB9XG4gIC5zaG93cm9vbV9fZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgIHAge1xuICAgICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnNob3dyb29tLS10ZWFzZXIge1xuICAuc2hvd3Jvb21fX3ByaW1hcnktaW1hZ2VzIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApOyB9XG59XG4iLCIuc3BlY2lmaWNhdGlvbiB7XG4gICZfX3ZhbHVlIHsgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IH1cbn1cbiIsIi50ZWNobmljYWwtZGF0YSB7XG4gICYtLWZ1bGwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICAudGVjaG5pY2FsLWRhdGFfX2xhYmVsIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gICAgLnRlY2huaWNhbC1kYXRhX192YWx1ZSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH1cbiAgJi0tcHJvbW90ZWQge1xuICAgIC50ZWNobmljYWwtZGF0YV9faWNvbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIC50ZWNobmljYWwtZGF0YV9fbGFiZWwge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIC50ZWNobmljYWwtZGF0YV9fdmFsdWUge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLS1zdW1tYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCA1JSk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTYpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICAudGVjaG5pY2FsLWRhdGFfX2xhYmVsIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gICAgLnRlY2huaWNhbC1kYXRhX192YWx1ZSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH1cbiAgJi0tdGVhc2VyIHtcbiAgICAudGVjaG5pY2FsLWRhdGFfX2ljb24ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgICAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLWZlYXR1cmVkIHtcbiAgICAudGVjaG5pY2FsLWRhdGFfX2ljb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIC50ZWNobmljYWwtZGF0YV9fdmFsdWUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICB9XG4gIH1cbiAgJi0tY29tcGFyZSB7XG4gICAgLnRlY2huaWNhbC1kYXRhX19sYWJlbCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbiAgICAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi10b3A6IHJlbS1jYWxjKDEyKTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLnZlaGljbGUtLWNvbXBhcmUge1xuICAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4MCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgJiA+IGxpIHtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSk7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDsgfVxuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi52ZWhpY2xlLS1nZW5lcmFsIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczoxMiwkZ3V0dGVyczowKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLnZlaGljbGVfX21lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLnZlaGljbGVfX2RldGFpbHMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgIH1cbiAgfVxuICAudmVoaWNsZV9faGVhZGVyIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApOyB9XG4gIC52ZWhpY2xlX190aXRsZSB7XG4gICAgQGV4dGVuZCBoMjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICAudmVoaWNsZV9fbWFrZSxcbiAgICAudmVoaWNsZV9fbW9kZWwge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gICAgLnZlaGljbGVfX21vZGVsLXZhcmlhbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX3RlY2huaWNhbC1kYXRhLXByb21vdGVkIHtcbiAgICAmID4gdWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICAmID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIC50ZWNobmljYWwtZGF0YV9fbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAgICAgfVxuICAgICAgICAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJywnO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQgLnRlY2huaWNhbC1kYXRhX192YWx1ZTo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnZlaGljbGUtLWxhdGVzdCB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnM6MTIsJGd1dHRlcnM6MCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC52ZWhpY2xlX19tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX2hlYWRlciB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTsgfVxuICAudmVoaWNsZV9fdGl0bGUge1xuICAgIEBleHRlbmQgaDI7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLnZlaGljbGVfX21ha2UsXG4gICAgLnZlaGljbGVfX21vZGVsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIC52ZWhpY2xlX19tb2RlbC12YXJpYW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX190ZWNobmljYWwtZGF0YS1wcm9tb3RlZCB7XG4gICAgJiA+IHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgJiA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAudGVjaG5pY2FsLWRhdGFfX2xhYmVsOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJzonO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgIH1cbiAgICAgICAgLnRlY2huaWNhbC1kYXRhX192YWx1ZTo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcsJztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIC50ZWNobmljYWwtZGF0YV9fdmFsdWU6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi52ZWhpY2xlLS1yZWNlbnRseS12aWV3ZWQge1xuICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnZlaGljbGVfX2RldGFpbHMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTUgNiAwKTtcbiAgfVxuICAudmVoaWNsZV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG59XG4iLCIubC1hbGVydCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xufVxuIiwiLmwtZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcbiAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy10b3A6IHJlbS1jYWxjKDUwKTsgfVxuICAmX19maXJzdCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4iLCIuY3JlZGl0LWNhbGN1bGF0b3Ige1xuICAmLS1mdWxsIHtcbiAgICAuY3JlZGl0LWNhbGN1bGF0b3JfX3Jlc3VsdHMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgfVxufVxuIiwiLmV4dHJhcy1wcmljZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gICZfX3ZhbHVlIHsgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDsgfVxuICAmLS10ZWFzZXIge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIC5leHRyYXMtcHJpY2VfX2xhYmVsIHsgZm9udC1zaXplOiA2NSU7IH1cbiAgfVxuICAmLS1mdWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgMTAlKTtcbiAgICAuZXh0cmFzLXByaWNlX19uZXcsXG4gICAgLmV4dHJhcy1wcmljZV9fZXh0cmFzIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgICAuZXh0cmFzLXByaWNlX19leHRyYXMgeyBib3JkZXItbGVmdDogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDEwJSk7IH1cbiAgICAuZXh0cmFzLXByaWNlX19sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogNTUlO1xuICAgIH1cbiAgICAuZXh0cmFzLXByaWNlX19saW5rIHtcbiAgICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2IDgpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5leHRyYXMge1xuICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAmX19saXN0IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDgpO1xuICAgIH1cbiAgICAmLXRpdGxlIHsgQGV4dGVuZCBoMzsgfVxuICB9XG4gICZfX3N1bW1hcnkge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTtcbiAgICB9XG4gICAgJi1hbW91bnQge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gICAgJi1leHRyYXMge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgMTAlKTtcbiAgICB9XG4gICAgJi1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgfVxuICAgICYtdmFsdWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG59XG4iLCIuZmFuY3lib3gtc2xpZGUgPiAuZmFuY3lib3gtbG9hZGluZyB7IC13ZWJraXQtYW5pbWF0aW9uOiBiIC44cyBpbmZpbml0ZSBsaW5lYXI7IH1cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2UgeyBwYWRkaW5nOiAwOyB9XG4iLCIucmV2aWV3LXN1bW1hcnkge1xuICAmX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAmX19hdmVyYWdlIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDYwKTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogNTAlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICB9XG4gIH1cbiAgJl9fdG90YWwtcmVzcG9uc2VzIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgfVxuICAmX19saW5rIHtcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbigpO1xuICAgIH1cbiAgfVxufVxuLnJldmlldy1saXN0aW5nIHtcbiAgJl9faGVhZGVyIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAmLWZpcnN0IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICAgICAgfVxuICAgIH1cbiAgICAmLXNlY29uZCB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fbG9nbyB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTsgfVxuICAmX19zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmbG9hdDogcmlnaHQ7IH1cbiAgfVxuICAmX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG4gICZfX2xpc3QtaXRlbSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTsgfVxuICAmX19saW5rIHtcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbigpO1xuICAgIH1cbiAgfVxufVxuLnJldmlldyB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpOyB9XG4gICZfX2hlYWRlciB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgICYtZmlyc3Qge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNik7XG4gICAgICB9XG4gICAgfVxuICAgICYtc2Vjb25kIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fZGF0ZSB7XG4gICAgc3BhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMpO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuICB9XG4gICZfX3JhdGluZy1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOCk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAmX19saW5rIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICB9XG4gIH1cbn1cbi5yZXZpZXctcmF0aW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogcmVtLWNhbGMoMTYxKTtcbiAgaGVpZ2h0OiByZW0tY2FsYygyNyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9jb3JlL2ltZy9mZWVmby9zdGFycy5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1zaXplOiByZW0tY2FsYygzMiA1NSk7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICZfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygyNyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvcmUvaW1nL2ZlZWZvL3N0YXJzLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yN3B4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDMyIDU0KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjcpO1xuICB9XG59XG4iLCIud2l6YXJkIHtcbiAgJiA+IC5zdGVwcyB7XG4gICAgJiA+IHVsIGxpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQgYSB7IG1hcmdpbi1yaWdodDogMCB9XG4gICAgfVxuICAgIGEsXG4gICAgYTpob3ZlcixcbiAgICBhOmFjdGl2ZSB7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCA4KTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDggMTUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW46IHJlbS1jYWxjKDAgOCA4IDApOyB9XG4gICAgfVxuICAgIC5jdXJyZW50IGEsXG4gICAgLmN1cnJlbnQgYTpob3ZlcixcbiAgICAuY3VycmVudCBhOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIC5kb25lIGEsXG4gICAgLmRvbmUgYTpob3ZlcixcbiAgICAuZG9uZSBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgMjAlKTtcbiAgICB9XG4gICAgLmRpc2FibGVkIGEsXG4gICAgLmRpc2FibGVkIGE6aG92ZXIsXG4gICAgLmRpc2FibGVkIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgMTAlKTtcbiAgICB9XG4gICAgLmVycm9yIGEsXG4gICAgLmVycm9yIGE6aG92ZXIsXG4gICAgLmVycm9yIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgfVxuICB9XG4gICYgPiAuY29udGVudCA+IC5ib2R5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IHJlbS1jYWxjKDggMCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgJiA+IC5hY3Rpb25zIHtcbiAgICBhLFxuICAgIGE6aG92ZXIsXG4gICAgYTphY3RpdmUge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoOCAxNSk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gICAgLmRpc2FibGVkIGEsXG4gICAgLmRpc2FibGVkIGE6aG92ZXIsXG4gICAgLmRpc2FibGVkIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgMTAlKTtcbiAgICB9XG4gICAgJiA+IHVsID4gbGkgeyBtYXJnaW46IHJlbS1jYWxjKDAgMCAwIDgpOyB9XG4gIH1cbn1cbiIsImJ1dHRvbiB7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG4uYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAmLS1hbGVydCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKCRiYWNrZ3JvdW5kOiRhbGVydC1jb2xvciwkYmFja2dyb3VuZC1ob3ZlcjphdXRvKTtcbiAgfVxuICAmLS1maWx0ZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGkge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG4gIH1cbiAgJi0tZnVsbC13aWR0aCB7IHdpZHRoOiAxMDAlOyB9XG4gICYtLW5vLW1hcmdpbiB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgJi0tcmVzZXQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkYmFja2dyb3VuZDokc2Vjb25kYXJ5LWNvbG9yLCRiYWNrZ3JvdW5kLWhvdmVyOmF1dG8pO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYgMTIpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG4gIH1cbiAgJi0tc2VhcmNoIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNSAwKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gICYtLXNlY29uZGFyeS1jb2xvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKCRiYWNrZ3JvdW5kOiRzZWNvbmRhcnktY29sb3IsJGJhY2tncm91bmQtaG92ZXI6YXV0byk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgfVxuICAmLS1zbWFsbCB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMTIpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICB9XG4gICYtLXZlaGljbGUtZGV0YWlscyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAmLS14c21hbGwge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYgOCk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIH1cbiAgJi0taG9sbG93e1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yOiAkd2hpdGUsICRob3Zlci1saWdodG5lc3M6MC41LCAkYm9yZGVyLXdpZHRoOjFweCk7XG4gIH1cbn1cbiIsIi5jbG9zZS1idXR0b24ge1xuICB0b3A6IHJlbS1jYWxjKDEyKTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICY6aG92ZXIgeyBjb2xvcjogaW5oZXJpdDsgfVxuICAmLS10b2dnbGVyIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgei1pbmRleDogMztcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIgeyBjb2xvcjogJHdoaXRlOyB9XG4gIH1cbn1cbiIsIi5mb290ZXItbGVnYWxzIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuaWNvbiB7XG4gICY6OmJlZm9yZSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gICYtLWFycm93LWJhY2s6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTVjNCc7XG4gIH1cbiAgJi0tYXJyb3ctZm9yd2FyZDo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlNWM4JztcbiAgfVxuICAmLS1iaWtlOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU1MmYnO1xuICB9XG4gICYtLWNhcjo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlNTMxJztcbiAgfVxuICAmLS1jaGV2cm9uLWxlZnQ6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTVjYic7XG4gIH1cbiAgJi0tY2hldnJvbi1yaWdodDo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlNWNjJztcbiAgfVxuICAmLS1jbG9jazo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlODU1JztcbiAgfVxuICAmLS1maW5hbmNlOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU4NzcnO1xuICB9XG4gICYtLWVubGFyZ2U6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTU2Yic7XG4gIH1cbiAgJi0tZXhwYW5kLWxlc3M6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTVjZSc7XG4gIH1cbiAgJi0tZXhwYW5kLW1vcmU6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTVjZic7XG4gIH1cbiAgJi0tZG9jdW1lbnQ6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTg3Myc7XG4gIH1cbiAgJi0tZmFjZWJvb2s6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgY29udGVudDogXCJcXGYwOWFcIjtcbiAgfVxuICAmLS1maWx0ZXI6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTE1Mic7XG4gIH1cbiAgJi0tZ29vZ2xlLXBsdXM6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgY29udGVudDogXCJcXGYwZDVcIjtcbiAgfVxuICAmLS1pbWFnZS1saWJyYXJ5OjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU0MTMnO1xuICB9XG4gICYtLWluZm86OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBjb250ZW50OiAnXFxlODhmJztcbiAgfVxuICAmLS1tYWlsOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGUxNTgnO1xuICB9XG4gICYtLW1lbnU6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTVkMic7XG4gIH1cbiAgJi0tcGxheTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlMDM5JztcbiAgfVxuICAmLS1waG9uZTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlMGNkJztcbiAgfVxuICAmLS1yZWNlbnQ6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTg4OSc7XG4gIH1cbiAgJi0tc2hhcmU6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTgwZCc7XG4gIH1cbiAgJi0tc2F2ZWQ6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTg3ZCc7XG4gIH1cbiAgJi0tc2VhcmNoOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU4YjYnO1xuICB9XG4gICYtLXN0YXI6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZTgzOCc7XG4gIH1cbiAgJi0tdHJhbnNpdDo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlNTM1JztcbiAgfVxuICAmLS10d2l0dGVyOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgIGNvbnRlbnQ6IFwiXFxmMDk5XCI7XG4gIH1cbiAgJi0tcHJpbnQ6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgY29udGVudDogJ1xcZThhZCc7XG4gIH1cbiAgJi0tdmlkZW8tbGlicmFyeTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxlMDRhJztcbiAgfVxuICAmLS13YWxrOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXGU1MzYnO1xuICB9XG59XG4iLCIubGlzdGluZyB7XG4gICZfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG4gICYtLWJsb2NrIHtcbiAgICAubGlzdGluZ19fbGlzdCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgJi1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpOyB9XG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSkgIWltcG9ydGFudDsgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7IH1cbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSkgIWltcG9ydGFudDsgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7IH1cbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSkgIWltcG9ydGFudDsgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLWJsb2NrLWZvb3RlciB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAubGlzdGluZ19fbGlzdCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLWJsb2NrLXNpZGViYXIge1xuICAgIC5saXN0aW5nX19saXN0IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICAgICYtaXRlbSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTsgfVxuICAgIH1cbiAgfVxuICAmLS1icmFuY2gtZm9vdGVyIHtcbiAgICAubGlzdGluZ19fbGlzdCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICAmLWl0ZW0geyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgICB9XG4gIH1cbiAgJi0tYnJhbmNoLXRlYXNlcixcbiAgJi0tY3VzdG9tLWVudHJ5LXRlYXNlcixcbiAgJi0tcGFnZS10ZWFzZXIsXG4gICYtLXBvc3QtdGVhc2VyIHtcbiAgICAubGlzdGluZ19fbGlzdCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSk7IH1cbiAgICAgICB9XG4gICAgfVxuICB9XG4gICYtLWN1c3RvbS1lbnRyeS1mZWF0dXJlZCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIC5saXN0aW5nX19oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMyk7IH1cbiAgICB9XG4gICAgLmxpc3RpbmdfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgfVxuICAgIH1cbiAgICAubGlzdGluZ19fbWFpbiB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBAaW5jbHVkZSBncmlkLWNvbHVtbig5KTsgfVxuICAgIH1cbiAgICAubGlzdGluZ19fbGlzdCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgJi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLS12ZWhpY2xlLWNvbXBhcmUge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgLmxpc3RpbmdfX2hlYWRlciB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTsgfVxuICAgIC5saXN0aW5nX190aXRsZSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmbG9hdDogbGVmdDsgfVxuICAgIH1cbiAgICAubGlzdGluZ19fcmVtb3ZlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmxpc3RpbmdfX2tleSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMyk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigyKTtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygyMjMgMCAwIDApO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTcgMCAwIDE1KTtcbiAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDsgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5saXN0aW5nX19jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDkpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLXZlaGljbGUtcmVjZW50bHktdmlld2VkIHtcbiAgICAubGlzdGluZ19fdGl0bGUgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgLmxpc3RpbmdfX2xpc3Qge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgJi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNCk7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmxpc3RpbmdfX25vLWl0ZW1zIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIH1cbiAgJi0tdmVoaWNsZS1mZWF0dXJlZCxcbiAgJi0tdmVoaWNsZS1sYXRlc3Qge1xuICAgIC5saXN0aW5nX190aXRsZSB7XG4gICAgICBAZXh0ZW5kIGgyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICB9XG4gIH1cbiAgJi0tdmVoaWNsZS1zaW1pbGFyIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbiAgICAubGlzdGluZ19fdGl0bGUge1xuICAgICAgQGV4dGVuZCBoMjtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgfVxuICB9XG4gICYtLXZlaGljbGUtZmVhdHVyZWQtc2lkZWJhcixcbiAgJi0tdmVoaWNsZS1sYXRlc3Qtc2lkZWJhciB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIC5saXN0aW5nX190aXRsZSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgfVxuICAmLS12ZWhpY2xlLXRlYXNlciB7XG4gICAgLmxpc3RpbmdfX2hlYWRlciB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgIH1cbiAgICAubGlzdGluZ19fdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBAaW5jbHVkZSBncmlkLWNvbHVtbig4KTsgfVxuICAgIH1cbiAgICAubGlzdGluZ19fb3JkZXIge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTsgfVxuICAgICAgLnZlaGljbGUtb3JkZXIgeyBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpOyB9XG4gICAgICAuZmllbGQtdmVoaWNsZV9zZWFyY2hfb3JkZXIgeyBAaW5jbHVkZSBncmlkLWNvbHVtbig4KTsgfVxuICAgICAgLmZpZWxkLXZlaGljbGVfc2VhcmNoX3Blcl9wYWdlIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7IH1cbiAgICB9XG4gICAgLmxpc3RpbmdfX2ZpbHRlci1yZXN1bHRzIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmJ1dHRvbiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgfVxuICAgIC5saXN0aW5nX19maWx0ZXItcmVzdWx0cy0tcmVkdWNlZCB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpOyB9XG4gICAgLmxpc3RpbmdfX2FkanVzdC1maW5hbmNlIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuYnV0dG9uIHsgd2lkdGg6IDEwMCU7IH1cbiAgICB9XG4gICAgLmxpc3RpbmdfX2ZpbmFuY2UtZm9ybSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBkaXNwbGF5OiBibG9jazsgfVxuICAgIH1cbiAgICAubGlzdGluZ19faXRlbS1jb3VudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICAgIHNwYW4geyBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkOyB9XG4gICAgfVxuICAgIC5saXN0aW5nX19saXN0IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGknLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICAgICYtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTsgfVxuICAgICAgfVxuICAgIH1cbiAgICAubGlzdGluZ19fZmluYW5jZS1leGFtcGxlIHsgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApOyB9XG4gICAgLmxpc3RpbmdfX2Zvb3RlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5saXN0aW5nX19maWx0ZXItcmVzdWx0cy1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICBib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuICB9XG59XG4iLCIubWVudS10b2dnbGUge1xuICBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDc3KTtcbiAgICBpLFxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgICBpOjpiZWZvcmUgeyBmb250LXNpemU6IHJlbS1jYWxjKDI2KTsgfVxuICB9XG59XG4ubWVudSB7XG4gICYtLW1haW4ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgdGFibGUtbGF5b3V0OiBhdXRvO1xuICAgIH1cbiAgICBsaSBhIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjMgMCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJHNlY29uZGFyeS1jb2xvciwgMyUpO1xuICAgIH1cbiAgICAmID4gbGkgPiB1bCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG4gICAgLnN1Ym1lbnUgbGkgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCA0MCk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLWZpeGVkIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgfVxuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjQgMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNiAwIDYgNDApO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICBpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmICsgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtLW1lbnUtdG9nZ2xlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBhIGkgKyBzcGFuIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICB9XG4gICAgICAmLS1waG9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgfVxuICAgICAgJi0tc2F2ZSB7XG4gICAgICAgIC5zYXZlZC1jb3VudGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzKTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLS1zb2NpYWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIGEgaSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLWZvb3RlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICAgICAgYSB7IHBhZGRpbmc6IHJlbS1jYWxjKDAgNCk7IH1cbiAgICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAmID4gbGkgPiB1bCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgfVxuICAmLS1zaGFyZSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIGxpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoOCAwKTtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAmLS1mYWNlYm9vayB7IGJhY2tncm91bmQtY29sb3I6ICMwYjU5OTg7IH1cbiAgICAgICAgICAmLS10d2l0dGVyIHsgYmFja2dyb3VuZC1jb2xvcjogIzQwOTlmZjsgfVxuICAgICAgICAgICYtLWdvb2dsZS1wbHVzIHsgYmFja2dyb3VuZC1jb2xvcjogI0RBNDgzNTsgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLXNvY2lhbCB7XG4gICAgbGkgYSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMzQpOyB9XG4gIH1cbiAgJi0tdmVoaWNsZS1mZWF0dXJlZCxcbiAgJi0tdmVoaWNsZS1sYXRlc3Qge1xuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIgNSk7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDFweCByZ2JhKCRibGFjaywgMC4zKTtcbiAgICAgICAgaSB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgaTo6YmVmb3JlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICAgICAgICBjb250ZW50OiAnXFxlODdlJztcbiAgICAgICAgfVxuICAgICAgICAmLmpzLXNhdmUtdmVoaWNsZS0tc2F2ZWQgaTo6YmVmb3JlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICAgICAgICBjb250ZW50OiAnXFxlODdkJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLS12ZWhpY2xlLWZ1bGwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAubWVudS1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMSA2KTtcbiAgICAgICAgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5tZW51LWl0ZW0tLXNhdmUge1xuICAgICAgYSB7XG4gICAgICAgIGk6OmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgICAgICAgY29udGVudDogJ1xcZTg3ZSc7XG4gICAgICAgIH1cbiAgICAgICAgJi5qcy1zYXZlLXZlaGljbGUtLXNhdmVkIGk6OmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgICAgICAgY29udGVudDogJ1xcZTg3ZCc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm1lbnUtaXRlbS0tcHJpbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuICAgIC5tZW51LWl0ZW0tLWVucXVpcmUsICAubWVudS1pdGVtLS1zZXJ2aWNlLWhpc3Rvcnl7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xuICAgICAgYSB7IHBhZGRpbmc6IHJlbS1jYWxjKDEzIDApOyB9XG4gICAgfVxuICB9XG59XG4uaXMtZHJvcGRvd24tc3VibWVudSB7IGJvcmRlcjogbm9uZTsgfVxuLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7IHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE4KTsgfVxuLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHdpZHRoPScxMicgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgMTIgOCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNMTAuNTkuNTlMNiA1LjE3IDEuNDEuNTkgMCAybDYgNiA2LTYnIGZpbGw9JyUyMzk5OTk5OScgZmlsbC1ydWxlPSdldmVub2RkJy8+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDExIDcpO1xuICB3aWR0aDogcmVtLWNhbGMoMTEpO1xuICBoZWlnaHQ6IHJlbS1jYWxjKDcpO1xuICBib3JkZXI6IG5vbmU7XG4gIHJpZ2h0OiByZW0tY2FsYyg2KTtcbn1cbi5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCAxMiA4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMC41OS41OUw2IDUuMTcgMS40MS41OSAwIDJsNiA2IDYtNicgZmlsbD0nJTIzOTk5OTk5JyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLz48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtc2l6ZTogcmVtLWNhbGMoMTEgNyk7XG4gIHdpZHRoOiByZW0tY2FsYygxMSk7XG4gIGhlaWdodDogcmVtLWNhbGMoNyk7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLXRvcDogLSByZW0tY2FsYygzKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbn1cbi5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCAxMiA4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMC41OS41OUw2IDUuMTcgMS40MS41OSAwIDJsNiA2IDYtNicgZmlsbD0nJTIzOTk5OTk5JyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLz48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtc2l6ZTogcmVtLWNhbGMoMTEgNyk7XG4gIHdpZHRoOiByZW0tY2FsYygxMSk7XG4gIGhlaWdodDogcmVtLWNhbGMoNyk7XG4gIGJvcmRlcjogbm9uZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuLmpzLWRyaWxsZG93bi1iYWNrID4gYSBzcGFuIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuIiwiLnBvcC11cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk5OTk5OTk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gICZfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiByZW0tY2FsYygxMCk7XG4gICAgbGVmdDogNSU7XG4gICAgcmlnaHQ6IDUlO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICB6LWluZGV4OiA5OTk5OTk5OTk5OTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICBsZWZ0OiAxMCU7XG4gICAgICByaWdodDogMTAlO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgdG9wOiByZW0tY2FsYygzMCk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IHRvcDogcmVtLWNhbGMoNTApOyB9XG4gIH1cbiAgJl9fb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMC44KTtcbiAgICB6LWluZGV4OiA5OTk5OTk5OTk5O1xuICB9XG4gICZfX2xvZ28ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7IH1cbiAgfVxuICAmX19jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZm9udC1zaXplOiByZW0tY2FsYygxNik7IH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDE4KTsgfVxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICB9XG4gICAgYSB7IGNvbG9yOiAkd2hpdGU7IH1cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCAxNSAwKTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gICZfX2Nsb3NlIHtcbiAgICBAaW5jbHVkZSBidXR0b24oKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDggMTIpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMTApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMiAxNCk7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDE2KTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpOyB9XG4gIH1cbiAgJl9fY2xvc2UtaWNvbiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICAmOmhvdmVyIHsgY29sb3I6ICR3aGl0ZTsgfVxuICB9XG59XG5ib2R5LnBvcC11cC1vcGVuIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuIiwiLnJhdGluZyB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgNSUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICZfX2xvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgfVxuICAmX190aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMCAyKTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAmX19zdGFycyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMCAyKTtcbiAgICBjb2xvcjogI2ZmYzcxZjtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAmX19saW5rIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgLmJ1dHRvbiB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgfVxufVxuIiwiLnJldmVhbCB7XG4gIG91dGxpbmU6IG5vbmU7XG4gICZfX2hlYWRlciB7IEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7IH1cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICAgIH1cbiAgfVxuICAmX192ZWhpY2xlIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gICZfX3ZlaGljbGUtbWFrZS1tb2RlbCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuICAmX192ZWhpY2xlLWltYWdlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgJi0tdmVoaWNsZS1lbnF1aXJ5LFxuICAmLS1lbWFpbC12ZWhpY2xlIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZzogcmVtLWNhbGMoNTAgMzAgMzApOyB9XG4gIH1cbiAgJi0tdWxleiB7XG4gICAgLnJldmVhbF9faGVhZGVyIHsgbWFyZ2luOiByZW0tY2FsYygwIDAgMTUgMCk7IH1cbiAgICAucmV2ZWFsX19mb290ZXIge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMDNiOTI7XG4gICAgfVxuICB9XG59XG4iLCIudG9nZ2xlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiByZW0tY2FsYygyNzApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgei1pbmRleDogOTk5O1xuICAmOjotd2Via2l0LXNjcm9sbGJhciB7IGRpc3BsYXk6IG5vbmU7IH1cbn1cbi50b2dnbGVyLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogOTk4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMC41KTtcbn1cbiIsIi5ibG9jay0tZGVmYXVsdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgLmJsb2NrX19wcmltYXJ5LWltYWdlcyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmxvY2tfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg2IDgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgaSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgfVxuICAuYmxvY2tfX2RldGFpbHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZzogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTsgfVxuICB9XG4gIC5ibG9ja19fdGl0bGUge1xuICAgIEBleHRlbmQgaDM7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAkYmxhY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShzbWFydC1zY2FsZSgkYmxhY2ssIDUlKSwgMC41KTtcbiAgfVxuICAuYmxvY2tfX2Rlc2NyaXB0aW9uIHtcbiAgICBAZXh0ZW5kIGg0O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggJGJsYWNrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoc21hcnQtc2NhbGUoJGJsYWNrLCA1JSksIDAuNSk7XG4gIH1cbn1cbiIsIi5ibG9jay0tcmV2aWV3cyB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC0gNCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDUlKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLSA0KTsgfVxuICAuYmxvY2tfX3ByaW1hcnktaW1hZ2VzIHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDQpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg2KTtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNik7XG4gICAgfVxuICB9XG4gIC5ibG9ja19fc3ViLXRpdGxlIHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDQpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDYpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgIH1cbiAgfVxuICAuYmxvY2tfX2Rlc2NyaXB0aW9uLXJhdGluZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogcmVtLWNhbGMoMTYxKTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDI3KTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9kaXN0L2ltZy9zdGFycy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogcmVtLWNhbGMoMzIgNTUpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNik7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDYpO1xuICAgIH1cbiAgICAmLWlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMjcpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Rpc3QvaW1nL3N0YXJzLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI3cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDMyIDU0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNyk7XG4gICAgfVxuICB9XG4gIC5ibG9ja19fZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IHJlbS1jYWxjKDQpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDYpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgIH1cbiAgfVxuICAuYmxvY2tfX2xpbmsge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoNCk7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDYpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICB9XG4gICAgYSB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgfVxufVxuIiwiLmJsb2NrLS1zaWRlYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAuYmxvY2tfX3ByaW1hcnktaW1hZ2VzIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5ibG9ja19faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYgOCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG4gIC5ibG9ja19fZGV0YWlscyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgfVxuICAuYmxvY2tfX3RpdGxlIHtcbiAgICBAZXh0ZW5kIGgzO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4ICRibGFjaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHNtYXJ0LXNjYWxlKCRibGFjaywgNSUpLCAwLjUpO1xuICB9XG59XG4iLCIuYnJhbmNoLS1oZWFkZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5icmFuY2hfX3RlbGVwaG9uZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzNik7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgLmJyYW5jaF9fYWRkcmVzcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHNwYW4ge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnLCc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZDo6YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuICAgIH1cbiAgfVxufVxuIiwiLmJyYW5jaC0tdmVoaWNsZS1zdW1tYXJ5IHtcbiAgcGFkZGluZzogcmVtLWNhbGMoMTYpO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCA1JSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLmJyYW5jaF9fYWRkcmVzcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHNwYW4ge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnLCc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZDo6YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuICAgIH1cbiAgfVxufVxuIiwiLmN1c3RvbS1lbnRyeS0tZmVhdHVyZWQge1xuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgMTAlKTtcbiAgLmN1c3RvbS1lbnRyeV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuICAuY3VzdG9tLWVudHJ5X19kZXNjcmlwdGlvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBsaW5lLWhlaWdodDogMS42OyB9XG4gIH1cbn1cbiIsIi5uby1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiA3NSU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICZfX3RleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW4tdG9wOiAtIHJlbS1jYWxjKDEwKTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuLnZlaGljbGUtLXJlY2VudGx5LXZpZXdlZCB7XG4gIC5uby1pbWFnZSB7XG4gICAgLm5vLWltYWdlX190ZXh0IHtcbiAgICAgIG1hcmdpbi10b3A6IC0gcmVtLWNhbGMoNik7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICB9XG4gIH1cbn1cbi52ZWhpY2xlLS1mdWxsIHtcbiAgLm5vLWltYWdlIHtcbiAgICAubm8taW1hZ2VfX3RleHQge1xuICAgICAgbWFyZ2luLXRvcDogLSByZW0tY2FsYygxMyk7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICB9XG4gIH1cbn1cbi52ZWhpY2xlLS1zaW1pbGFyIHtcbiAgLm5vLWltYWdlIHtcbiAgICAubm8taW1hZ2VfX3RleHQge1xuICAgICAgbWFyZ2luLXRvcDogLSByZW0tY2FsYygxMCk7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gIH1cbn1cbi52ZWhpY2xlLS1jb21wYXJlIHtcbiAgLm5vLWltYWdlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygxODApO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG59XG4udmVoaWNsZS0tdGVhc2VyLFxuLnZlaGljbGUtLWZlYXR1cmVkLFxuLnZlaGljbGUtLWZlYXR1cmVkLXNpZGViYXIsXG4udmVoaWNsZS0tbGF0ZXN0LFxuLnZlaGljbGUtLWxhdGVzdC1zaWRlYmFyLFxuLnZlaGljbGUtLXNpbWlsYXIge1xuICAubm8taW1hZ2Uge1xuICAgIC5uby1pbWFnZV9fdGV4dCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLSByZW0tY2FsYygxMyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnZlaGljbGUtLWZlYXR1cmVkLXNpZGViYXIge1xuICAubm8taW1hZ2UgeyBwYWRkaW5nLXRvcDogMTAwJTsgfVxufVxuIiwiLnByaW1hcnktaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICZfX2RldGFpbHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZzogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTsgfVxuICB9XG4gICZfX3RpdGxlIHtcbiAgICBAZXh0ZW5kIGgzO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggJGJsYWNrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoc21hcnQtc2NhbGUoJGJsYWNrLCA1JSksIDAuNSk7XG4gICAgYSB7IGNvbG9yOiAkd2hpdGU7IH1cbiAgfVxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgQGV4dGVuZCBoNDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4ICRibGFjaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHNtYXJ0LXNjYWxlKCRibGFjaywgNSUpLCAwLjUpO1xuICB9XG59XG4iLCIucGFnZS0taG9tZSB7XG4gIC5wYWdlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzOjApO1xuICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyhtYXAtZ2V0KCRicmVha3BvaW50cywgeHhsYXJnZSkpO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuICAucGFnZV9fc2VhcmNoIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7IH1cbiAgfVxuICAucGFnZV9fYmxvY2tzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzOjApO1xuICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyhtYXAtZ2V0KCRicmVha3BvaW50cywgeHhsYXJnZSkpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gIH1cbiAgLnBhZ2VfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTsgfVxuICB9XG4gIC5wYWdlX19kdWUtaW4tc2hvcnRseSB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApOyB9XG4gIH1cbiAgLnBhZ2VfX3RpdGxlLFxuICAucGFnZV9fc3ViLXRpdGxlICB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgfVxuICAucGFnZV9fZGVzY3JpcHRpb24ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICB9XG4gICAgcCB7XG4gICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgfVxuICAgIC5leHBhbmQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMDApO1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDc1KTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoJGJvZHktYmFja2dyb3VuZCwxKTAlLCByZ2JhKCRib2R5LWJhY2tncm91bmQsMSkyNSUsIHJnYmEoJGJvZHktYmFja2dyb3VuZCwwKTEwMCUpO1xuICAgIH1cbiAgfVxuICAucGFnZV9fcmV2aWV3cyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7IH1cbiAgfVxuICAucGFnZV9fZmVhdHVyZWQtdmVoaWNsZXMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzOjApO1xuICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyhtYXAtZ2V0KCRicmVha3BvaW50cywgeHhsYXJnZSkpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zZWFyY2gge1xuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICZfX2hlYWRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNSAxNSAxMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBsZWdlbmQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDkpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgICAuYnV0dG9uIHsgZmxvYXQ6IHJpZ2h0OyB9XG4gIH1cbiAgLnNlYXJjaF9fZm9ybSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCA1JSk7XG4gIH1cbiAgLmhlbHAtYmxvY2sgeyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7IH1cbiAgbGFiZWwuY29udHJvbC1sYWJlbCB7IGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7IH1cbiAgc2VsZWN0IHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICB9XG4gIC5mb3JtLWdyb3VwIHtcbiAgICBkaXYge1xuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0IDgpO1xuICAgICAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGlucHV0LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGlucHV0LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRpbnB1dC1ib3JkZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgLmxhYmVsLWNvdW50IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICB9XG4gICAgICAmOm5vdCguaGVscC1ibG9jayk6bm90KCNwcmljZV90eXBlKSB7IGJvcmRlci10b3A6ICRpbnB1dC1ib3JkZXI7IH1cbiAgICB9XG4gICAgZGl2I2NvbG91cnMge1xuICAgICAgbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxNik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIH1cbiAgICAgIGxhYmVsW2Zvcj1jb2xvdXJzLXdoaXRlXTo6YWZ0ZXIgeyBib3JkZXI6ICRpbnB1dC1ib3JkZXI7IH1cbiAgICB9XG4gIH1cbiAgLnNlYXJjaF9fcHJpY2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIC5maWVsZC1wcmljZV90eXBlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2KTtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgLmxhYmVsLXZhbHVlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzIDApO1xuICAgICAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbGFiZWw6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgIGlucHV0IHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgaW5wdXQ6Y2hlY2tlZCArIC5sYWJlbC12YWx1ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjk5OTkpO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmZpZWxkLXByaWNlX21pbixcbiAgICAuZmllbGQtcHJpY2VfbW9udGhseV9taW4ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMyk7XG4gICAgfVxuICAgIC5maWVsZC1wcmljZV9tYXgsXG4gICAgLmZpZWxkLXByaWNlX21vbnRobHlfbWF4IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMyk7XG4gICAgfVxuICB9XG4gIC5zaG93LW1vcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5maWVsZC1zdWJtaXQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG59XG4ucGFnZS0taG9tZSB7XG4gIC5zZWFyY2gge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgLnNlYXJjaF9faGVhZGVyIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zZWFyY2hfX2Zvcm0ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgICAgfVxuICAgIH1cbiAgICAuaGVscC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgfVxuICAgIGxhYmVsLmNvbnRyb2wtbGFiZWwgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgc2VsZWN0IHtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkgeyBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgICB9XG4gICAgLmZpZWxkLW1ha2Vfc2x1ZyxcbiAgICAuZmllbGQtbW9kZWxfc2x1ZyxcbiAgICAuZmllbGQtc3VibWl0IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgICB9XG4gICAgfVxuICAgIC5zZWFyY2hfX3ByaWNlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgICB9XG4gICAgICAuZmllbGQtcHJpY2VfdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmllbGQtcHJpY2VfbWluLFxuICAgICAgLmZpZWxkLXByaWNlX21vbnRobHlfbWluIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTsgfVxuICAgICAgfVxuICAgICAgLmZpZWxkLXByaWNlX21heCxcbiAgICAgIC5maWVsZC1wcmljZV9tb250aGx5X21heCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHBhZGRpbmctbGVmdDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTsgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLS1maW5hbmNlIHtcbiAgICAgIC5maWVsZC1tYWtlX3NsdWcsXG4gICAgICAuZmllbGQtbW9kZWxfc2x1ZyxcbiAgICAgIC5maWVsZC1zdWJtaXQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tdG9wOiByZW0tY2FsYyg0Myk7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi50b2dnbGVyIHtcbiAgLnNlYXJjaCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAuc2VhcmNoX19oZWFkZXIge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDUwKTtcbiAgICB9XG4gIH1cbn1cbi5zZW5zaS1zcGlubmVyLW92ZXJsYXkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDUlKSwgMC43NSk7IH1cbi5zay1zcGlubmVyLXRocmVlLWJvdW5jZSBkaXYgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxuIiwiLnByaWNlIHtcbiAgJl9fdG90YWwge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gICZfX3NvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgJi0tdGVhc2VyIHtcbiAgICAmID4gZGl2IHtcbiAgICAgICY6bnRoLWNoaWxkKDEpIHsgZm9udC1zaXplOiByZW0tY2FsYygyNCk7IH1cbiAgICAgICY6bnRoLWNoaWxkKDIpIHsgZm9udC1zaXplOiByZW0tY2FsYygxOCk7IH1cbiAgICB9XG4gIH1cbiAgJi0tZnVsbCB7XG4gICAgLnByaWNlX190b3RhbCxcbiAgICAucHJpY2VfX3NvbGQge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDM0KTsgfVxuICAgIH1cbiAgICAucHJpY2VfX21vbnRobHkgeyBmb250LXNpemU6IHJlbS1jYWxjKDI0KTsgfVxuICB9XG4gICYtLWNvbXBhcmUge1xuICAgIC5wcmljZV9fdG90YWwsXG4gICAgLnByaWNlX19zb2xkIHtcbiAgICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gIH1cbiAgJi0tcmVjZW50bHktdmlld2VkIHtcbiAgICAucHJpY2VfX3RvdGFsLFxuICAgIC5wcmljZV9fc29sZCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgfVxuICAmLS1mZWF0dXJlZCxcbiAgJi0tc2ltaWxhciB7XG4gICAgLnByaWNlX190b3RhbCxcbiAgICAucHJpY2VfX3NvbGQge1xuICAgICAgQGV4dGVuZCBoNDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggJGJsYWNrO1xuICAgIH1cbiAgfVxufVxuLnByaWNlLWNvbWJpbmVkIHtcbiAgJl9fdmFsdWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICB9XG4gICZfX3ZhdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg0KTtcbiAgICBmb250LXNpemU6IDY1JTtcbiAgfVxuICAmX193YXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNCk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAmLWxhYmVsIHsgZm9udC1zaXplOiA2NSU7IH1cbiAgICAmLXZhbHVlIHsgZm9udC1zaXplOiA3NSU7IH1cbiAgfVxufVxuIiwiLnZlaGljbGUtLWZlYXR1cmVkLXNpZGViYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC52ZWhpY2xlX19tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICB9XG4gIC52ZWhpY2xlX190aXRsZSB7XG4gICAgQGV4dGVuZCBoMztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4ICRibGFjaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHNtYXJ0LXNjYWxlKCRibGFjaywgNSUpLCAwLjUpO1xuICAgIGEgeyBjb2xvcjogJHdoaXRlOyB9XG4gIH1cbiAgLnZlaGljbGVfX3ByaWNlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShzbWFydC1zY2FsZSgkYmxhY2ssIDUlKSwgMC41KTtcbiAgfVxufVxuIiwiLnZlaGljbGUtLWZlYXR1cmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAudmVoaWNsZV9fbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgfVxuICAudmVoaWNsZV9fZGV0YWlscyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpOyB9XG4gIH1cbiAgLnZlaGljbGVfX3RpdGxlIHtcbiAgICBAZXh0ZW5kIGgzO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggJGJsYWNrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoc21hcnQtc2NhbGUoJGJsYWNrLCA1JSksIDAuNSk7XG4gICAgYSB7IGNvbG9yOiAkd2hpdGU7IH1cbiAgfVxuICAudmVoaWNsZV9fcHJpY2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHNtYXJ0LXNjYWxlKCRibGFjaywgNSUpLCAwLjUpO1xuICB9XG59XG4iLCIudmVoaWNsZS0tZnVsbCB7XG4gIC52ZWhpY2xlX190b3Age1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgICAmLWlubmVyIHsgQGluY2x1ZGUgZ3JpZC1yb3coKTsgfVxuICAgIC52ZWhpY2xlX19wcm9tby10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICB0b3A6IGluaGVyaXQ7XG4gICAgICBsZWZ0OiBpbmhlcml0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgICAudmVoaWNsZV9fZGV0YWlscyB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDc2OCkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig1KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgICB9XG4gICAgICAudmVoaWNsZV9fZGV0YWlscy1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgNSUpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgICAgIH1cbiAgICAgICAgLnZlaGljbGVfX3RpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgLnZlaGljbGVfX21vZGVsLXZhcmlhbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC52ZWhpY2xlX19wcmljZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIH1cbiAgICAgICAgLnZlaGljbGVfX3RlbGVwaG9uZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC52ZWhpY2xlX19jdGEge1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDIwKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19iYWNrIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICAgICAgaSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpOyB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19tZWRpYSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDc2OCkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNyk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDgpO1xuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcy10aHVtYm5haWxzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX3BhcnQtZXhjaGFuZ2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgfVxuICB9XG4gICYgPiAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTsgfVxuICAgICYgPiB1bCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygwKTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJyk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDIsICdsaScpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgICAgJiA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtc3VtbWFyeSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICB9XG4gICAgJiA+IHVsIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjogbmVzdCk7XG4gICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnbGknKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMiwgJ2xpJyk7IH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMywgJ2xpJyk7IH1cbiAgICAgICYgPiBsaSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpIDQpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgJjpudGgtY2hpbGQoM24pIHsgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX3VsZXoge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTsgfVxuICAgICYtaW5uZXIge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDUlKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgIHN0cm9uZyB7IGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkOyB9XG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24oKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg4KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fZGVzY3JpcHRpb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZXhwYW5kIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMTAwKTtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg3NSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKCRib2R5LWJhY2tncm91bmQsMSkwJSwgcmdiYSgkYm9keS1iYWNrZ3JvdW5kLDEpMjUlLCByZ2JhKCRib2R5LWJhY2tncm91bmQsMCkxMDAlKTtcbiAgICB9XG4gICAgJi1vdXRlciB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudmVoaWNsZV9faW5jbHVkZXMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgyOyB9XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMTAgMCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDE4KTsgfVxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICAgICAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGU1Y2EnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19yZXZpZXdzIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTtcbiAgfVxuICAudmVoaWNsZV9fYnJhbmNoLXN1bW1hcnkge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19zZWNvbmRhcnktaW1hZ2VzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7IH1cbiAgICAmLWlubmVyIHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCk7IH1cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgd2lkdGg6IDUwJTsgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHdpZHRoOiAzMy4zMyU7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX21pZGRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApOyB9XG4gICAgJi1pbm5lciB7IEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpOyB9XG4gIH1cbiAgLnZlaGljbGVfX2NvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDUlKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHBhZGRpbmc6IHJlbS1jYWxjKDIwKTsgfVxuICB9XG4gIC52ZWhpY2xlX19zcGVjaWZpY2F0aW9uIHtcbiAgICAmID4gdWwge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDEsICdsaScpO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDMsICdsaScpO1xuICAgICAgfVxuICAgICAgJiA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgICAgIH1cbiAgICAgICAgLnNwZWNpZmljYXRpb24ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAmX192YWx1ZSB7IGRpc3BsYXk6IGlubGluZTsgfVxuICAgICAgICB9XG4gICAgICAgIC5zcGVjaWZpY2F0aW9uLWNhdGVnb3J5X190aXRsZSB7IEBleHRlbmQgaDQ7IH1cbiAgICAgICAgJiB1bCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgbGlzdC1zdHlsZTogc3F1YXJlO1xuICAgICAgICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLWJ1dHRvbiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAuYnV0dG9uIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEge1xuICAgICYgPiB1bCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMSwgJ2xpJyk7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoMywgJ2xpJyk7XG4gICAgICB9XG4gICAgICAmID4gbGkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICAgICAgfVxuICAgICAgICAudGVjaG5pY2FsLWRhdGEtY2F0ZWdvcnlfX3RpdGxlIHsgQGV4dGVuZCBoNDsgfVxuICAgICAgICAudGVjaG5pY2FsLWRhdGFfX2xhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgJjo6YWZ0ZXIgeyBjb250ZW50OiAnOic7IH1cbiAgICAgICAgfVxuICAgICAgICAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgJiB1bCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fZG9jdW1lbnRzIHtcbiAgICB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX2JvdHRvbSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1iYWNrZ3JvdW5kLCAwLjkpO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgfVxuICAudmVoaWNsZV9fYm90dG9tLWlubmVyIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICB9XG4gIC52ZWhpY2xlX19ib3R0b20tdGVsZXBob25lIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fYm90dG9tLWN0YSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNik7XG4gICAgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDkgMCk7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICB9XG4gIH1cblxufVxuIiwiLnZlaGljbGUtLXNpbWlsYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC52ZWhpY2xlX19wcmltYXJ5LWltYWdlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC52ZWhpY2xlX19tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC52ZWhpY2xlX19kZXRhaWxzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmc6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7IH1cbiAgfVxuICAudmVoaWNsZV9fdGl0bGUge1xuICAgIEBleHRlbmQgaDM7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAkYmxhY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShzbWFydC1zY2FsZSgkYmxhY2ssIDUlKSwgMC41KTtcbiAgICBhIHsgY29sb3I6ICR3aGl0ZTsgfVxuICB9XG4gIC52ZWhpY2xlX19wcmljZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IGxlZnQ7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoc21hcnQtc2NhbGUoJGJsYWNrLCA1JSksIDAuNSk7XG4gIH1cbn1cbiIsIi52ZWhpY2xlLS10ZWFzZXIge1xuICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCAxMCUpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTsgfVxuICAudmVoaWNsZV9fcHJpbWFyeS1pbWFnZXMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOjEyLCRndXR0ZXJzOjApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnM6NCwkZ3V0dGVyczowKTtcbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX21lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLnZlaGljbGVfX2RldGFpbHMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zOjEyLCRndXR0ZXJzOjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig4KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLnZlaGljbGVfX2hlYWRlciB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDcwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgbWluLWhlaWdodDogcmVtLWNhbGMoODApOyB9XG4gIH1cbiAgLnZlaGljbGVfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLnZlaGljbGVfX21ha2UsXG4gICAgLnZlaGljbGVfX21vZGVsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIC52ZWhpY2xlX19tb2RlbC12YXJpYW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19wcmljZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fdGVjaG5pY2FsLWRhdGEtcHJvbW90ZWQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDgwKTsgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgbWluLWhlaWdodDogcmVtLWNhbGMoOTApOyB9XG4gICAgJiA+IHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTsgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICAgICYgPiBsaSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAudGVjaG5pY2FsLWRhdGFfX2xhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAudGVjaG5pY2FsLWRhdGFfX3ZhbHVlOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnLCc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIC50ZWNobmljYWwtZGF0YV9fdmFsdWU6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBtaW4taGVpZ2h0OiByZW0tY2FsYyg1Nik7IH1cbiAgfVxuICAudmVoaWNsZV9fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczoxMiwkZ3V0dGVyczowKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig4KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJi1pbm5lciB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICAgIH1cbiAgfVxuICAudmVoaWNsZV9fbGluayB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMyk7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gIH1cbiAgLnZlaGljbGVfX2ZpbmFuY2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDkpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudmVoaWNsZV9fZmluYW5jZS1zdW1tYXJ5IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgfVxufVxuIiwiLnZlaGljbGUge1xuICAmX19tZWRpYS1jb3VudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgICYgPiB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDYpO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNik7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IHJnYmEoJGJsYWNrLCAwLjMpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShzbWFydC1zY2FsZSgkYmxhY2ssIDUlKSwgMC4yKTtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2IDIpO1xuICAgICAgICBpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19wcm9tby10ZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiByZW0tY2FsYyg4KTtcbiAgICBsZWZ0OiByZW0tY2FsYyg4KTtcbiAgICBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQgOCk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5sLWJyZWFkY3J1bWJzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcbiAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZGlzcGxheTogYmxvY2s7IH1cbn1cbiIsIi5sLWhlYWRlciB7XG4gICZfX2lubmVyIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuICAmX19maXJzdCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig1KTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG4gICZfX3NlY29uZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigyKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgJl9fdGhpcmQge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKDUpOyB9XG4gIH1cbn1cbi5ub3QtZnJvbnQge1xuICAubC1oZWFkZXIge1xuICAgICZfX2ZpcnN0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgfVxuICB9XG59XG4iLCIubC1tYWluIHtcbiAgJi0tYXNpZGUsXG4gICYtLWFzaWRlLWRlc2t0b3AsXG4gICYtLWZ1bGwtd2lkdGgge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgfVxuICAmLS1hc2lkZSB7XG4gICAgLmwtbWFpbl9faW5uZXIgeyBAaW5jbHVkZSBncmlkLXJvdygpOyB9XG4gICAgLmwtbWFpbl9fYXNpZGUge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigzKTtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oLTkpO1xuICAgICAgfVxuICAgIH1cbiAgICAubC1tYWluX19zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOSk7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKDMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLS1hc2lkZS1kZXNrdG9wIHtcbiAgICAubC1tYWluX19pbm5lciB7IEBpbmNsdWRlIGdyaWQtcm93KCk7IH1cbiAgICAubC1tYWluX19hc2lkZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigzKTtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oLTkpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgLmwtbWFpbl9fc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDkpO1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tZnVsbC13aWR0aCB7XG4gICAgLmwtbWFpbl9faW5uZXIgeyBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coKTsgfVxuICB9XG59XG4iLCIubC1uYXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAmX19pbm5lciB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzOjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygpO1xuICAgIH1cbiAgfVxufVxuIiwiLmZpbmFuY2UtcHJpY2Uge1xuICBsaW5lLWhlaWdodDogMTtcbiAgJl9fbGlzdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICYtaXRlbSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgIH1cbiAgfVxuICAmX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiA2NSU7XG4gIH1cbiAgJl9fdmFsdWUgeyBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkOyB9XG4gICZfX3N1ZmZpeCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogNjUlO1xuICB9XG4gICYtLWZ1bGwge1xuICAgIC5maW5hbmNlLXByaWNlX19saXN0LWl0ZW0ge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzKTtcbiAgICAgICAgZm9udC1zaXplOiA2NSU7XG4gICAgICAgIGNvbnRlbnQ6ICdvcic7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAmOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmZpbmFuY2UtcHJpY2VfX2xpbmsge1xuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNiA4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uZmluYW5jZS1mb3JtIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coJGJlaGF2aW9yOiBuZXN0KTtcbiAgLmZpbmFuY2UtZm9ybV9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAZXh0ZW5kIGg0O1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xuICB9XG4gIC5mb3JtLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IEBpbmNsdWRlIGdyaWQtY29sdW1uKDMpOyB9XG4gIH1cbiAgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjUpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi5maW5hbmNlLXN1bW1hcnkge1xuICBAaW5jbHVkZSBtZW51LWJhc2U7XG4gIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xufVxuLmZpbmFuY2Utc3VtbWFyeS10eXBlIHtcbiAgbWFyZ2luLXRvcDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyKTtcbiAgcGFkZGluZzogcmVtLWNhbGMoNik7XG4gIGJhY2tncm91bmQtY29sb3I6IHNtYXJ0LXNjYWxlKCRib2R5LWJhY2tncm91bmQsIDUlKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgJl9fa2V5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1KTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg2KTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gIH1cbiAgJl9fdmFsdWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICB9XG4gIH1cbiAgJl9fdmlkZW8ge1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg1KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICB9XG59XG4uZmluYW5jZS10YWJsZXMge1xuICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICBAaW5jbHVkZSBncmlkLWxheW91dCgxLCAnLmZpbmFuY2UtdGFibGUnLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDIsICcuZmluYW5jZS10YWJsZScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICB9XG4gICYtLTMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KDMsICcuZmluYW5jZS10YWJsZScsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgIH1cbiAgfVxuICAuZmluYW5jZS13YXJuaW5nIHtcbiAgICBAZXh0ZW5kIGg0O1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbi5maW5hbmNlLXRhYmxlLS10ZWFzZXIgeyBkaXNwbGF5OiBub25lOyB9XG4uZmluYW5jZS10YWJsZS0tZnVsbCB7XG4gIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgLmZpbmFuY2UtdGFibGVfX3RpdGxlIHsgQGV4dGVuZCBoMzsgfVxuICAuZmluYW5jZS10YWJsZV9fdGFibGUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRib2R5IHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgICAgdGgge1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgICAgdGQge1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZpbmFuY2UtdGFibGVfX2NoZWNrZXIge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCAxMCUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICB9XG4gICAgJi10aXRsZSB7XG4gICAgICBAZXh0ZW5kIGg0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgICAmLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaW1nIHsgbWF4LXdpZHRoOiByZW0tY2FsYygyMjApOyB9XG4gICAgfVxuICAgIC5idXR0b24geyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cbiAgLmZpbmFuY2UtdGFibGVfX2FwcGx5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLmJ1dHRvbiB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpOyB9XG4gIH1cbiAgLmZpbmFuY2UtdGFibGVfX3doeS1hcHBseSB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmluYW5jZS10YWJsZV9fdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoMTYgYnkgOSk7XG4gICAgbWFyZ2luOiByZW0tY2FsYygxNSAwIDApO1xuICB9XG59XG4uZmluYW5jZS1leGFtcGxlIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWFyZ2luOiByZW0tY2FsYygxMCAwIDE1KTtcbiAgJl9fdGl0bGUge1xuICAgIEBleHRlbmQgaDQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAmX190YWJsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJGJvZHktYmFja2dyb3VuZCwgMTAlKTtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG4gICAgfVxuICAgIHRoZWFkLFxuICAgIHRib2R5LFxuICAgIHRmb290IHsgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgIHRoZWFkIHRoIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgICB0Ym9keSB0ZCB7IHBhZGRpbmctdG9wOiAwOyB9XG4gICAgdGZvb3QgdGQge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQpO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkYm9keS1iYWNrZ3JvdW5kLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuLmZpbmFuY2UtZGlzY2xhaW1lciB7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICYtLWZ1bGwge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMTUgMCAwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbi5maW5hbmNlLWNoZWNrZXIge1xuICBAaW5jbHVkZSBncmlkLXJvdygkYmVoYXZpb3I6IG5lc3QpO1xuICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICZfX3ZpZGVvIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICAgIH1cbiAgICAmLWlubmVyIHtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoMTYgYnkgOSk7XG4gICAgfVxuICB9XG4gICZfX2RldGFpbHMge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNik7XG4gICAgfVxuICAgICYtdGl0bGUgeyBAZXh0ZW5kIGgzOyB9XG4gICAgJi1pbWFnZSB7XG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDIyMCk7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuc2xpY2stc2xpZGVyIHtcbiAgLnNsaWNrLXNsaWRlIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG4gIH1cbiAgLnNsaWNrLXByZXYsXG4gIC5zbGljay1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDQwKTtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB6LWluZGV4OiA5O1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuICAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogMDtcbiAgICAmOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU1Y2InOyB9XG4gIH1cbiAgLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAwO1xuICAgICY6YmVmb3JlIHsgY29udGVudDogJ1xcZTVjYyc7IH1cbiAgfVxuICAmLnNsaWNrLWRvdHRlZCB7IHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7IH1cbiAgLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0gcmVtLWNhbGMoNyk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMik7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgNCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCA2KTtcbiAgICAgIH1cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbiB7IGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yOyB9XG4gICAgfVxuICB9XG59XG4ubGlzdGluZy0tYmxvY2ssXG4ubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZC1zaWRlYmFyLFxuLmxpc3RpbmctLXZlaGljbGUtbGF0ZXN0LXNpZGViYXIsXG4ubGlzdGluZy0tdmVoaWNsZS1zaW1pbGFyIHtcbiAgLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC0gcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIG1hcmdpbi1yaWdodDogLSByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtIHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0gcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpKTtcbiAgICB9XG4gICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKSk7XG4gICAgICB9XG4gICAgfVxuICAgIC5zbGljay1wcmV2LFxuICAgIC5zbGljay1uZXh0IHsgdG9wOiByZW0tY2FsYyg2MCk7IH1cbiAgICAuc2xpY2stcHJldiB7XG4gICAgICBsZWZ0OiBpbmhlcml0O1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIgKyA0MSkpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyICsgNDEpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnNsaWNrLW5leHQge1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHJpZ2h0OiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmxpc3RpbmctLWJsb2NrIHtcbiAgLnNsaWNrLXNsaWRlciB7XG4gICAgLnNsaWNrLXByZXYsXG4gICAgLnNsaWNrLW5leHQgeyB0b3A6IHJlbS1jYWxjKDYwKTsgfVxuICAgIC5zbGljay1wcmV2IHtcbiAgICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgICByaWdodDogcmVtLWNhbGMoMjAgKyA0MSk7XG4gICAgfVxuICAgIC5zbGljay1uZXh0IHsgcmlnaHQ6IHJlbS1jYWxjKDIwKTsgfVxuICB9XG59XG4ubGlzdGluZy0tdmVoaWNsZS1mZWF0dXJlZCxcbi5saXN0aW5nLS12ZWhpY2xlLWxhdGVzdCB7XG4gIC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAtIHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0gcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIC5zbGljay1zbGlkZSB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKSk7XG4gICAgfVxuICAgIC5zbGljay1wcmV2LFxuICAgIC5zbGljay1uZXh0IHsgdG9wOiByZW0tY2FsYyg2MCk7IH1cbiAgICAuc2xpY2stcHJldiB7XG4gICAgICBsZWZ0OiBpbmhlcml0O1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIgKyA0MSkpO1xuICAgIH1cbiAgICAuc2xpY2stbmV4dCB7XG4gICAgICByaWdodDogcmVtLWNhbGMoKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMikpO1xuICAgIH1cbiAgfVxufVxuLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMsXG4udmVoaWNsZV9fc2Vjb25kYXJ5LWltYWdlcyB7XG4gIHVsLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC0gcmVtLWNhbGMoMSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAtIHJlbS1jYWxjKDEpO1xuICAgIC5zbGljay1zbGlkZSB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAuc2xpY2stcHJldiB7IGxlZnQ6IHJlbS1jYWxjKDEpOyB9XG4gICAgLnNsaWNrLW5leHQgeyByaWdodDogcmVtLWNhbGMoMSk7IH1cbiAgfVxufVxuLnZlaGljbGVfX3ByaW1hcnktaW1hZ2VzLXRodW1ibmFpbHMge1xuICAuc2xpY2stc2xpZGVyIC5zbGljay1zbGlkZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICYuc2xpY2stY3VycmVudCB7IG9wYWNpdHk6IDAuNzU7IH1cbiAgfVxufVxuLmxpc3RpbmctLXZlaGljbGUtY29tcGFyZSB7XG4gIC5zbGljay1zbGlkZXIge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0MSk7XG4gICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzKTsgfVxuICAgIH1cbiAgICAuc2xpY2stcHJldixcbiAgICAuc2xpY2stbmV4dCB7XG4gICAgICB0b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICAgIC5zbGljay1wcmV2IHtcbiAgICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgICByaWdodDogcmVtLWNhbGMoNDEpO1xuICAgIH1cbiAgICAuc2xpY2stbmV4dCB7IHJpZ2h0OiAwOyB9XG4gIH1cbn1cbi5wYWdlLS1ob21lIC5saXN0aW5nLS1ibG9jayxcbi5wYWdlLS1ob21lIC5saXN0aW5nLS12ZWhpY2xlLWZlYXR1cmVkLFxuLmxpc3RpbmctLXZlaGljbGUtc2ltaWxhciB7XG4gIC5zbGljay1zbGlkZXIge1xuICAgIC5zbGljay10cmFjayB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0= */
