@charset "UTF-8";
/* @import must be at top of file, otherwise CSS will not work */
@import url("http://hello.myfonts.net/count/3346f7");
@font-face {
  font-family: "Zona Pro";
  font-style: normal;
  font-weight: 600;
  src: url("http://wpmarineservices.com/fonts/zona-pro/3346F7_3_0.eot?#iefix") format("embedded-opentype"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_3_0.woff2") format("woff2"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_3_0.woff") format("woff"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_3_0.ttf") format("truetype"); }

@font-face {
  font-family: "Zona Pro";
  font-style: italic;
  font-weight: 600;
  src: url("http://wpmarineservices.com/fonts/zona-pro/3346F7_5_0.eot?#iefix") format("embedded-opentype"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_5_0.woff2") format("woff2"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_5_0.woff") format("woff"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_5_0.ttf") format("truetype"); }

@font-face {
  font-family: "Zona Pro";
  font-style: normal;
  font-weight: 500;
  src: url("http://wpmarineservices.com/fonts/zona-pro/3346F7_F_0.eot?#iefix") format("embedded-opentype"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_F_0.woff2") format("woff2"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_F_0.woff") format("woff"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_F_0.ttf") format("truetype"); }

@font-face {
  font-family: "Zona Pro";
  font-style: italic;
  font-weight: 500;
  src: url("http://wpmarineservices.com/fonts/zona-pro/3346F7_C_0.eot?#iefix") format("embedded-opentype"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_C_0.woff2") format("woff2"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_C_0.woff") format("woff"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_C_0.ttf") format("truetype"); }

@font-face {
  font-family: "Zona Pro";
  font-style: normal;
  font-weight: 400;
  src: url("http://wpmarineservices.com/fonts/zona-pro/3346F7_A_0.eot?#iefix") format("embedded-opentype"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_A_0.woff2") format("woff2"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_A_0.woff") format("woff"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_A_0.ttf") format("truetype"); }

@font-face {
  font-family: "Zona Pro";
  font-style: italic;
  font-weight: 400;
  src: url("http://wpmarineservices.com/fonts/zona-pro/3346F7_B_0.eot?#iefix") format("embedded-opentype"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_B_0.woff2") format("woff2"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_B_0.woff") format("woff"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_B_0.ttf") format("truetype"); }

@font-face {
  font-family: "Zona Pro";
  font-style: normal;
  font-weight: 300;
  src: url("http://wpmarineservices.com/fonts/zona-pro/3346F7_8_0.eot?#iefix") format("embedded-opentype"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_8_0.woff2") format("woff2"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_8_0.woff") format("woff"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_8_0.ttf") format("truetype"); }

@font-face {
  font-family: "Zona Pro";
  font-style: italic;
  font-weight: 300;
  src: url("http://wpmarineservices.com/fonts/zona-pro/3346F7_9_0.eot?#iefix") format("embedded-opentype"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_9_0.woff2") format("woff2"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_9_0.woff") format("woff"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_9_0.ttf") format("truetype"); }

@font-face {
  font-family: "Zona Pro";
  font-style: normal;
  font-weight: 200;
  src: url("http://wpmarineservices.com/fonts/zona-pro/3346F7_D_0.eot?#iefix") format("embedded-opentype"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_D_0.woff2") format("woff2"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_D_0.woff") format("woff"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_D_0.ttf") format("truetype"); }

@font-face {
  font-family: "Zona Pro";
  font-style: italic;
  font-weight: 200;
  src: url("http://wpmarineservices.com/fonts/zona-pro/3346F7_E_0.eot?#iefix") format("embedded-opentype"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_E_0.woff2") format("woff2"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_E_0.woff") format("woff"), url("http://wpmarineservices.com/fonts/zona-pro/3346F7_E_0.ttf") format("truetype"); }

/**
 * 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: #ffffff;
  font-family: "Zona Pro", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #5F718B;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

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

pre {
  overflow: auto; }

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

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

.center{
  text-align:center !important;	
}
.row {
  max-width: 71.875rem;
  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; }
  
  /* ACR Contact */
  .column-contact, .columns-contact {
  width: 50%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .column-contact, .columns-contact {
      padding-right: 0.3rem;
      padding-left: 0.3rem; } }
  .column-contact:last-child:not(:first-child), .columns-contact:last-child:not(:first-child) {
    float: right; }
  .column-contact.end:last-child:last-child, .end.columns-contact:last-child:last-child {
    float: left; }

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

.row .column-contact.row.row, .row .row.row.columns-contact {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }
  
  /* FIN ACR Contact */

.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; }
      
      /* ACR Part pour les boxes contact */
   .medium-up-3-contact > .column, .medium-up-3-contact > .columns {
    float: left;
    width: 50%; }
    .medium-up-3-contact > .column:nth-of-type(1n), .medium-up-3-contact > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-3-contact > .column:nth-of-type(3n+1), .medium-up-3-contact > .columns:nth-of-type(3n+1) {
      clear: both; }
    .medium-up-3-contact > .column:last-child, .medium-up-3-contact > .columns:last-child {
      float: left; }
    /* FIN ACR */
      
  .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,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

a {
  line-height: inherit;
  color: #303A56;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #29324a; }
  a img {
    border: 0; }

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

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

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

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

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

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

figure {
  margin: 0; }

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

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #e6e6e6;
  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: #8a8a8a; }

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

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

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

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

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

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

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

@media print, screen and (min-width: 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 #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #303A56;
  color: #ffffff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #293149;
    color: #ffffff; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #303A56;
    color: #ffffff; }
    .button.primary:hover, .button.primary:focus {
      background-color: #262e45;
      color: #ffffff; }
  .button.secondary {
    background-color: #FF8E00;
    color: #000000; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #cc7200;
      color: #000000; }
  .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 #303A56;
    color: #303A56; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #181d2b;
      color: #181d2b; }
    .button.hollow.primary {
      border: 1px solid #303A56;
      color: #303A56; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #181d2b;
        color: #181d2b; }
    .button.hollow.secondary {
      border: 1px solid #FF8E00;
      color: #FF8E00; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #804700;
        color: #804700; }
    .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: #303A56;
      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: #303A56;
        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: #FF8E00;
        color: #000000; }
    .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: 1em; }
  .button.dropdown.hollow::after {
    border-top-color: #303A56; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #303A56; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #FF8E00; }
  .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.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  color: #000000;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #ffffff;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #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.5rem; }

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

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

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

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

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

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 1rem;
  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%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #ffffff;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #faedeb; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::-moz-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: 600;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

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

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

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

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

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

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

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

.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: #5F718B; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #dbdfeb;
    color: #5F718B; }
  .callout.secondary {
    background-color: #ffeed9;
    color: #5F718B; }
  .callout.success {
    background-color: #e1faea;
    color: #5F718B; }
  .callout.warning {
    background-color: #fff3d9;
    color: #5F718B; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #5F718B; }
  .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; }

.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: #303A56;
    color: #ffffff; }
  .menu.menu-bordered li {
    border: 1px solid #e6e6e6; }
    .menu.menu-bordered li:not(:first-child) {
      border-top: 0; }
  .menu.menu-hover li:hover {
    background-color: #e6e6e6; }

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

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

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

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

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

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: block;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  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: #303A56 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 #303A56 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 #303A56; }

@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: #303A56 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 #303A56 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 #303A56; } }

@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: #303A56 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 #303A56 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 #303A56; } }

.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: 300px;
  border: none;
  background: #ffffff; }
  .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 #303A56 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 #303A56; }
  .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%; }

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;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

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

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  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: 71.875rem; } }
  @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: 71.875rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 71.875rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 71.875rem; } }
  .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 #f2f2f2;
    background-color: #ffffff; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: 600; }
  thead {
    background: #f9f9f9;
    color: #5F718B; }
  tfoot {
    background: #f2f2f2;
    color: #5F718B; }
  thead tr, tfoot tr {
    background: transparent; }
  thead th, thead td, tfoot th, tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: 600;
    text-align: left; }
  tbody th, tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f2f2f2; }
  table.unstriped tbody {
    background-color: #ffffff; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f2f2f2;
      background-color: #ffffff; }

@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: #f4f4f4; }

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

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

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

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

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  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: #303A56; }
  .tabs.primary > li > a {
    color: #ffffff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #374262; }

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

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

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

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

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

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

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

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

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

body {
  line-height: 1.5; }

.chromeframe {
  background: #FDF2AB;
  border-bottom: 1px solid #A29330;
  color: #000;
  font-size: 12px;
  margin: 0;
  padding: 5px 36px 5px 40px;
  text-align: center; }
  .chromeframe a {
    color: #e25600;
    text-decoration: underline; }

@media screen and (max-width: 39.9375em) {
  img.alignleft, img.aligncenter, img.alignright,
  figure.alignleft,
  figure.aligncenter,
  figure.alignright {
    display: block;
    margin: 0 auto 1rem;
    text-align: center; } }

@media print, screen and (min-width: 40em) {
  img.alignleft,
  figure.alignleft {
    float: left;
    margin: 0 1rem 1rem 0; }
  img.alignright,
  figure.alignright {
    float: right;
    margin: 0 0 1rem 1rem;
    text-align: right; }
  img.aligncenter,
  figure.aligncenter {
    display: block;
    margin: 0 auto 1rem;
    text-align: center; } }

figure {
  padding: 0;
  margin: 0;
  display: inline-block;
  max-width: 100%; }
  figure img.alignleft, figure img.alignright, figure img.aligncenter {
    margin: 0;
    float: none; }
  figure figcaption {
    display: block;
    font-size: 0.75rem;
    font-style: italic;
    line-height: 1.2;
    padding-top: 5px;
    color: #8c9bb1; }

a, .transition-all {
  transition: all 1s ease-in-out; }

.h1-size,
.h2-size,
.h3-size,
.h4-size,
.h5-size,
.h6-size {
  color: #000000;
  font-family: "Zona Pro", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 400;
  font-style: normal; }

h1,
.h1 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0rem;
  margin-bottom: 0.7rem; }

h2,
.h2 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0rem;
  margin-bottom: 0.7rem; }

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

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

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

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

@media print, screen and (min-width: 40em) {
  h1,
  .h1 {
    font-size: 1.375rem;
    line-height: 2rem;
    margin-top: 0rem;
    margin-bottom: 0.7rem; }
  h2,
  .h2 {
    font-size: 1.875rem;
    line-height: 2rem;
    margin-top: 0rem;
    margin-bottom: 0.7rem; }
  h3,
  .h3 {
    font-size: 1.9375rem;
    line-height: 3rem;
    margin-top: 0rem;
    margin-bottom: 0.7rem; }
  h4,
  .h4 {
    font-size: 1.5625rem;
    line-height: 2rem;
    margin-top: 0rem;
    margin-bottom: 0.7rem; }
  h5,
  .h5 {
    font-size: 1.25rem;
    line-height: 2rem;
    margin-top: 0rem;
    margin-bottom: 0.7rem; }
  h6,
  .h6 {
    font-size: 1rem;
    line-height: 2rem;
    margin-top: 0rem;
    margin-bottom: 0.7rem; } }

h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
  display: block;
  line-height: 1.2; }
  h1 small a, h2 small a, h3 small a, h4 small a, h5 small a, h6 small a {
    color: #cacaca; }

ul, ol {
  margin-left: 1.25rem; }
  ul li, ol li {
    padding-bottom: 3px; }

p + ul,
p + ol {
  margin-top: -0.83333rem; }

.text-upper {
  text-transform: uppercase; }

.text-primary-color {
  color: #303A56; }

.text-secondary-color {
  color: #FF8E00; }

.text-success-color {
  color: #3adb76; }

.text-warning-color {
  color: #ffae00; }

.text-alert-color {
  color: #cc4b37; }

.lead, .lead p, .lead ul, .lead ol {
  font-size: 1.3125rem; }

.callout ul:last-child, .callout p:last-child {
  margin-bottom: 0; }

#rainbow {
  background-image: url("../img/signature-rainbow-dark.html");
  width: 141px;
  height: 23px;
  background-position: left top;
  background-repeat: no-repeat;
  display: block;
  margin: auto;
  margin: 5px auto;
  text-indent: -9000em; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    #rainbow {
      background-image: url("../img/signature-rainbow-dark_2x.html");
      background-size: 141px 46px; } }
  #rainbow:hover {
    background-position: left bottom; }

@font-face {
  font-family: "iconfont";
  font-style: normal;
  font-weight: normal;
  src: url("http://wpmarineservices.com/fonts/iconfont.eot?#iefix") format("embedded-opentype"), url("http://wpmarineservices.com/fonts/iconfont.woff") format("woff"), url("http://wpmarineservices.com/fonts/iconfont.ttf") format("truetype"), url("http://wpmarineservices.com/fonts/iconfont.svg#iconfont") format("svg"); }

[class^="icon-"]:before,
[class*=" icon-"]:before {
  font-family: 'iconfont';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block; }

.icon-cross:before {
  content: ""; }

.icon-plus:before {
  content: ""; }

.icon-stockage:before {
  content: ""; }

.icon-stockage-alt:before {
  content: ""; }

.icon-snowflake:before {
  content: ""; }

.icon-truck:before {
  content: ""; }

.icon-people:before {
  content: ""; }

.icon-checkmark:before {
  content: ""; }

.icon-thumb-up:before {
  content: ""; }

.icon-tree:before {
  content: ""; }

.icon-glass:before {
  content: ""; }

.icon-arrow-right:before {
  content: ""; }

.icon-arrow-left:before {
  content: ""; }

.icon-contact:before {
  content: ""; }

.icon-hours:before {
  content: ""; }

.icon-rate:before {
  content: ""; }

.icon-delivery:before {
  content: ""; }

.icon-contacts:before {
  content: ""; }

.icon-arrow-down:before {
  content: ""; }

.icon-play:before {
  content: ""; }

.icon-big-arrow:before {
  content: ""; }

/* To be used with cookieCuttr by Chris Wharton (http://cookiecuttr.com) */
.cc-cookies {
  background: #000;
  background: rgba(0, 0, 0, 0.85);
  color: #fff;
  font-size: 12px;
  left: 0;
  padding: 10px;
  position: fixed;
  text-align: center;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.35);
  top: 0;
  width: 100%;
  z-index: 99999; }
  .cc-cookies a {
    color: #fff;
    text-decoration: underline; }
    .cc-cookies a:hover {
      color: #fff;
      text-decoration: underline;
      text-decoration: none; }

.cc-overlay {
  height: 100%;
  padding-top: 25%; }

.cc-cookies-error {
  float: left;
  width: 90%;
  text-align: center;
  margin: 1em 0 2em 0;
  background: #fff;
  padding: 2em 5%;
  border: 1px solid #ccc;
  font-size: 18px;
  color: #333; }

.cc-cookies a.cc-cookie-accept,
.cc-cookies-error a.cc-cookie-accept {
  display: inline-block;
  text-decoration: none;
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #3adb76;
  color: #ffffff;
  color: #fff;
  margin: 0 10px;
  text-transform: uppercase;
  font-weight: 700; }
  [data-whatinput='mouse'] .cc-cookies a.cc-cookie-accept, [data-whatinput='mouse']
  .cc-cookies-error a.cc-cookie-accept {
    outline: 0; }
  .cc-cookies a.cc-cookie-accept:hover, .cc-cookies a.cc-cookie-accept:focus,
  .cc-cookies-error a.cc-cookie-accept:hover,
  .cc-cookies-error a.cc-cookie-accept:focus {
    background-color: #293149;
    color: #ffffff; }

.cc-cookies a.cc-cookie-reset {
  display: inline-block;
  color: #fff;
  text-decoration: none;
  background: #7DAF3B;
  padding: 0.5em 0.75em;
  border-radius: 3px;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.25);
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.35);
  -o-transition: background 0.5s ease-in;
  -webkit-transition: background 0.25s ease-in;
  -moz-transition: background 0.25s ease-in; }

.cc-cookies a.cc-cookie-reset {
  background: #f15b00; }

.cc-cookies-error a.cc-cookie-decline {
  background: #af3b3b;
  margin-left: 0.5em; }

.cc-cookies-error a.cc-cookie-accept, .cc-cookies-error a.cc-cookie-decline {
  display: block;
  margin-top: 1em; }

.cc-cookies.cc-discreet {
  width: auto;
  padding: 0.5em 1em;
  left: auto;
  top: auto; }
  .cc-cookies.cc-discreet a.cc-cookie-reset {
    background: none;
    text-shadow: none;
    padding: 0;
    text-decoration: underline; }
  .cc-cookies.cc-discreet a:hover.cc-cookie-reset {
    text-decoration: none; }

@media screen and (max-width: 39.9375em) {
  .cc-cookies a.cc-cookie-accept {
    display: block;
    margin: 10px 0; } }

/* 
*  Owl Carousel - Animate Plugin
*/
.owl-carousel {
  display: block; }
  .owl-carousel .animated {
    -webkit-animation-duration: 1000ms;
    animation-duration: 1000ms;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both; }
  .owl-carousel .owl-animated-in {
    z-index: 0; }
  .owl-carousel .owl-animated-out {
    z-index: 1; }
  .owl-carousel .fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn; }
  .owl-carousel .fadeOut {
    -webkit-animation-name: fadeOut;
    animation-name: fadeOut; }
  .owl-carousel .zoomIn {
    -webkit-animation-name: zoomIn;
    animation-name: zoomIn; }
  .owl-carousel .zoomOut {
    -webkit-animation-name: zoomOut;
    animation-name: zoomOut; }
  .owl-carousel .fadeOutLeft {
    -webkit-animation-name: fadeOutLeft;
    animation-name: fadeOutLeft; }

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@-webkit-keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.owl-carousel figure figcaption,
.owl-carousel figure figcaption > a {
  position: absolute;
  top: 0;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }

/* Anchor will cover the whole item by default */
/* For some effects it will show as a button */
.owl-carousel figure figcaption > a {
  z-index: 1000;
  text-indent: 200%;
  white-space: nowrap;
  font-size: 0;
  opacity: 0;
  height: 100%;
  width: 100%; }

/* 
*  Core Owl Carousel CSS File
*/
.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y; }

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

.owl-carousel .owl-controls .owl-nav .owl-prev,
.owl-carousel .owl-controls .owl-nav .owl-next,
.owl-carousel .owl-controls .owl-dot {
  cursor: pointer;
  cursor: hand;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  width: 100%;
  -webkit-transform: translate3d(0px, 0px, 0px); }

.owl-carousel.owl-loaded {
  display: block; }

.owl-carousel.owl-loading {
  opacity: 0;
  display: block; }

.owl-carousel.owl-hidden {
  opacity: 0; }

.owl-carousel .owl-refresh .owl-item {
  display: none; }

.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel .owl-item img {
  display: block;
  max-width: 100%;
  margin: auto;
  -webkit-transform-style: preserve-3d; }

.owl-carousel.owl-text-select-on .owl-item {
  -webkit-user-select: auto;
  -moz-user-select: auto;
  -ms-user-select: auto;
  user-select: auto; }

.owl-carousel .owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab; }

.owl-carousel.owl-rtl {
  direction: rtl; }

.owl-carousel.owl-rtl .owl-item {
  float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

.hamburger {
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: #ffffff;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }

.hamburger:hover {
  opacity: 0.7; }

.hamburger:focus {
  outline: 0; }

.hamburger-box {
  width: 40px;
  height: 13px;
  margin-top: 4px;
  display: inline-block;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .hamburger-box {
      margin-top: 9px; } }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px; }

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 40px;
  height: 2px;
  background-color: #ffffff;
  border-radius: 4px;
  position: absolute;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  transition-duration: 0.15s;
  transition-timing-function: ease; }

.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block; }

.hamburger-inner::before {
  top: -10px; }

.hamburger-inner::after {
  bottom: -10px; }

.hamburger--slider .hamburger-inner {
  top: 2px; }

.hamburger--slider .hamburger-inner::before {
  top: 8px;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  transition-timing-function: ease;
  transition-duration: 0.15s; }

.hamburger--slider .hamburger-inner::after {
  top: 16px; }

.hamburger--slider.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 10px, 0) rotate(45deg);
  transform: translate3d(0, 10px, 0) rotate(45deg); }

.hamburger--slider.is-active .hamburger-inner::before {
  -webkit-transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
  transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
  opacity: 0; }

.hamburger--slider.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -20px, 0) rotate(-90deg);
  transform: translate3d(0, -20px, 0) rotate(-90deg);
  top: 20px; }

.button {
  background-color: #FF8E00;
  min-width: 15rem;
  width: auto;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 0.75rem;
  display: block;
  margin-left: auto;
  position: relative;
  margin-right: auto;
  display: inline-block;
  margin-top: 2.5rem;
  padding: 0.9375rem 3.125rem;
  overflow: hidden; }
  @media print, screen and (min-width: 40em) {
    .button {
      padding: 0.9375rem 4.375rem; } }
  .button:after {
    content: "";
    font-family: 'iconfont';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block; }
  .button span {
    display: inline-block;
    width: 100%;
    transition: all 0.3s; }
  .button:after {
    font-size: 0.875rem;
    position: absolute;
    width: 100%;
    height: auto;
    right: -40%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    line-height: 3;
    transition: all 0.3s; }
    @media print, screen and (min-width: 40em) {
      .button:after {
        line-height: 2.6; } }
  .button:hover, .button:focus, .button:active {
    background-color: #FF8E00; }
    .button:hover span, .button:focus span, .button:active span {
      -webkit-transform: translateX(-200%);
      -ms-transform: translateX(-200%);
      transform: translateX(-200%);
      color: #FF8E00;
      opacity: 0; }
    .button:hover:after, .button:focus:after, .button:active:after {
      right: 0; }
  @media print, screen and (min-width: 40em) {
    .button {
      font-size: 0.875rem;
      min-width: 22.5rem;
      margin-top: 5rem;
      padding-top: 1.25rem;
      padding-bottom: 1.25rem; }
      .button:after {
        font-size: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .button {
      min-width: 30rem;
      font-size: 1rem;
      margin-top: 6.875rem; } }

.small-row {
  max-width: 58.125rem; }

.reveal {
  height: auto;
  min-height: 0;
  width: 55.3125rem;
  max-width: 100%; }

.owl-nav {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }

h1 {
  color: #FF8E00;
  font-weight: 300;
  margin-bottom: 0.3125rem; }

.site-logo {
  background: url("http://wpmarineservices.com/img/logo-white.svg");
  background-repeat: no-repeat;
  background-size: 99px 24px;
  height: 1.5rem;
  display: inline-block;
  width: 6.1875rem; }
  @media print, screen and (min-width: 40em) {
    .site-logo {
      background-size: 9.25rem 2.25rem;
      height: 2.25rem;
      width: 9.25rem; } }
  @media print, screen and (min-width: 64em) {
    .site-logo {
      background-size: 267px 65px;
      height: 4.0625rem;
      width: 16.6875rem; } }

.site-footer .site-logo {
  background-size: 120px 30px;
  height: 1.875rem;
  width: 7.5rem; }
  @media print, screen and (min-width: 40em) {
    .site-footer .site-logo {
      background-size: 12.5rem 3rem;
      height: 3rem;
      width: 12.5rem; } }
  @media print, screen and (min-width: 64em) {
    .site-footer .site-logo {
      background-size: 267px 65px;
      height: 4.0625rem;
      width: 16.6875rem; } }

.site-header {
  background-color: #303A56;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 64em) {
    .site-header {
      padding-top: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .site-header__logo .site-logo {
      margin-bottom: 2.5rem; } }
  .site-header .title-bar {
    background: transparent; }
    @media print, screen and (min-width: 64em) {
      .site-header .title-bar-left {
        float: none;
        text-align: center; } }
  @media screen and (max-width: 63.9375em) {
    .site-header .menu {
      width: 100%; } }
  .site-header .menu li ul li.active a.item-niv-2 {
    color: #FF8E00; }
  @media print, screen and (min-width: 64em) {
    .site-header .menu li:not(:last-of-type) a:after {
      content: none !important; }
    .site-header .menu li:not(.is-submenu-item) {
      padding-left: 1.25rem;
      padding-right: 1.25rem; }
      .site-header .menu li:not(.is-submenu-item):last-of-type {
        padding-left: 2.25rem !important; }
        .site-header .menu li:not(.is-submenu-item):last-of-type a:after {
          right: -10px !important; }
        .site-header .menu li:not(.is-submenu-item):last-of-type:before {
          content: "";
          width: 0.0625rem;
          height: 1.875rem;
          background-color: #ffffff;
          position: absolute;
          left: 1.875rem;
          top: 0.625rem; }
        .site-header .menu li:not(.is-submenu-item):last-of-type .submenu {
          min-width: 6.25rem; }
    .site-header .menu li.is-dropdown-submenu-parent > a {
      padding-right: 0.625rem !important; } }
  .site-header .menu li a {
    text-transform: uppercase;
    font-size: 0.9375rem;
    position: relative;
    display: block; }
    @media print, screen and (min-width: 40em) {
      .site-header .menu li a {
        font-size: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .site-header .menu li a {
        font-size: 0.875rem; } }
    .site-header .menu li a.item-niv-2 {
      color: #303A56;
      padding-top: 0.5rem;
      padding-bottom: 0.5rem; }
      @media print, screen and (min-width: 64em) {
        .site-header .menu li a.item-niv-2 {
          color: #ffffff; } }
      .site-header .menu li a.item-niv-2:hover, .site-header .menu li a.item-niv-2:focus, .site-header .menu li a.item-niv-2:active {
        color: #FF8E00; }
    .site-header .menu li a.item-niv-1 {
      color: #ffffff;
      font-weight: 300;
      padding-top: 1.25rem;
      padding-bottom: 1.25rem; }
      .site-header .menu li a.item-niv-1 span {
        position: relative;
        padding-left: 0;
        padding-right: 0; }
      @media print, screen and (min-width: 64em) {
        .site-header .menu li a.item-niv-1 {
          font-weight: 400;
          padding-left: 0.3125rem;
          padding-right: 0.3125rem; }
          .site-header .menu li a.item-niv-1:after {
            right: -16px;
            border-top-color: #ffffff !important;
            border-top-width: 0.25rem !important;
            border-left-width: 0.25rem !important;
            border-right-width: 0.25rem !important; } }
      .site-header .menu li a.item-niv-1:hover span:after, .site-header .menu li a.item-niv-1:focus span:after, .site-header .menu li a.item-niv-1:active span:after {
        content: "";
        width: 100%;
        height: 0.3125rem;
        background-color: #FF8E00;
        display: block;
        position: absolute;
        left: 0;
        bottom: -10px; }
  .site-header .menu li.is-accordion-submenu-parent:not(:last-of-type) > a:after {
    content: none; }
  .site-header .menu li.is-accordion-submenu-parent:last-of-type {
    border-top: 0.0625rem solid #ffffff; }
    .site-header .menu li.is-accordion-submenu-parent:last-of-type > a:after {
      right: -16px;
      border-top-color: #ffffff;
      border-top-width: 0.25rem;
      border-left-width: 0.25rem;
      border-right-width: 0.25rem; }
    .site-header .menu li.is-accordion-submenu-parent:last-of-type a {
      font-size: 0.625rem; }
      .site-header .menu li.is-accordion-submenu-parent:last-of-type a.item-niv-1 {
        padding-left: 0;
        padding-right: 0; }
      @media print, screen and (min-width: 40em) {
        .site-header .menu li.is-accordion-submenu-parent:last-of-type a {
          font-size: 0.75rem; } }
    .site-header .menu li.is-accordion-submenu-parent:last-of-type .submenu {
      display: block !important;
      background-color: #303A56; }
      .site-header .menu li.is-accordion-submenu-parent:last-of-type .submenu li.active a {
        color: #FF8E00; }
      .site-header .menu li.is-accordion-submenu-parent:last-of-type .submenu a {
        color: #ffffff; }
        .site-header .menu li.is-accordion-submenu-parent:last-of-type .submenu a:hover, .site-header .menu li.is-accordion-submenu-parent:last-of-type .submenu a:focus, .site-header .menu li.is-accordion-submenu-parent:last-of-type .submenu a:active {
          color: #FF8E00; }
  .site-header .menu li.active > a {
    background: none; }
  @media print, screen and (min-width: 64em) {
    .site-header .menu li.active a.item-niv-1 {
      font-weight: bold; } }
  .site-header .menu li.active a.item-niv-1 span:after {
    content: "";
    width: 100%;
    height: 0.3125rem;
    background-color: #FF8E00;
    display: block;
    position: absolute;
    left: 0;
    bottom: -10px; }
  .site-header .menu li[aria-expanded="true"] {
    background-color: #ffffff;
    padding-top: 0.9375rem;
    padding-bottom: 1.875rem; }
    .site-header .menu li[aria-expanded="true"].is-accordion-submenu-parent:last-of-type > a:after {
      border-top-color: #303A56; }
    .site-header .menu li[aria-expanded="true"] a.item-niv-1 {
      color: #303A56;
      font-weight: 500; }
      @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        .site-header .menu li[aria-expanded="true"] a.item-niv-1 {
          font-size: 1.375rem; } }
  @media print, screen and (min-width: 64em) {
    .site-header .menu li .submenu {
      background-color: #303A56;
      text-align: left;
      padding: 0.9375rem; }
      .site-header .menu li .submenu a {
        display: block; } }

.section {
  margin-bottom: 2.5rem;
  margin-top: 2.5rem; }
  @media print, screen and (min-width: 40em) {
    .section {
      margin-bottom: 3.75rem;
      margin-top: 3.75rem; } }
  @media print, screen and (min-width: 64em) {
    .section {
      margin-bottom: 6.25rem;
      margin-top: 6.25rem; } }
  .section__intro span {
    color: #FF8E00; }
  .section--primary-bgcolor {
    background-color: #303A56;
    padding-bottom: 2.5rem;
    margin: 0;
    padding-top: 2.5rem; }
    @media print, screen and (min-width: 40em) {
      .section--primary-bgcolor {
        padding-bottom: 3.75rem;
        padding-top: 3.75rem;
        margin: 0; } }
    @media print, screen and (min-width: 64em) {
      .section--primary-bgcolor {
        padding-bottom: 6.25rem;
        padding-top: 6.25rem;
        margin: 0; } }
    .section--primary-bgcolor .section__title {
      color: #ffffff; }
      .section--primary-bgcolor .section__title span:before {
        border-top-color: #ffffff; }
      .section--primary-bgcolor .section__title span:after {
        border-bottom-color: #ffffff; }
  .section__title {
    color: #5F718B;
    text-align: center;
    text-transform: uppercase;
    font-weight: 100;
    margin-bottom: 2.5rem;
    margin-top: 3.125rem;
    line-height: 1.2; }
    @media print, screen and (min-width: 40em) {
      .section__title {
        margin-bottom: 3.75rem;
        margin-top: 5rem; } }
    @media print, screen and (min-width: 64em) {
      .section__title {
        margin-bottom: 6.25rem;
        margin-top: 6.25rem; } }
    .section__title span {
      position: relative;
      display: inline-block;
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem; }
      .section__title span:before, .section__title span:after {
        content: "";
        position: absolute;
        left: 0;
        width: 100%; }
      .section__title span:before {
        border-top: solid 0.3125rem #5F718B;
        top: 0; }
      .section__title span:after {
        border-bottom: solid 0.3125rem #5F718B;
        bottom: 0; }
    @media print, screen and (min-width: 64em) {
      .section__title {
        font-size: 2.5rem; } }

.section-about {
  margin-top: 0; }
  .section-about .section__content {
    padding-top: 2.5rem; }
    @media print, screen and (min-width: 40em) {
      .section-about .section__content {
        padding-top: 3.75rem; } }
    @media print, screen and (min-width: 64em) {
      .section-about .section__content {
        padding-top: 6.25rem; } }
  .section-about .section__bg-image {
    height: 9.375rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-image: url("../img/banner-home.jpg");
    text-align: center;
    position: relative; }
    .section-about .section__bg-image a {
      background-color: #303A56;
      width: 2.5rem;
      height: 2.5rem;
      text-align: center;
      padding-top: 5px;
      position: absolute;
      bottom: -20px;
      margin-left: -20px; }
      .section-about .section__bg-image a i:before {
        font-size: 1.75rem;
        color: #ffffff; }
    @media print, screen and (min-width: 40em) {
      .section-about .section__bg-image {
        height: 15.625rem; }
        .section-about .section__bg-image a {
          font-size: 35px;
          width: 3.125rem;
          height: 3.125rem;
          padding-top: 0.125rem;
          bottom: -25px;
          margin-left: -25px; } }
    @media print, screen and (min-width: 64em) {
      .section-about .section__bg-image {
        height: 22.5rem; } }

.section__video a {
  display: block;
  max-width: 710px;
  margin: auto;
  position: relative; }
  .section__video a i {
    position: absolute;
    left: 0;
    width: 100%;
    top: 50%;
    margin-top: -25px; }
    .section__video a i:before {
      font-size: 1.3125rem;
      height: 50px;
      width: 50px;
      background-color: #303A56;
      color: #ffffff;
      padding-top: 0.8125rem;
      padding-left: 0.1875rem;
      transition: all 0.3s; }
  .section__video a:hover i:before, .section__video a:focus i:before, .section__video a:active i:before {
    background-color: #FF8E00; }

.section__video img {
  box-shadow: 0 0 1.875rem rgba(0, 0, 0, 0.7); }

.section__video-gabon {
  background-color: #303A56;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  padding-left: 1.875rem;
  padding-right: 1.875rem;
  margin-left: -15px;
  margin-right: -15px;
  margin-bottom: 4.375rem; }

.section-offer ul li a {
  display: block;
  background-color: #ffffff;
  color: #5F718B;
  text-transform: uppercase;
  font-size: 1.125rem;
  font-weight: 300;
  position: relative; }
  .section-offer ul li a:before {
    content: "";
    font-family: 'iconfont';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block; }
  .section-offer ul li a .offer__product {
    position: relative;
    z-index: 10;
    transition: all 0.3s; }
  .section-offer ul li a:after, .section-offer ul li a:before {
    position: absolute;
    width: 100%;
    transition: all 0.3s; }
  .section-offer ul li a:before {
    font-size: 2.1875rem;
    color: #ffffff;
    top: 50%;
    margin-top: -40px;
    opacity: 0;
    display: block;
    z-index: 2; }
  .section-offer ul li a:after {
    content: "";
    z-index: 1;
    height: 100%;
    background-color: rgba(48, 58, 86, 0.9);
    top: 0;
    display: block;
    left: 0;
    opacity: 0; }
  @media print, screen and (min-width: 64em) {
    .section-offer ul li a {
      font-size: 1.375rem; } }
  .section-offer ul li a:hover, .section-offer ul li a:focus, .section-offer ul li a:active {
    position: relative; }
    .section-offer ul li a:hover .offer__product, .section-offer ul li a:focus .offer__product, .section-offer ul li a:active .offer__product {
      color: #ffffff; }
    .section-offer ul li a:hover:after, .section-offer ul li a:hover:before, .section-offer ul li a:focus:after, .section-offer ul li a:focus:before, .section-offer ul li a:active:after, .section-offer ul li a:active:before {
      opacity: 1; }
  .section-offer ul li a span {
    color: #FF8E00;
    display: block;
    padding-bottom: 1.5625rem; }
  .section-offer ul li a img {
    display: block;
    margin: auto;
    margin-bottom: 0.3125rem;
    padding-top: 0.625rem; }

.section-sites figure {
  position: relative; }
  @media screen and (max-width: 39.9375em) {
    .section-sites figure img {
      display: block;
      margin-left: auto;
      margin-right: auto; } }

@media print, screen and (min-width: 40em) {
  .section-sites figcaption {
    position: absolute;
    left: -60px;
    bottom: 30px; } }

.section-sites figcaption ul li {
  display: inline-block;
  width: 49%;
  text-align: left;
  font-size: 0.625rem;
  font-weight: 100;
  color: #01334D;
  vertical-align: top;
  position: relative;
  padding-left: 1.875rem;
  font-style: initial; }
  @media print, screen and (min-width: 40em) {
    .section-sites figcaption ul li {
      display: block;
      font-size: 0.75rem;
      width: 100%;
      padding-bottom: 1.875rem; } }
  @media print, screen and (min-width: 64em) {
    .section-sites figcaption ul li {
      padding-left: 2.1875rem; } }
  .section-sites figcaption ul li:first-of-type:before, .section-sites figcaption ul li:last-of-type:before {
    content: "";
    height: 1.5rem;
    width: 1.5rem;
    display: inline-block;
    position: absolute;
    left: 0; }
    @media print, screen and (min-width: 40em) {
      .section-sites figcaption ul li:first-of-type:before, .section-sites figcaption ul li:last-of-type:before {
        top: -5px; } }
    @media print, screen and (min-width: 64em) {
      .section-sites figcaption ul li:first-of-type:before, .section-sites figcaption ul li:last-of-type:before {
        height: 1.875rem;
        width: 1.875rem; } }
  .section-sites figcaption ul li:first-of-type:before {
    background-color: #01334D; }
  .section-sites figcaption ul li:last-of-type:before {
    border: solid 0.0625rem #01334D;
    background-image: url("../img/bg-legend.png");
    background-size: contain;
    background-repeat: no-repeat; }

.section-sites .map {
  width: 43.75rem;
  margin-bottom: 1.875rem; }
  @media screen and (max-width: 39.9375em) {
    .section-sites .map {
      width: 18.75rem; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .section-sites .map {
      width: 29.8125rem; } }

.section-sites .logo {
  width: 5.625rem;
  margin-bottom: 1.5625rem; }
  @media print, screen and (min-width: 40em) {
    .section-sites .logo {
      width: 7.625rem;
      position: absolute;
      right: -60px;
      top: 55px; } }
  @media print, screen and (min-width: 64em) {
    .section-sites .logo {
      width: 9.375rem;
      right: -65px;
      top: 95px; } }

.section-timeline__more {
  position: absolute;
  top: 1.5625rem;
  left: 0;
  z-index: 6; }
  @media print, screen and (min-width: 40em) {
    .section-timeline__more {
      left: 50%;
      margin-left: -20px; } }
  .section-timeline__more a {
    background-color: #7E8AA3;
    width: 40px;
    height: 40px;
    border-radius: 100px;
    text-align: center;
    padding-top: 8px;
    display: block; }
    .section-timeline__more a i:before {
      color: #ffffff;
      font-size: 0.6875rem; }

.section-timeline__wrapper {
  position: relative; }
  .section-timeline__wrapper:before {
    content: '';
    position: absolute;
    top: 0;
    left: 18px;
    height: 100%;
    width: 0.3125rem;
    background: #7E8AA3;
    z-index: 3; }
    @media print, screen and (min-width: 40em) {
      .section-timeline__wrapper:before {
        left: 50%;
        margin-left: -2.5px; } }

.section-timeline__content {
  margin-left: 60px;
  position: relative; }
  .section-timeline__content p {
    display: none;
    font-size: 0.6875rem; }
    @media print, screen and (min-width: 64em) {
      .section-timeline__content p {
        font-size: 0.75rem; } }
  @media print, screen and (min-width: 40em) {
    .section-timeline__content {
      margin-left: 0;
      width: 42%; } }

.section-timeline__img {
  display: none; }
  .section-timeline__img .img-container {
    width: 15rem;
    height: 14.375rem; }
    @media print, screen and (min-width: 40em) {
      .section-timeline__img .img-container {
        width: 16.0625rem;
        height: 15.3125rem; } }
  @media print, screen and (min-width: 40em) {
    .section-timeline__img {
      position: absolute !important;
      right: 15px;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 42% !important;
      text-align: left; } }

.section-timeline__title {
  font-size: 0.875rem;
  line-height: 1.5; }
  @media print, screen and (min-width: 40em) {
    .section-timeline__title {
      font-size: 1rem; } }
  @media print, screen and (min-width: 64em) {
    .section-timeline__title {
      font-size: 1.25rem; } }
  .section-timeline__title span {
    color: #FF8E00;
    display: block;
    font-size: 1.125rem; }
    @media print, screen and (min-width: 40em) {
      .section-timeline__title span {
        font-size: 1.5rem; } }
    @media print, screen and (min-width: 64em) {
      .section-timeline__title span {
        font-size: 1.875rem; } }

.section-timeline__item {
  position: relative;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  transition: all 0.3s; }
  .section-timeline__item:after {
    content: "";
    display: table;
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .section-timeline__item {
      text-align: right;
      padding-bottom: 2.5rem; }
      .section-timeline__item:nth-child(even) .section-timeline__content {
        float: right;
        text-align: left; }
      .section-timeline__item:nth-child(even) .section-timeline__img {
        float: left;
        text-align: right;
        right: auto; }
        .section-timeline__item:nth-child(even) .section-timeline__img .img-container {
          float: right; } }
  .section-timeline__item.is-active {
    background-color: #303A56;
    margin-left: -15px;
    margin-right: -15px;
    padding-right: 0.9375rem;
    color: #ffffff; }
    @media print, screen and (min-width: 40em) {
      .section-timeline__item.is-active {
        padding-left: 1.25rem;
        padding-top: 60px;
        padding-bottom: 60px; } }
    @media print, screen and (min-width: 64em) {
      .section-timeline__item.is-active {
        margin-left: 0;
        margin-right: 0; } }
    @media screen and (max-width: 39.9375em) {
      .section-timeline__item.is-active .section-timeline__more {
        left: 10px; } }
    @media print, screen and (min-width: 40em) {
      .section-timeline__item.is-active .section-timeline__more {
        margin-left: -25px;
        top: 50%;
        margin-top: -25px; } }
    .section-timeline__item.is-active .section-timeline__more a {
      background-color: white;
      width: 50px;
      height: 50px;
      padding-top: 16px; }
      .section-timeline__item.is-active .section-timeline__more a i:before {
        color: #303A56;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        font-size: 16px; }
    @media screen and (max-width: 39.9375em) {
      .section-timeline__item.is-active .section-timeline__content {
        margin-left: 80px; } }
    .section-timeline__item.is-active .section-timeline__content p {
      display: block; }
    .section-timeline__item.is-active .section-timeline__img {
      display: block; }
      @media screen and (max-width: 39.9375em) {
        .section-timeline__item.is-active .section-timeline__img {
          margin-left: 80px; } }

.section-expertise .expertise {
  max-width: 41.5625rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .section-expertise .expertise {
      margin-bottom: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .section-expertise .expertise {
      margin-bottom: 2.5rem; } }
  .section-expertise .expertise:hover, .section-expertise .expertise:focus, .section-expertise .expertise:active {
    cursor: pointer; }
  .section-expertise .expertise .img-container {
    height: 21.875rem; }
    @media print, screen and (min-width: 64em) {
      .section-expertise .expertise .img-container {
        height: 23.125rem; } }
  .section-expertise .expertise__img {
    position: relative; }
  .section-expertise .expertise__content {
    font-size: 0.625rem;
    padding: 1.25rem;
    padding-right: 4.375rem;
    opacity: 0;
    text-align: left; }
    @media print, screen and (min-width: 40em) {
      .section-expertise .expertise__content {
        font-size: 0.75rem;
        padding: 1.875rem; } }
  .section-expertise .expertise__arrow {
    position: absolute;
    overflow: hidden;
    top: 5%;
    right: 3%;
    height: 90%;
    width: 3.75rem;
    text-align: center;
    transition: all 0.3s;
    color: #ffffff;
    background-color: rgba(48, 58, 86, 0.95); }
    .section-expertise .expertise__arrow:after {
      content: "";
      font-family: 'iconfont';
      speak: none;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      display: inline-block; }
    .section-expertise .expertise__arrow:after {
      font-size: 1.25rem;
      transition: all 0.3s;
      color: #ffffff;
      top: 50%;
      position: absolute;
      right: 20px;
      margin-top: -10px; }
    .section-expertise .expertise__arrow.active {
      cursor: pointer;
      width: 94%; }
      .section-expertise .expertise__arrow.active:after {
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg); }
      .section-expertise .expertise__arrow.active .expertise__content {
        opacity: 1;
        position: relative;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%); }

.section-data {
  padding-bottom: 0; }
  .section-data .section__title {
    margin-top: 0; }
  .section-data .data-item {
    background-color: #ffffff;
    padding: 1.25rem;
    text-align: center;
    margin-left: 2.1875rem;
    margin-right: 2.1875rem;
    margin-bottom: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .section-data .data-item {
        margin-left: 0;
        margin-right: 0;
        padding: 1.875rem; } }
    @media print, screen and (min-width: 64em) {
      .section-data .data-item {
        min-height: 18.75rem;
        padding: 1.25rem;
        padding-top: 0; } }
    .section-data .data-item i {
      display: block;
      margin: auto;
      margin-bottom: -10px; }
      .section-data .data-item i:before {
        font-size: 5rem; }
        @media print, screen and (min-width: 64em) {
          .section-data .data-item i:before {
            font-size: 7.5rem; } }
    .section-data .data-item p {
      font-size: 0.75rem;
      line-height: 1.5; }
      @media print, screen and (min-width: 64em) {
        .section-data .data-item p {
          font-size: 1.125rem; } }
      .section-data .data-item p span {
        display: block;
        font-size: 1.625rem;
        font-weight: 500;
        color: #FF8E00;
        line-height: 1.1;
        margin-top: 0.625rem; }
        @media print, screen and (min-width: 64em) {
          .section-data .data-item p span {
            font-size: 2.5rem; } }
  @media print, screen and (min-width: 40em) {
    .section-data .data-wrapper {
      position: relative;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); } }

.img-container img {
  max-width: none; }

.section-engagements .section__title {
  margin-top: 0; }

.section-engagements .engagement {
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .section-engagements .engagement {
      margin-bottom: 0; } }
  .section-engagements .engagement .img-container {
    height: 11.25rem;
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .section-engagements .engagement .img-container {
        height: 100%; } }
  .section-engagements .engagement__content {
    margin-bottom: 0.625rem;
    background-color: #ffffff; }
    @media print, screen and (min-width: 40em) {
      .section-engagements .engagement__content {
        width: 40%;
        margin-right: 2%;
        display: inline-block; } }
    @media print, screen and (min-width: 64em) {
      .section-engagements .engagement__content {
        margin-right: 1%; } }
  @media print, screen and (min-width: 40em) {
    .section-engagements .engagement__img {
      width: 57%;
      display: inline-block;
      vertical-align: top; } }
  @media print, screen and (min-width: 64em) {
    .section-engagements .engagement__img {
      width: 58%; } }
  .section-engagements .engagement__header {
    position: relative;
    height: 3.125rem;
    min-height: 3.125rem;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    display: table;
    width: 100%; }
    .section-engagements .engagement__header:after {
      content: "";
      border-bottom: solid 0.125rem #303A56;
      width: 100%;
      display: block;
      position: absolute;
      left: 0;
      bottom: 0; }
    @media print, screen and (min-width: 40em) {
      .section-engagements .engagement__header {
        min-height: 5rem;
        height: 5rem;
        padding-left: 0.625rem;
        padding-right: 0.625rem; } }
    @media print, screen and (min-width: 64em) {
      .section-engagements .engagement__header {
        min-height: 6.875rem;
        height: 6.875rem;
        padding-left: 1.25rem;
        padding-right: 1.25rem; } }
    .section-engagements .engagement__header i {
      position: absolute;
      top: 50%;
      margin-top: -20px; }
      @media print, screen and (min-width: 64em) {
        .section-engagements .engagement__header i {
          margin-top: -30px; } }
      .section-engagements .engagement__header i:before {
        font-size: 2.5rem;
        color: #303A56; }
        @media print, screen and (min-width: 64em) {
          .section-engagements .engagement__header i:before {
            font-size: 3.125rem; } }
  .section-engagements .engagement__txt {
    font-weight: 300;
    font-size: 0.75rem;
    padding: 1.875rem 1.25rem;
    color: #303A56; }
    @media print, screen and (min-width: 64em) {
      .section-engagements .engagement__txt {
        font-size: 0.875rem; } }
    .section-engagements .engagement__txt ul {
      margin-bottom: 0; }
    .section-engagements .engagement__txt img {
      margin: auto;
      display: block;
      margin-top: 15px;
      margin-bottom: -15px; }
  .section-engagements .engagement__title {
    color: #FF8E00;
    line-height: 1.4;
    margin: 0;
    font-size: 1rem;
    font-style: italic;
    font-weight: 300;
    padding-left: 2.8125rem;
    display: table-cell;
    vertical-align: middle; }
    @media print, screen and (min-width: 40em) {
      .section-engagements .engagement__title {
        font-size: 1.25rem;
        line-height: 1.1; } }
    @media print, screen and (min-width: 64em) {
      .section-engagements .engagement__title {
        font-size: 1.625rem;
        padding-left: 3.4375rem;
        font-weight: bold; } }

.section-responsiblity .section__content img {
  display: block;
  margin: auto; }

.section-responsiblity .section__content .responsiblity-logo {
  margin-bottom: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .section-responsiblity .section__content .responsiblity-logo {
      padding-bottom: 3.125rem;
      margin-bottom: 0; } }

.section-responsiblity .section__content p {
  font-weight: 300; }
  @media screen and (max-width: 63.9375em) {
    .section-responsiblity .section__content p {
      margin-bottom: 4.375rem; } }

.section-responsiblity .section__content a {
  color: #FF8E00;
  font-weight: bold; }
  .section-responsiblity .section__content a:hover, .section-responsiblity .section__content a:focus, .section-responsiblity .section__content a:active {
    color: #303A56; }

.section-value .section__title {
  margin-bottom: 3.125rem; }

.section-value .section__header p {
  margin-bottom: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .section-value .section__header p {
      margin-bottom: 6.25rem; } }

.section-value .value__item {
  position: relative;
  margin-bottom: 15px;
  display: block;
  z-index: 2; }
  .section-value .value__item:hover, .section-value .value__item:focus, .section-value .value__item:active {
    cursor: pointer; }
    .section-value .value__item:hover .value__header, .section-value .value__item:focus .value__header, .section-value .value__item:active .value__header {
      height: 96%;
      padding-top: 1.25rem;
      background-color: rgba(48, 58, 86, 0.95); }
      @media print, screen and (min-width: 64em) {
        .section-value .value__item:hover .value__header, .section-value .value__item:focus .value__header, .section-value .value__item:active .value__header {
          padding-top: 2.5rem; } }
      .section-value .value__item:hover .value__header:before, .section-value .value__item:focus .value__header:before, .section-value .value__item:active .value__header:before {
        content: none; }
    .section-value .value__item:hover .value__title, .section-value .value__item:focus .value__title, .section-value .value__item:active .value__title {
      color: #FF8E00; }
    .section-value .value__item:hover .value__txt, .section-value .value__item:focus .value__txt, .section-value .value__item:active .value__txt {
      display: block;
      color: #ffffff;
      z-index: 10;
      padding-left: 20px;
      padding-right: 20px;
      font-size: 0.75rem;
      padding-top: 60px;
      position: relative; }
      @media print, screen and (min-width: 64em) {
        .section-value .value__item:hover .value__txt, .section-value .value__item:focus .value__txt, .section-value .value__item:active .value__txt {
          padding: 2.5rem;
          padding-top: 5.625rem;
          font-size: 1rem; } }
    .section-value .value__item:hover .icon-glass, .section-value .value__item:focus .icon-glass, .section-value .value__item:active .icon-glass {
      display: none; }

.section-value .value__content {
  position: absolute;
  left: 1%;
  bottom: 0;
  width: 98%;
  text-align: center;
  height: 100%; }

.section-value .value__header {
  background-color: rgba(255, 255, 255, 0.95);
  padding: 0.625rem 1.25rem;
  padding-top: 1.25rem;
  transition: all 0.3s;
  min-height: 43px;
  position: absolute;
  width: 100%;
  bottom: 2%;
  z-index: 1; }
  @media print, screen and (min-width: 64em) {
    .section-value .value__header {
      min-height: 65px; } }
  .section-value .value__header:before {
    transition: all 0.3s;
    content: "";
    height: 2.0625rem;
    width: 4.125rem;
    border-radius: 50px 50px 0 0;
    background-color: rgba(255, 255, 255, 0.95);
    position: absolute;
    top: -33px;
    display: block;
    left: 50%;
    margin-left: -33px; }
    @media print, screen and (min-width: 64em) {
      .section-value .value__header:before {
        height: 3.125rem;
        width: 6.25rem;
        top: -50px;
        margin-left: -50px; } }
  .section-value .value__header .icon-glass {
    position: absolute;
    width: 100%;
    left: 0;
    top: -20px; }
    @media print, screen and (min-width: 64em) {
      .section-value .value__header .icon-glass {
        top: -36px; } }
    .section-value .value__header .icon-glass:before {
      font-size: 1.25rem;
      color: #303A56; }
      @media print, screen and (min-width: 64em) {
        .section-value .value__header .icon-glass:before {
          font-size: 2.25rem; } }

.section-value .value__title {
  transition: all 0.3s;
  font-weight: bold;
  text-transform: uppercase;
  margin: 0;
  color: #303A56; }
  @media print, screen and (min-width: 40em) {
    .section-value .value__title {
      font-size: 1rem;
      line-height: 1.2; } }
  @media print, screen and (min-width: 64em) {
    .section-value .value__title {
      font-size: 1.625rem; } }

.section-value .value__txt {
  display: none; }

.section-value .value__img .img-container {
  height: 180px; }
  @media print, screen and (min-width: 40em) {
    .section-value .value__img .img-container {
      height: 200px; } }
  @media print, screen and (min-width: 64em) {
    .section-value .value__img .img-container {
      height: 280px; } }

.section-products .section__title {
  margin-bottom: 3.125rem;
  margin-top: 0; }

.section-products .section__header p {
  color: white;
  text-align: center;
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.5rem;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 40em) {
    .section-products .section__header p {
      font-size: 1rem; } }
  @media print, screen and (min-width: 64em) {
    .section-products .section__header p {
      font-size: 1.125rem; } }

.section-products .accordion, .section-products .tabs {
  background: transparent; }
  .section-products .accordion :last-child > .accordion-content:last-child, .section-products .tabs :last-child > .accordion-content:last-child {
    border-bottom: none; }
  .section-products .accordion-item, .section-products .tabs-item {
    position: relative;
    text-align: center; }
    .section-products .accordion-item:before, .section-products .tabs-item:before {
      content: "";
      font-family: 'iconfont';
      speak: none;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      display: inline-block; }
    .section-products .accordion-item:after, .section-products .tabs-item:after {
      content: "";
      width: 100%;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      background-color: rgba(48, 58, 86, 0.9);
      z-index: 10;
      transition: all 0.3s; }
    .section-products .accordion-item .products-tab__title, .section-products .tabs-item .products-tab__title {
      color: #ffffff; }
    .section-products .accordion-item:before, .section-products .tabs-item:before {
      font-size: 2.25rem;
      color: #ffffff;
      position: absolute;
      z-index: 20;
      top: 50%;
      margin-top: -58px;
      margin-left: -18px;
      transition: all 0.3s; }
    .section-products .accordion-item:hover:after, .section-products .accordion-item:focus:after, .section-products .accordion-item:active:after, .section-products .tabs-item:hover:after, .section-products .tabs-item:focus:after, .section-products .tabs-item:active:after {
      content: none; }
    .section-products .accordion-item:hover:before, .section-products .accordion-item:focus:before, .section-products .accordion-item:active:before, .section-products .tabs-item:hover:before, .section-products .tabs-item:focus:before, .section-products .tabs-item:active:before {
      content: none; }
    .section-products .accordion-item.is-active .products-tab__title, .section-products .tabs-item.is-active .products-tab__title {
      color: #5F718B; }
    .section-products .accordion-item.is-active:before, .section-products .tabs-item.is-active:before {
      content: none; }
    .section-products .accordion-item.is-active:after, .section-products .tabs-item.is-active:after {
      content: none; }
  .section-products .accordion-title, .section-products .tabs-title {
    margin-bottom: 0.9375rem;
    border: none;
    background-color: #ffffff; }
    .section-products .accordion-title:before, .section-products .tabs-title:before {
      content: none; }
    .section-products .accordion-title .products-tab__title, .section-products .tabs-title .products-tab__title {
      font-size: 0.875rem;
      text-transform: uppercase;
      line-height: 1.3;
      font-weight: 300;
      position: relative;
      z-index: 20;
      margin-top: 1.25rem;
      margin-bottom: 0; }
      @media print, screen and (min-width: 40em) {
        .section-products .accordion-title .products-tab__title, .section-products .tabs-title .products-tab__title {
          font-size: 1.125rem; } }
      @media print, screen and (min-width: 64em) {
        .section-products .accordion-title .products-tab__title, .section-products .tabs-title .products-tab__title {
          font-size: 1.375rem; } }
      .section-products .accordion-title .products-tab__title span, .section-products .tabs-title .products-tab__title span {
        color: #FF8E00;
        display: block; }

.section-products .tabs {
  border: none; }
  .section-products .tabs-title {
    width: 31.3%;
    position: relative;
    text-align: center; }
    .section-products .tabs-title:before {
      content: "";
      font-family: 'iconfont';
      speak: none;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      display: inline-block; }
    .section-products .tabs-title:not(:last-of-type) {
      margin-right: 3%; }
    .section-products .tabs-title .products-tab__title {
      color: #ffffff;
      transition: all 0.3s; }
    .section-products .tabs-title:after {
      content: "";
      width: 100%;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      background-color: rgba(48, 58, 86, 0.9);
      z-index: 10;
      transition: all 0.3s; }
    .section-products .tabs-title:before {
      font-size: 2.25rem;
      color: #ffffff;
      position: absolute;
      z-index: 20;
      top: 50%;
      width: 100%;
      left: 0;
      margin-top: -58px;
      transition: all 0.3s; }
    .section-products .tabs-title.is-active, .section-products .tabs-title:hover, .section-products .tabs-title:focus, .section-products .tabs-title:active {
      cursor: pointer; }
      .section-products .tabs-title.is-active:before, .section-products .tabs-title:hover:before, .section-products .tabs-title:focus:before, .section-products .tabs-title:active:before {
        opacity: 0; }
      .section-products .tabs-title.is-active:after, .section-products .tabs-title:hover:after, .section-products .tabs-title:focus:after, .section-products .tabs-title:active:after {
        opacity: 0; }
      .section-products .tabs-title.is-active .products-tab__title, .section-products .tabs-title:hover .products-tab__title, .section-products .tabs-title:focus .products-tab__title, .section-products .tabs-title:active .products-tab__title {
        color: #5F718B; }
    .section-products .tabs-title a {
      padding: 0.625rem;
      background: none; }

.section-products .accordion-content, .section-products .tabs-content {
  border: none;
  padding: 0;
  background-color: transparent; }
  .section-products .accordion-content .products-item, .section-products .tabs-content .products-item {
    margin-bottom: 0.9375rem;
    display: table;
    background-color: #ffffff;
    width: 100%; }
    .section-products .accordion-content .products-item__img, .section-products .accordion-content .products-item__content, .section-products .tabs-content .products-item__img, .section-products .tabs-content .products-item__content {
      width: 49%;
      display: inline-block;
      display: table-cell;
      float: none;
      vertical-align: middle;
      height: 100%; }
    .section-products .accordion-content .products-item__img .img-container, .section-products .tabs-content .products-item__img .img-container {
      height: 100%;
      width: 100%; }
    .section-products .accordion-content .products-item__content, .section-products .tabs-content .products-item__content {
      text-align: center;
      padding: 40px 20px; }
      @media print, screen and (min-width: 40em) {
        .section-products .accordion-content .products-item__content, .section-products .tabs-content .products-item__content {
          padding: 1.875rem; } }
      @media print, screen and (min-width: 64em) {
        .section-products .accordion-content .products-item__content, .section-products .tabs-content .products-item__content {
          padding: 3.125rem; } }
      .section-products .accordion-content .products-item__content p, .section-products .tabs-content .products-item__content p {
        font-size: 0.875rem;
        text-transform: uppercase;
        padding-bottom: 1.5625rem;
        margin-bottom: 0; }
        @media print, screen and (min-width: 40em) {
          .section-products .accordion-content .products-item__content p, .section-products .tabs-content .products-item__content p {
            font-size: 1rem; } }
        @media print, screen and (min-width: 64em) {
          .section-products .accordion-content .products-item__content p, .section-products .tabs-content .products-item__content p {
            font-size: 1.375rem; } }
      .section-products .accordion-content .products-item__content ul, .section-products .tabs-content .products-item__content ul {
        font-size: 0.625rem; }
        @media print, screen and (min-width: 40em) {
          .section-products .accordion-content .products-item__content ul, .section-products .tabs-content .products-item__content ul {
            font-size: 0.75rem; } }
        @media print, screen and (min-width: 64em) {
          .section-products .accordion-content .products-item__content ul, .section-products .tabs-content .products-item__content ul {
            font-size: 1.125rem; } }

.section-products .tabs-content .tabs-panel {
  padding: 0; }
  .section-products .tabs-content .tabs-panel .column:nth-child(2n+1), .section-products .tabs-content .tabs-panel .columns:nth-child(2n+1) {
    padding-right: 10px; }
  .section-products .tabs-content .tabs-panel .column:nth-child(2n+0), .section-products .tabs-content .tabs-panel .columns:nth-child(2n+0) {
    padding-left: 10px; }

.section-products .tabs-content .product-item {
  margin-bottom: 0.3125rem; }

.section-brands .section__title {
  margin-top: 0; }

.section-brands ul {
  text-align: center; }
  .section-brands ul li {
    display: inline-block;
    padding-bottom: 1.25rem;
    padding-right: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .section-brands ul li {
        padding-bottom: 2.5rem; } }
    @media print, screen and (min-width: 64em) {
      .section-brands ul li {
        padding-right: 1.875rem; } }

.section-process {
  padding-bottom: 0; }
  .section-process .progressbar__wrapper {
    background-color: rgba(95, 113, 139, 0.7);
    position: relative;
    padding: 0.5rem 0.9375rem 0.1875rem 0.9375rem; }
    .section-process .progressbar__wrapper .arrow-left, .section-process .progressbar__wrapper .arrow-right {
      position: relative;
      background-color: #FF8E00;
      width: 2.625rem;
      height: 100%;
      text-align: center;
      display: block;
      position: absolute;
      z-index: 10;
      top: 0; }
      .section-process .progressbar__wrapper .arrow-left i, .section-process .progressbar__wrapper .arrow-right i {
        position: absolute;
        width: 100%;
        left: 0;
        top: 6px; }
        @media print, screen and (min-width: 64em) {
          .section-process .progressbar__wrapper .arrow-left i, .section-process .progressbar__wrapper .arrow-right i {
            top: 12px; } }
        .section-process .progressbar__wrapper .arrow-left i:before, .section-process .progressbar__wrapper .arrow-right i:before {
          color: #ffffff;
          font-size: 0.875rem; }
          @media print, screen and (min-width: 64em) {
            .section-process .progressbar__wrapper .arrow-left i:before, .section-process .progressbar__wrapper .arrow-right i:before {
              font-size: 1.25rem; } }
    .section-process .progressbar__wrapper .arrow-left {
      left: 0;
      display: none; }
    .section-process .progressbar__wrapper .arrow-right {
      right: 0; }
  .section-process .progressbar__content {
    margin: 0;
    list-style: none;
    text-align: center; }
    .section-process .progressbar__content li {
      opacity: 0;
      text-transform: uppercase;
      color: #ffffff;
      font-size: 0.875rem;
      font-weight: bold;
      -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
      transform: translateY(100%);
      position: absolute; }
      @media print, screen and (min-width: 40em) {
        .section-process .progressbar__content li {
          font-size: 1rem; } }
      @media print, screen and (min-width: 64em) {
        .section-process .progressbar__content li {
          font-size: 1.5rem; } }
      .section-process .progressbar__content li.is-active {
        transition: all 0.3s;
        transition: all 0.3s;
        opacity: 1;
        position: relative;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0); }
  .section-process .progressbar__progress {
    height: 0.5rem;
    background-color: #ffffff; }
    @media print, screen and (min-width: 64em) {
      .section-process .progressbar__progress {
        height: 0.625rem; } }
    .section-process .progressbar__progress span {
      background-color: #FF8E00;
      width: 33.33%;
      height: 100%;
      display: block;
      transition: all 0.3s; }
  .section-process .progressbar__count {
    font-weight: bold;
    font-size: 0.75rem;
    text-align: center;
    color: #ffffff;
    margin-top: 0.625rem;
    letter-spacing: 0.25rem; }
    @media print, screen and (min-width: 64em) {
      .section-process .progressbar__count {
        font-size: 1rem;
        margin-top: 0.9375rem; } }
  .section-process .process {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
    position: relative;
    max-width: 18.75rem;
    margin: auto;
    overflow: hidden; }
    @media print, screen and (min-width: 40em) {
      .section-process .process {
        max-width: 38.125rem;
        padding-bottom: 9.375rem; } }
    @media print, screen and (min-width: 64em) {
      .section-process .process {
        max-width: 62.125rem;
        padding-bottom: 12.5rem; } }
    .section-process .process__img {
      display: block;
      transition: all 0.3s;
      background-color: white;
      width: 90px;
      height: 80px;
      text-align: center;
      position: relative; }
      @media print, screen and (min-width: 40em) {
        .section-process .process__img {
          height: 119px;
          width: 133px;
          font-size: 0.875rem; } }
      @media print, screen and (min-width: 64em) {
        .section-process .process__img {
          height: 170px;
          width: 190px;
          font-size: 1rem; } }
      .section-process .process__img:before {
        content: "";
        font-family: 'iconfont';
        speak: none;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        text-rendering: optimizeLegibility;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        display: inline-block; }
      .section-process .process__img:after {
        content: "";
        font-family: 'iconfont';
        speak: none;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        text-rendering: optimizeLegibility;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        display: inline-block; }
      .section-process .process__img:after {
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg); }
      .section-process .process__img:before, .section-process .process__img:after {
        font-size: 6.25rem;
        position: absolute;
        color: #ffffff; }
        @media print, screen and (min-width: 40em) {
          .section-process .process__img:before, .section-process .process__img:after {
            font-size: 11.875rem; } }
        @media print, screen and (min-width: 64em) {
          .section-process .process__img:before, .section-process .process__img:after {
            font-size: 16.875rem; } }
      .section-process .process__img img {
        display: block;
        margin: auto;
        margin-bottom: 10px; }
        @media screen and (max-width: 63.9375em) {
          .section-process .process__img img {
            width: 2.5rem; } }
      .section-process .process__img--client {
        margin: auto;
        margin-bottom: 5.3125rem; }
        @media print, screen and (min-width: 40em) {
          .section-process .process__img--client {
            margin-bottom: 8.125rem; } }
        @media print, screen and (min-width: 64em) {
          .section-process .process__img--client {
            margin-bottom: 11.25rem; } }
        .section-process .process__img--client:before {
          left: -86px;
          -webkit-transform: rotate(-60deg);
          -ms-transform: rotate(-60deg);
          transform: rotate(-60deg);
          top: 66px; }
          @media print, screen and (min-width: 40em) {
            .section-process .process__img--client:before {
              left: -160px; } }
          @media print, screen and (min-width: 64em) {
            .section-process .process__img--client:before {
              left: -225px;
              top: 80px; } }
        .section-process .process__img--client:after {
          left: -98px;
          -webkit-transform: rotate(120deg);
          -ms-transform: rotate(120deg);
          transform: rotate(120deg);
          top: 51px; }
          @media print, screen and (min-width: 40em) {
            .section-process .process__img--client:after {
              top: 45px;
              left: -195px; } }
          @media print, screen and (min-width: 64em) {
            .section-process .process__img--client:after {
              top: 60px;
              left: -270px; } }
      .section-process .process__img--ship {
        float: right; }
        @media print, screen and (min-width: 40em) {
          .section-process .process__img--ship {
            margin-right: 50px; } }
        @media print, screen and (min-width: 64em) {
          .section-process .process__img--ship {
            margin-right: 150px; } }
        .section-process .process__img--ship:before {
          left: -110px;
          top: 6px; }
          @media print, screen and (min-width: 40em) {
            .section-process .process__img--ship:before {
              left: -220px;
              top: -14px; } }
          @media print, screen and (min-width: 64em) {
            .section-process .process__img--ship:before {
              left: -290px;
              top: -15px; } }
        .section-process .process__img--ship:after {
          left: -110px;
          top: -20px; }
          @media print, screen and (min-width: 40em) {
            .section-process .process__img--ship:after {
              left: -220px;
              top: -52px; } }
          @media print, screen and (min-width: 64em) {
            .section-process .process__img--ship:after {
              left: -290px;
              top: -65px; } }
      .section-process .process__img--daron {
        float: left; }
        .section-process .process__img--daron.no-opacity:before, .section-process .process__img--daron.no-opacity:after {
          opacity: 0; }
        @media print, screen and (min-width: 40em) {
          .section-process .process__img--daron {
            margin-left: 50px; } }
        @media print, screen and (min-width: 64em) {
          .section-process .process__img--daron {
            margin-left: 150px; } }
        .section-process .process__img--daron:before {
          right: -29px;
          -webkit-transform: rotate(-60deg);
          -ms-transform: rotate(-60deg);
          transform: rotate(-60deg);
          top: -99px; }
          @media print, screen and (min-width: 40em) {
            .section-process .process__img--daron:before {
              right: -86px;
              top: -183px; } }
          @media print, screen and (min-width: 64em) {
            .section-process .process__img--daron:before {
              right: -107px;
              top: -270px; } }
        .section-process .process__img--daron:after {
          right: -17px;
          -webkit-transform: rotate(120deg);
          -ms-transform: rotate(120deg);
          transform: rotate(120deg);
          top: -114px; }
          @media print, screen and (min-width: 40em) {
            .section-process .process__img--daron:after {
              right: -52px;
              top: -205px; } }
          @media print, screen and (min-width: 64em) {
            .section-process .process__img--daron:after {
              right: -62px;
              top: -290px; } }
        @media screen and (max-width: 63.9375em) {
          .section-process .process__img--daron img {
            width: 5rem; } }
      .section-process .process__img-wrapper {
        position: relative;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
      .section-process .process__img.is-inactive {
        opacity: 0.2;
        transition: all 0.3s; }
    .section-process .process__content {
      position: absolute; }
      .section-process .process__content p {
        font-weight: bold;
        color: #ffffff;
        opacity: 0.2;
        font-size: 0.625rem; }
        @media print, screen and (min-width: 40em) {
          .section-process .process__content p {
            font-size: 0.75rem; } }
        @media print, screen and (min-width: 64em) {
          .section-process .process__content p {
            font-size: 1rem; } }
      .section-process .process__content.is-active p {
        color: #FF8E00;
        opacity: 1; }
      .section-process .process__content--2 {
        width: 100%;
        text-align: center; }
        .section-process .process__content--2 p:first-child {
          max-width: 99px;
          margin: auto;
          margin-bottom: 53px;
          margin-top: -23px; }
          @media print, screen and (min-width: 40em) {
            .section-process .process__content--2 p:first-child {
              max-width: none;
              margin-bottom: 70px;
              margin-top: -3px; } }
          @media print, screen and (min-width: 64em) {
            .section-process .process__content--2 p:first-child {
              margin-bottom: 95px;
              margin-top: 0; } }
      .section-process .process__content--1 {
        top: 100px;
        left: -5px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          .section-process .process__content--1 {
            top: 169px;
            left: -14px; } }
        @media print, screen and (min-width: 64em) {
          .section-process .process__content--1 {
            top: 220px;
            left: 6px; } }
        .section-process .process__content--1 p:last-child {
          margin-top: 20px;
          margin-right: -140px; }
          @media print, screen and (min-width: 40em) {
            .section-process .process__content--1 p:last-child {
              margin-top: 25px;
              margin-right: -190px; } }
          @media print, screen and (min-width: 64em) {
            .section-process .process__content--1 p:last-child {
              margin-top: 45px;
              margin-right: -260px; } }
        @media screen and (max-width: 63.9375em) {
          .section-process .process__content--1 p:first-child {
            max-width: 150px; } }
        @media screen and (max-width: 39.9375em) {
          .section-process .process__content--1 p:first-child {
            max-width: 70px; } }
      .section-process .process__content--3 {
        top: 183px;
        left: -17px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          .section-process .process__content--3 {
            top: 244px;
            left: -45px; } }
        @media print, screen and (min-width: 64em) {
          .section-process .process__content--3 {
            top: 300px;
            left: 15px; } }
        .section-process .process__content--3 p:last-child {
          margin-right: -137px;
          margin-top: -30px; }
          @media print, screen and (min-width: 40em) {
            .section-process .process__content--3 p:last-child {
              margin-right: -187px;
              margin-top: -10px; } }
          @media print, screen and (min-width: 64em) {
            .section-process .process__content--3 p:last-child {
              margin-right: -247px;
              margin-top: 40px; } }
        @media screen and (max-width: 63.9375em) {
          .section-process .process__content--3 p:first-child {
            max-width: 150px; } }
        @media screen and (max-width: 39.9375em) {
          .section-process .process__content--3 p:first-child {
            max-width: 60px; } }
  .section-process .delivery__title {
    font-weight: 500;
    font-size: 0.75rem;
    text-align: center;
    color: #ffffff;
    margin: 0;
    line-height: 1.4; }
    @media print, screen and (min-width: 40em) {
      .section-process .delivery__title {
        font-size: 1rem; } }
    @media print, screen and (min-width: 64em) {
      .section-process .delivery__title {
        font-size: 1.125rem; } }
    .section-process .delivery__title:after {
      content: "";
      height: 1px;
      width: 100%;
      background-color: #ffffff;
      display: block;
      margin-top: 0.625rem; }
  .section-process .delivery__header {
    margin-bottom: 1.875rem; }
  .section-process .delivery__header, .section-process .delivery__content {
    position: relative;
    z-index: 10; }
  .section-process .delivery__content .column:nth-child(2n+1), .section-process .delivery__content .columns:nth-child(2n+1) {
    padding-right: 0.3125rem; }
  .section-process .delivery__content .column:nth-child(2n+0), .section-process .delivery__content .columns:nth-child(2n+0) {
    padding-left: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .section-process .delivery__content .column:nth-child(2n+1), .section-process .delivery__content .columns:nth-child(2n+1), .section-process .delivery__content .column:nth-child(2n+0), .section-process .delivery__content .columns:nth-child(2n+0) {
      padding-left: 0.4375rem;
      padding-right: 0.4375rem; }
    .section-process .delivery__content .column:first-of-type, .section-process .delivery__content .columns:first-of-type {
      padding-left: 0.9375rem; }
    .section-process .delivery__content .column:last-of-type, .section-process .delivery__content .columns:last-of-type {
      padding-right: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .section-process .delivery__content .column, .section-process .delivery__content .columns {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  .section-process .delivery__item {
    background-color: #ffffff;
    padding: 1.5625rem 0.625rem;
    text-align: center;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .section-process .delivery__item {
        padding: 1.875rem; } }
    .section-process .delivery__item i {
      display: block;
      margin-bottom: 0.3125rem; }
      .section-process .delivery__item i:before {
        color: #FF8E00;
        font-size: 1.875rem; }
        @media print, screen and (min-width: 40em) {
          .section-process .delivery__item i:before {
            font-size: 2.8125rem; } }
        @media print, screen and (min-width: 64em) {
          .section-process .delivery__item i:before {
            font-size: 3.75rem; } }
  .section-process .delivery__txt {
    font-size: 0.75rem;
    font-weight: 300;
    color: #303A56; }
    @media print, screen and (min-width: 64em) {
      .section-process .delivery__txt {
        font-size: 1rem;
        line-height: 1.6; } }
    .section-process .delivery__txt a {
      color: #FF8E00;
      display: block;
      text-transform: uppercase;
      font-weight: normal; }
      .section-process .delivery__txt a:hover, .section-process .delivery__txt a:focus, .section-process .delivery__txt a:active {
        color: #303A56; }
  .section-process .delivery__img {
    z-index: 1;
    position: relative;
    top: -60px;
    margin-bottom: -60px;
    height: 13.4375rem;
    background-image: url("../img/img-bottom_offers.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
    @media print, screen and (min-width: 40em) {
      .section-process .delivery__img {
        height: 32.1875rem; } }
    @media print, screen and (min-width: 64em) {
      .section-process .delivery__img {
        height: 47.5rem;
        top: -120px;
        margin-bottom: -120px; } }

.section-congo .section__intro {
  padding-bottom: 2.5rem; }
  @media print, screen and (min-width: 40em) {
    .section-congo .section__intro {
      padding-bottom: 0; } }
  .section-congo .section__intro span {
    display: block;
    margin-bottom: 0.625rem; }

.performance__img-gabon {
  margin-top: 4.375rem; }
  .performance__img-gabon .img-container {
    height: 300px; }
    @media print, screen and (min-width: 40em) {
      .performance__img-gabon .img-container {
        height: 320px; } }
    @media print, screen and (min-width: 64em) {
      .performance__img-gabon .img-container {
        height: 388px; } }

.sites-sam__img-top {
  margin-left: -15px;
  margin-right: -15px; }
  @media print, screen and (min-width: 40em) {
    .sites-sam__img-top {
      margin-left: 0;
      margin-right: 0; } }
  .sites-sam__img-top .img-container {
    height: 9.375rem; }
    @media print, screen and (min-width: 40em) {
      .sites-sam__img-top .img-container {
        height: 18.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .sites-sam__img-top .img-container {
        height: 28.75rem; } }

.sites-sam__img-bottom {
  margin-left: -15px;
  margin-right: -15px; }
  @media print, screen and (min-width: 40em) {
    .sites-sam__img-bottom {
      margin-left: auto;
      margin-right: auto;
      max-width: 70rem; } }
  .sites-sam__img-bottom #map {
    height: 400px; }
  .sites-sam__img-bottom .img-container {
    height: 9.375rem; }
    @media print, screen and (min-width: 40em) {
      .sites-sam__img-bottom .img-container {
        height: 17.5rem; } }
    @media print, screen and (min-width: 64em) {
      .sites-sam__img-bottom .img-container {
        height: 25rem; } }

.sites-sam__logo {
  position: relative; }
  .sites-sam__logo:before {
    transition: all .3s;
    content: "";
    height: 10.3125rem;
    width: 10.3125rem;
    border-radius: 100%;
    background-color: #ffffff;
    position: absolute;
    top: -50px;
    display: block;
    left: 50%;
    margin-left: -82.5px; }
    @media print, screen and (min-width: 40em) {
      .sites-sam__logo:before {
        height: 270px;
        width: 270px;
        top: -80px;
        margin-left: -135px; } }
  .sites-sam__logo img {
    height: 1.875rem;
    display: block;
    margin: auto;
    top: -15px;
    position: relative; }
    @media print, screen and (min-width: 40em) {
      .sites-sam__logo img {
        height: auto;
        width: 10rem; } }

.sites-sam__txt {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  position: relative;
  z-index: 1;
  margin: auto; }
  @media print, screen and (min-width: 40em) {
    .sites-sam__txt {
      padding-bottom: 60px;
      padding-top: 50px; } }

.sites-sam__intro {
  font-weight: 300;
  padding-top: 2.5rem;
  padding-bottom: 1.25rem;
  font-size: 0.75rem;
  z-index: 1;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .sites-sam__intro {
      font-size: 1rem; } }

.sites-sam__content {
  font-size: 0.875rem;
  font-weight: 300; }
  @media print, screen and (min-width: 64em) {
    .sites-sam__content {
      font-size: 1rem; } }
  .sites-sam__content span {
    font-weight: bold;
    font-size: 1rem;
    text-transform: uppercase; }
    @media print, screen and (min-width: 64em) {
      .sites-sam__content span {
        font-size: 1.25rem; } }

.section-gabon .section__title {
  margin-top: 0; }

.section-gabon .sites-sam__txt {
  padding-top: 0;
  padding-bottom: 0; }

.section-gabon .sites-sam__content p:last-of-type {
  font-weight: bold; }

.section-gabon .sites-sam__contentBis {
  margin-bottom: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .section-gabon .sites-sam__contentBis {
      margin-bottom: 0; } }
  .section-gabon .sites-sam__contentBis figure {
    max-width: 450px;
    margin: auto;
    display: block; }
  .section-gabon .sites-sam__contentBis figcaption {
    font-size: 0.6875rem;
    font-weight: 300;
    font-style: normal;
    margin-top: 0.3125rem;
    line-height: 1.5; }

.section-gabon .sites-sam__img-bottom {
  margin-top: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .section-gabon .sites-sam__img-bottom {
      margin-top: 4.375rem; } }

.section-ressources {
  padding-bottom: 0; }
  .section-ressources .section__title {
    margin-top: 0; }
  @media print, screen and (min-width: 40em) {
    .section-ressources .ressources .column, .section-ressources .ressources .columns {
      padding-bottom: 0.125rem; }
      .section-ressources .ressources .column:nth-child(2n+1), .section-ressources .ressources .columns:nth-child(2n+1) {
        padding-right: 0.0625rem; }
      .section-ressources .ressources .column:nth-child(2n+0), .section-ressources .ressources .columns:nth-child(2n+0) {
        padding-left: 0.0625rem;
        padding-right: 0.625rem; }
      .section-ressources .ressources .column:last-of-type, .section-ressources .ressources .columns:last-of-type {
        padding-right: 0.625rem; } }
  .section-ressources .ressources__title {
    font-size: 0.6875rem;
    text-align: center;
    color: #303A56;
    text-transform: uppercase;
    margin: 0;
    z-index: 2;
    position: relative;
    line-height: 1.3; }
    @media print, screen and (min-width: 40em) {
      .section-ressources .ressources__title {
        font-size: 0.875rem; } }
    @media print, screen and (min-width: 64em) {
      .section-ressources .ressources__title {
        font-size: 1.125rem; } }
  .section-ressources .ressources__header {
    position: relative;
    padding: 1.25rem 0; }
    .section-ressources .ressources__header .icon-glass {
      position: absolute;
      width: 100%;
      text-align: center;
      top: -36px;
      left: 0; }
      .section-ressources .ressources__header .icon-glass:before {
        font-size: 2.25rem;
        color: #303A56; }
    .section-ressources .ressources__header:before {
      content: "";
      background-color: #ffffff;
      height: 100px;
      width: 100px;
      border-radius: 100%;
      position: absolute;
      top: -50px;
      margin-left: -50px;
      left: 50%; }
  .section-ressources .ressources__item {
    position: relative;
    overflow: hidden; }
    .section-ressources .ressources__item:hover, .section-ressources .ressources__item:focus, .section-ressources .ressources__item:active {
      cursor: pointer; }
      .section-ressources .ressources__item:hover .ressources__content, .section-ressources .ressources__item:focus .ressources__content, .section-ressources .ressources__item:active .ressources__content {
        height: 96%;
        width: 96%;
        left: 2%;
        background-color: rgba(255, 255, 255, 0.95); }
      .section-ressources .ressources__item:hover .ressources__txt, .section-ressources .ressources__item:focus .ressources__txt, .section-ressources .ressources__item:active .ressources__txt {
        opacity: 1;
        position: relative;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
      .section-ressources .ressources__item:hover .ressources__header, .section-ressources .ressources__item:focus .ressources__header, .section-ressources .ressources__item:active .ressources__header {
        display: none; }
  .section-ressources .ressources__content {
    position: absolute;
    transition: all .3s;
    width: 96%;
    left: 2%;
    bottom: 2%;
    background-color: #ffffff;
    z-index: 10;
    padding-left: 0.625rem;
    padding-right: 0.625rem; }
  .section-ressources .ressources__txt {
    opacity: 0;
    color: #FF8E00;
    font-weight: bold;
    text-align: center;
    transition: all .3s;
    position: absolute;
    width: 100%;
    overflow: hidden; }
    .section-ressources .ressources__txt p {
      margin-bottom: 0;
      line-height: 1;
      font-size: 3.125rem; }
      @media print, screen and (min-width: 40em) {
        .section-ressources .ressources__txt p {
          font-size: 3.75rem; } }
      @media print, screen and (min-width: 64em) {
        .section-ressources .ressources__txt p {
          font-size: 5rem; } }
    .section-ressources .ressources__txt span {
      font-size: 0.9375rem;
      font-weight: 300;
      display: block; }
      .section-ressources .ressources__txt span:first-of-type {
        margin-bottom: -20px; }
      @media print, screen and (min-width: 40em) {
        .section-ressources .ressources__txt span {
          font-size: 1.25rem; } }
      @media print, screen and (min-width: 64em) {
        .section-ressources .ressources__txt span {
          font-size: 1.875rem; } }
    @media print, screen and (min-width: 64em) {
      .section-ressources .ressources__txt {
        font-size: 5rem; } }
  .section-ressources .ressources__img .img-container {
    height: 15.625rem;
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .section-ressources .ressources__img .img-container {
        height: 19.375rem; } }
    @media print, screen and (min-width: 64em) {
      .section-ressources .ressources__img .img-container {
        height: 23.75rem; } }

.section-team {
  padding-top: 0; }
  @media print, screen and (min-width: 40em) {
    .section-team .team .row .column, .section-team .team .row .columns {
      padding-bottom: 0.125rem; }
      .section-team .team .row .column:nth-child(3n+1):last-child, .section-team .team .row .columns:nth-child(3n+1):last-child {
        margin-left: 33.33333%; }
      .section-team .team .row .column:nth-child(3n+1):nth-last-child(2), .section-team .team .row .columns:nth-child(3n+1):nth-last-child(2) {
        margin-left: 16.66667%; }
      .section-team .team .row .column:nth-child(3n+1), .section-team .team .row .columns:nth-child(3n+1) {
        padding-right: 0.125rem; }
      .section-team .team .row .column:nth-child(3n+0), .section-team .team .row .columns:nth-child(3n+0) {
        padding-left: 0.125rem; }
      .section-team .team .row .column:last-child, .section-team .team .row .columns:last-child {
        padding-right: 0; } }
  @media screen and (max-width: 39.9375em) {
    .section-team .team {
      max-width: 20.625rem;
      margin: auto; } }
  .section-team .team__img .img-container {
    height: 15.3125rem; }
    @media print, screen and (min-width: 40em) {
      .section-team .team__img .img-container {
        height: 18.75rem; } }
  .section-team .team__txt {
    color: #ffffff;
    background-color: rgba(48, 58, 86, 0.9);
    padding: 1.25rem;
    position: absolute;
    font-size: 0.6875rem;
    width: 96%;
    left: 2%;
    top: 100%;
    height: 96%;
    transition: all .3s;
    opacity: 0;
    z-index: 10; }
    .section-team .team__txt p {
      margin-bottom: 0; }
    @media print, screen and (min-width: 64em) {
      .section-team .team__txt {
        font-size: 0.75rem; } }
    @media screen and (max-width: 63.9375em) {
      .section-team .team__txt {
        text-align: center; } }
  .section-team .team__item {
    position: relative;
    transition: all .3s;
    overflow: hidden;
    cursor: pointer; }
    .section-team .team__item:hover .team__title, .section-team .team__item:focus .team__title, .section-team .team__item:active .team__title {
      color: #FF8E00; }
    .section-team .team__item:hover .team__txt, .section-team .team__item:focus .team__txt, .section-team .team__item:active .team__txt {
      -webkit-transform: translateY(-102%);
      -ms-transform: translateY(-102%);
      transform: translateY(-102%);
      opacity: 1; }
    .section-team .team__item:hover .team__header:before, .section-team .team__item:focus .team__header:before, .section-team .team__item:active .team__header:before {
      opacity: 0; }
    .section-team .team__item:hover .icon-glass, .section-team .team__item:focus .icon-glass, .section-team .team__item:active .icon-glass {
      opacity: 0; }
  .section-team .team__content {
    position: relative; }
  .section-team .team__header {
    background-color: #ffffff;
    position: relative;
    text-align: center;
    z-index: 20;
    padding: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .section-team .team__header {
        padding-left: 0.625rem;
        padding-right: 0.625rem; } }
    .section-team .team__header:before {
      content: "";
      background-color: #ffffff;
      transition: all .3s;
      height: 100px;
      width: 100px;
      border-radius: 100%;
      position: absolute;
      top: -50px;
      margin-left: -50px;
      left: 50%; }
    .section-team .team__header .icon-glass {
      position: absolute;
      transition: all .3s;
      left: 0;
      width: 100%;
      top: -32px; }
      .section-team .team__header .icon-glass:before {
        font-size: 1.875rem;
        color: #303A56; }
        @media print, screen and (min-width: 64em) {
          .section-team .team__header .icon-glass:before {
            font-size: 2.25rem; } }
  .section-team .team__title {
    color: #303A56;
    transition: all .3s;
    font-size: 0.875rem;
    text-transform: uppercase;
    z-index: 10;
    position: relative;
    margin-bottom: 0;
    line-height: 1.3; }
    @media print, screen and (min-width: 64em) {
      .section-team .team__title {
        font-size: 1.125rem; } }

.section-performance .section__title {
  margin-top: 0; }

.section-performance .section__content h3 {
  color: #FF8E00;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 1.25rem;
  line-height: 1.3; }
  @media print, screen and (min-width: 40em) {
    .section-performance .section__content h3 {
      font-size: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .section-performance .section__content h3 {
      font-size: 1.875rem; } }

.section-performance .section__content p {
  font-size: 0.6875rem;
  font-weight: 100; }
  @media print, screen and (min-width: 40em) {
    .section-performance .section__content p {
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 64em) {
    .section-performance .section__content p {
      font-size: 1rem; } }

.references-list {
  margin-bottom: 2.5rem; }
  @media print, screen and (min-width: 40em) {
    .references-list {
      margin-bottom: -25px; } }
  @media print, screen and (min-width: 64em) {
    .references-list {
      margin-bottom: -30px; } }
  .references-list img {
    max-height: 3.125rem; }
    @media print, screen and (min-width: 40em) {
      .references-list img {
        max-height: 5.625rem; } }
    @media print, screen and (min-width: 64em) {
      .references-list img {
        max-height: none; } }
  .references-list li {
    margin-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .references-list li {
        display: inline-block; }
        .references-list li:first-of-type {
          margin-right: 1.875rem; } }
    @media print, screen and (min-width: 64em) {
      .references-list li {
        margin-bottom: 2.5rem; } }

.section-references {
  margin-bottom: 0; }
  .section-references .section__title {
    margin-top: 0; }
  @media screen and (max-width: 39.9375em) {
    .section-references .section__content {
      overflow: hidden; } }
  .section-references .wrapper-photos {
    margin-left: -15px;
    margin-right: -15px; }
    @media print, screen and (min-width: 40em) {
      .section-references .wrapper-photos {
        margin: 0;
        position: relative;
        top: 3.4375rem; } }
    @media print, screen and (min-width: 40em) {
      .section-references .wrapper-photos {
        top: 4.375rem; } }

.section-testimonials {
  padding-bottom: 0; }
  @media screen and (max-width: 39.9375em) {
    .section-testimonials {
      padding-top: 0; } }
  .section-testimonials .wrapper-photos {
    margin-left: -15px;
    margin-right: -15px; }
    @media print, screen and (min-width: 40em) {
      .section-testimonials .wrapper-photos {
        margin: 0; } }
  @media screen and (max-width: 39.9375em) {
    .section-testimonials .section__content {
      overflow: hidden; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .section-testimonials .section__content {
      margin-top: 2.5rem; } }
  @media print, screen and (min-width: 40em) {
    .section-testimonials .section__content ul {
      margin-bottom: 2.8125rem; } }
  @media print, screen and (min-width: 64em) {
    .section-testimonials .section__content ul {
      margin-bottom: 4.375rem; } }
  .section-testimonials li:first-of-type {
    padding-bottom: 0.9375rem; }
  .section-testimonials .testimonials {
    background-color: #ffffff;
    font-weight:bold !important;
    font-style: italic !important;
    padding: 1.875rem;
    color: #303A56; }
    @media print, screen and (min-width: 40em) {
      .section-testimonials .testimonials {
        padding-bottom: 3.125rem; } }
    @media print, screen and (min-width: 64em) {
      .section-testimonials .testimonials {
        padding: 2.5rem;
        padding-bottom: 2.5rem !important; } }
    .section-testimonials .testimonials_content {
      font-size: 0.6875rem;
      margin-bottom: 1.5625rem; }
      @media print, screen and (min-width: 40em) {
        .section-testimonials .testimonials_content {
          font-size: 0.75rem;
          line-height: 1.7; } }
      @media print, screen and (min-width: 64em) {
        .section-testimonials .testimonials_content {
          font-size: 0.875rem; } }
    .section-testimonials .testimonials__author {
      font-weight: 500;
      margin-bottom: 10px !important;
      text-align: center !important; }
      @media print, screen and (min-width: 40em) {
        .section-testimonials .testimonials__author {
          font-size: 1.375rem; } }


.section-contact .section__title {
  margin-top: 0; }

.section-contact .section__content {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover; }

.section-contact-congo .section__content {
  background-image: url("../img/Port-PNR.jpg"); }

@media print, screen and (min-width: 64em) {
  .section-contact-form {
    margin-top: 8.125rem;
    margin-bottom: 8.125rem; } }

.section-contact-gabon .section__content {
  background-image: url("../img/Port-POG.jpg"); }
  
.section-contact-angola .section__content {
	background-image: url("../img/Port-Luanda.jpg"); }


.section-contact-gabon .contact__wrapper .contact__item, .section-contact-angola .contact__wrapper .contact__item {
  margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .section-contact-gabon .contact__wrapper .contact__item, .section-contact-angola .contact__wrapper .contact__item {
      padding: 1.125rem;
      padding-top: 5rem;
      padding-bottom: 2.5rem;
      font-size: 0.75rem;
      margin-bottom: 4.375rem; }
      .section-contact-gabon .contact__wrapper .contact__item span, .section-contact-angola .contact__wrapper .contact__item span {
        font-size: 0.75rem;
        line-height: 1; } }
  @media print, screen and (min-width: 64em) {
    .section-contact-gabon .contact__wrapper .contact__item, .section-contact-angola .contact__wrapper .contact__item {
      font-size: 1rem;
      padding-top: 7.3125rem;
      padding-bottom: 5.625rem;
      margin-bottom: 5.625rem; }
      .section-contact-gabon .contact__wrapper .contact__item span, .section-contact-angola .contact__wrapper .contact__item span {
        font-size: 1.125rem; } }

@media print, screen and (min-width: 40em) {
  .section-contact-gabon .contact__wrapper .column, .section-contact-gabon .contact__wrapper .columns, .section-contact-angola .contact__wrapper .column, .section-contact-angola .contact__wrapper .columns {
    padding: 0.3125rem; }
    .section-contact-gabon .contact__wrapper .column:first-of-type, .section-contact-gabon .contact__wrapper .columns:first-of-type, .section-contact-angola .contact__wrapper .column:first-of-type, .section-contact-angola .contact__wrapper .columns:first-of-type {
      padding-left: 0.9375rem; }
    .section-contact-gabon .contact__wrapper .column:last-of-type, .section-contact-gabon .contact__wrapper .columns:last-of-type, .section-contact-angola .contact__wrapper .column:last-of-type, .section-contact-angola .contact__wrapper .columns:last-of-type {
      padding-right: 0.9375rem; } }

@media screen and (max-width: 39.9375em) {
  .section-contact-gabon .contact__wrapper .column:not(:first-child) .contact__item, .section-contact-gabon .contact__wrapper .columns:not(:first-child) .contact__item, .section-contact-angola .contact__wrapper .column:not(:first-child) .contact__item, .section-contact-angola .contact__wrapper .columns:not(:first-child) .contact__item {
    padding-top: 1.25rem; } }

.section-contact .contact .icon-contacts {
  height: 3.75rem;
  width: 3.75rem;
  margin: auto;
  display: block;
  border-radius: 100%;
  background-color: #303A56;
  text-align: center;
  padding-top: 0.875rem;
  position: relative;
  top: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .section-contact .contact .icon-contacts {
      height: 6.5625rem;
      width: 6.5625rem;
      top: 52.5px;
      padding-top: 1.5rem; } }
  @media print, screen and (min-width: 64em) {
    .section-contact .contact .icon-contacts {
      height: 8.75rem;
      width: 8.75rem;
      top: 70px;
      padding-top: 2.5rem; } }
  .section-contact .contact .icon-contacts:before {
    font-size: 1.6875rem;
    color: #ffffff; }
    @media print, screen and (min-width: 40em) {
      .section-contact .contact .icon-contacts:before {
        font-size: 2.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .section-contact .contact .icon-contacts:before {
        font-size: 3.75rem; } }

.section-contact .contact__item {
  font-size: 0.75rem;
  background-color: rgba(255, 255, 255, 0.95);
  padding: 15px;
  padding-top: 3.125rem;
  padding-bottom: 0.0625rem;
  margin-bottom: 2.1875rem; }
  @media print, screen and (min-width: 40em) {
    .section-contact .contact__item {
      font-size: 0.875rem;
      padding: 1.875rem;
      padding-top: 6.25rem;
      padding-bottom: 3.125rem;
      margin-bottom: 3.125rem; } }
  @media print, screen and (min-width: 64em) {
    .section-contact .contact__item {
      font-size: 1.125rem;
      padding: 3.125rem;
      padding-top: 8.125rem;
      margin-bottom: 4.375rem; } }
  .section-contact .contact__item span {
    font-weight: bold;
    color: #303A56; }
    @media print, screen and (min-width: 40em) {
      .section-contact .contact__item span {
        font-size: 1rem; } }
    @media print, screen and (min-width: 64em) {
      .section-contact .contact__item span {
        font-size: 1.25rem; } }
  .section-contact .contact__item a {
    color: #5F718B; }
    .section-contact .contact__item a:hover, .section-contact .contact__item a:focus, .section-contact .contact__item a:active {
      color: #FF8E00; }
  .section-contact .contact__item p {
    line-height: 1.7; }

.section-contact .contact__email a {
  text-decoration: underline; }

.section-contact .contact__title {
  color: #FF8E00;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 0.875rem;
  line-height: 1.4; }
  @media print, screen and (min-width: 64em) {
    .section-contact .contact__title {
      font-size: 1.25rem; } }



form.hidden-label label {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }

form.hidden-label input:not(.button), form.hidden-label select, form.hidden-label textarea {
  border-color: #5F718B;
  padding-left: 1.25rem;
  padding-top: 0.6875rem;
  padding-bottom: 0.625rem;
  height: 2.5rem;
  margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 64em) {
    form.hidden-label input:not(.button), form.hidden-label select, form.hidden-label textarea {
      height: 3.75rem; } }

form.hidden-label textarea {
  padding-top: 1.375rem;
  height: 8.75rem; }
  @media print, screen and (min-width: 64em) {
    form.hidden-label textarea {
      height: 16.875rem; } }

form.hidden-label input::-webkit-input-placeholder, form.hidden-label textarea::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: #ACB9BE;
  text-transform: uppercase;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 64em) {
    form.hidden-label input::-webkit-input-placeholder, form.hidden-label textarea::-webkit-input-placeholder {
      font-size: 1.125rem; } }

form.hidden-label input::-moz-placeholder, form.hidden-label textarea::-moz-placeholder {
  /* Firefox 19+ */
  color: #ACB9BE;
  text-transform: uppercase;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 64em) {
    form.hidden-label input::-moz-placeholder, form.hidden-label textarea::-moz-placeholder {
      font-size: 1.125rem; } }

form.hidden-label input:-ms-input-placeholder, form.hidden-label textarea:-ms-input-placeholder {
  /* IE 10+ */
  color: #ACB9BE;
  text-transform: uppercase;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 64em) {
    form.hidden-label input:-ms-input-placeholder, form.hidden-label textarea:-ms-input-placeholder {
      font-size: 1.125rem; } }

form.hidden-label input:-moz-placeholder, form.hidden-label textarea:-moz-placeholder {
  /* Firefox 18- */
  color: #ACB9BE;
  text-transform: uppercase;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 64em) {
    form.hidden-label input:-moz-placeholder, form.hidden-label textarea:-moz-placeholder {
      font-size: 1.125rem; } }

form.hidden-label select, form.hidden-label .required-fields {
  color: #ACB9BE;
  text-transform: uppercase;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 64em) {
    form.hidden-label select, form.hidden-label .required-fields {
      font-size: 1.125rem; } }

form.hidden-label input.button {
  background-color: #5F718B;
  width: 100%;
  margin: 0;
  margin-bottom: 1.25rem;
  font-size: 1rem;
  font-weight: normal;
  min-width: 0;
  height: 2.5rem;
  padding-top: 0.6875rem;
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 64em) {
    form.hidden-label input.button {
      height: 3.75rem;
      font-size: 1.125rem; } }
  form.hidden-label input.button:hover, form.hidden-label input.button:focus, form.hidden-label input.button:active {
    background-color: #FF8E00; }

form.hidden-label .required-fields {
  font-size: 0.5625rem;
  font-weight: 300; }
  @media print, screen and (min-width: 40em) {
    form.hidden-label .required-fields {
      font-size: 0.625rem; } }
  @media print, screen and (min-width: 64em) {
    form.hidden-label .required-fields {
      font-size: 0.75rem; } }

.section-error404 {
  margin-bottom: 9.375rem;
  margin-top: 5rem; }
  @media print, screen and (min-width: 40em) {
    .section-error404 {
      margin-bottom: 12.5rem;
      margin-top: 12.5rem; } }
  @media print, screen and (min-width: 64em) {
    .section-error404 {
      margin-bottom: 15.625rem;
      margin-top: 15.625rem; } }
  .section-error404 .error {
    color: #303A56; }
    .section-error404 .error__title {
      font-weight: bold;
      font-size: 5.625rem;
      line-height: 1.2; }
      @media print, screen and (min-width: 40em) {
        .section-error404 .error__title {
          font-size: 7.5rem;
          margin-bottom: 2.5rem; } }
      @media print, screen and (min-width: 64em) {
        .section-error404 .error__title {
          font-size: 15.625rem;
          margin-bottom: 0; } }
    .section-error404 .error__content {
      font-weight: 500;
      font-size: 1rem;
      text-transform: uppercase; }
      @media print, screen and (min-width: 40em) {
        .section-error404 .error__content {
          font-size: 1.25rem; } }
      @media print, screen and (min-width: 40em) {
        .section-error404 .error__content {
          font-size: 1.5625rem; } }

.section-mentions .section__title {
  margin-top: 0; }

.section-mentions .section__content h2 {
  margin-top: 2.5rem;
  margin-bottom: 1.25rem; }
  @media screen and (max-width: 39.9375em) {
    .section-mentions .section__content h2 {
      font-size: 1.5625rem; } }

.section-mentions .section__content a {
  color: #FF8E00; }
  .section-mentions .section__content a:hover, .section-mentions .section__content a:focus, .section-mentions .section__content a:active {
    color: #303A56; }

.site-footer {
  background-color: #303A56;
  padding-top: 2.5rem;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .site-footer {
      padding-top: 5rem;
      padding-bottom: 1.25rem; } }
  .site-footer .site-logo {
    margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 40em) {
      .site-footer .site-logo {
        margin-bottom: 3.75rem; } }
    @media print, screen and (min-width: 64em) {
      .site-footer .site-logo {
        margin-bottom: 4.375rem; } }
  .site-footer a {
    color: #ffffff;
    text-transform: uppercase;
    font-size: 0.6875rem; }
    .site-footer a:hover, .site-footer a:focus, .site-footer a:active {
      color: #FF8E00; }
    @media print, screen and (min-width: 40em) {
      .site-footer a {
        font-size: 0.75rem; } }
    @media print, screen and (min-width: 64em) {
      .site-footer a {
        font-size: 0.875rem; } }
  .site-footer__top, .site-footer__middle {
    text-align: center; }
  .site-footer__nav a {
    display: block;
    padding: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .site-footer__nav {
      display: inline-block;
      vertical-align: top; }
      .site-footer__nav a {
        padding: 0.5rem; } }
  @media print, screen and (min-width: 64em) {
    .site-footer__nav {
      text-align: left;
      padding-left: 17px;
      padding-right: 17px;
      max-width: 190px; }
      .site-footer__nav a {
        padding: 0.1875rem 0 !important;
        line-height: 1.2 !important; } }
  .site-footer__title {
    margin-bottom: 0;
    font-weight: bold; }
    @media print, screen and (min-width: 64em) {
      .site-footer__title {
        margin-bottom: 0.9375rem; }
        .site-footer__title a {
          padding: 0; } }
  .site-footer__bottom {
    text-align: center;
    margin-top: 3.75rem; }
    @media print, screen and (min-width: 40em) {
      .site-footer__bottom {
        margin-top: 4.375rem; } }
    .site-footer__bottom ul {
      display: inline-block; }
    .site-footer__bottom a {
      font-size: 0.5625rem; }
      @media print, screen and (min-width: 40em) {
        .site-footer__bottom a {
          font-size: 0.625rem; } }
      @media print, screen and (min-width: 64em) {
        .site-footer__bottom a {
          font-size: 0.6875rem; } }

@media print {
  a[href]:after {
    content: ''; }
  .site-header, .button, .section__bg-image, .site-footer, .delivery__img, #map, form {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCJzdHlsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZm9udC1mYWNlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJiYXNlL19zZXR0aW5ncy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fc2l6ZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsImJhc2UvX2NvbW1vbi5zY3NzIiwiYmFzZS9fbWl4aW5zLnNjc3MiLCJiYXNlL19pY29ucy5zY3NzIiwidmVuZG9yL19jb29raWVjdXR0ci5zY3NzIiwicGx1Z2lucy9fb3dsLmNhcm91c2VsLnNjc3MiLCJwbHVnaW5zL19oYW1idXJnZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNLakIsaUVBQWlFO0FBQ2pFLGdEQUFZO0FDT1Y7RUFDRSx3QkREeUI7RUNFekIsbUJERnNFO0VDR3RFLGlCREg4RDtFQ0s5RCxnUUNnQjZDLEVBQUE7O0FEckIvQztFQUNFLHdCREF5QjtFQ0N6QixtQkREc0U7RUNFdEUsaUJERjhEO0VDSTlELGdRQ2dCNkMsRUFBQTs7QURyQi9DO0VBQ0Usd0JERXlCO0VDRHpCLG1CRENzRTtFQ0F0RSxpQkRBOEQ7RUNFOUQs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SixXQ2VxRCxFTjJFaEQ7O0FBSUM7RU83RkosbUJBQWtCO0VBQ2xCLFVBSG1ELEVQaUc5Qzs7QUFFRDtFT2pHSixtQkFBa0I7RUFDbEIsV0FIbUQsRVBxRzlDOztBQU1IO0VPOUVKLHVCRGJxRCxFTjZGaEQ7O0FBcEJEO0VLeEZKLGlCQ2VxRCxFTjJFaEQ7O0FBSUM7RU83RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFUGlHOUM7O0FBRUQ7RU9qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUHFHOUM7O0FBTUg7RU85RUosaUJEYnFELEVONkZoRDs7QUFwQkQ7RUt4RkosaUJDZXFELEVOMkVoRDs7QUFJQztFTzdGSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVQaUc5Qzs7QUFFRDtFT2pHSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVQcUc5Qzs7QUFNSDtFTzlFSix1QkRicUQsRU42RmhEOztBQXBCRDtFS3hGSixZQ2VxRCxFTjJFaEQ7O0FBZ0JEO0VPOUVKLHVCRGJxRCxFTjZGaEQ7O0FBS0Q7RVF6R0YsWVgrRXVEO0VXOUV2RCxZQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELFdBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYK0NxRCxFVzlDdEQ7O0FSd0VDO0VRekdGLFlYK0V1RDtFVzlFdkQsaUJBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYK0NxRCxFVzlDdEQ7O0FSd0VDO0VRekdGLFlYK0V1RDtFVzlFdkQsV0FBdUIsRUFpQ3hCO0VSdUVHO0lRakZBLFlBQVcsRUFDWjtFUmdGQztJUTdFQSxZQUFXLEVBQ1o7RVI0RUM7SVF6RUEsWVgrQ3FELEVXOUN0RDs7QVJ3RUM7RVF6R0YsWVgrRXVEO0VXOUV2RCxXQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELGlCQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELGlCQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELGFBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYK0NxRCxFVzlDdEQ7O0FSOEVEO0VHL0dBLGlCQUZxQztFQUdyQyxnQkFIcUMsRUhrSFc7O0FBRGhEO0VBSUksZ0JBQWU7RUFDZixlQUFjLEVBQ2Y7O0FBR0g7RUFDRSxnQkFBZTtFQUNmLGVBQWMsRUFDZjs7QUFFRDtFRzdIQSx3QkFGcUM7RUFHckMsdUJBSHFDLEVIZ0lvQjs7QUFJekQ7RU9qSUEsbUJBQWtCO0VBQ2xCLGtCQUFpQixFUGtJaEI7RU92SUQ7SUFDRSxZQUFXO0lBQ1gsWUFBVyxFQUNaOztBUHVJRDs7O0VPNUhGLGlCQUFnQjtFQUNoQixZQUFXO0VBQ1gsZ0JBQWU7RUFDZixlQUFjLEVQNkhYOztBSU5DO0VKckRBO0lLeEZKLGdCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZUFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSixnQkRoQmdDLEVOZ0czQjtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHNCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosV0NlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFUHFHOUM7RUFNSDtJTzlFSix1QkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosaUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosV0NlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFUHFHOUM7RUFNSDtJTzlFSix1QkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosaUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosV0NlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFUHFHOUM7RUFNSDtJTzlFSix1QkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosaUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosWUNlcUQsRU4yRWhEO0VBZ0JEO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFLRDtJUXpHRixZWCtFdUQ7SVc5RXZELFlBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxXQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsaUJBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxXQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsV0FBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELGlCQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsaUJBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxhQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSOEVEO0lHL0dBLGlCQUZxQztJQUdyQyxnQkFIcUMsRUhrSFc7RUFEaEQ7SUFJSSxnQkFBZTtJQUNmLGVBQWMsRUFDZjtFQUdIO0lBQ0UsZ0JBQWU7SUFDZixlQUFjLEVBQ2Y7RUFFRDtJRzdIQSx5QkFGcUM7SUFHckMsd0JBSHFDLEVIZ0lvQjtFQUl6RDtJT2pJQSxtQkFBa0I7SUFDbEIsa0JBQWlCLEVQa0loQjtJT3ZJRDtNQUNFLFlBQVc7TUFDWCxZQUFXLEVBQ1o7RVB1SUQ7OztJTzVIRixpQkFBZ0I7SUFDaEIsWUFBVztJQUNYLGdCQUFlO0lBQ2YsZUFBYyxFUDZIWCxFQUFBOztBSU5DO0VKckRBO0lLeEZKLGdCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZUFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSixnQkRoQmdDLEVOZ0czQjtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHNCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosV0NlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFUHFHOUM7RUFNSDtJTzlFSix1QkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosaUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosV0NlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFUHFHOUM7RUFNSDtJTzlFSix1QkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosaUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosV0NlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFUHFHOUM7RUFNSDtJTzlFSix1QkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosaUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosWUNlcUQsRU4yRWhEO0VBZ0JEO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFLRDtJUXpHRixZWCtFdUQ7SVc5RXZELFlBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxXQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsaUJBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxXQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsV0FBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELGlCQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsaUJBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxhQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSOEVEO0lHL0dBLGlCQUZxQztJQUdyQyxnQkFIcUMsRUhrSFc7RUFEaEQ7SUFJSSxnQkFBZTtJQUNmLGVBQWMsRUFDZjtFQUdIO0lBQ0UsZ0JBQWU7SUFDZixlQUFjLEVBQ2Y7RUFFRDtJRzdIQSx5QkFGcUM7SUFHckMsd0JBSHFDLEVIZ0lvQjtFQUl6RDtJT2pJQSxtQkFBa0I7SUFDbEIsa0JBQWlCLEVQa0loQjtJT3ZJRDtNQUNFLFlBQVc7TUFDWCxZQUFXLEVBQ1o7RVB1SUQ7OztJTzVIRixpQkFBZ0I7SUFDaEIsWUFBVztJQUNYLGdCQUFlO0lBQ2YsZUFBYyxFUDZIWCxFQUFBOztBQUlIO0VHMUZFLHVCRGFxRCxFRitFdEQ7RUcxRkc7SUFDQSxpQkFBZ0IsRUFDakI7RUM0RUM7SUpVSjtNRzFGRSx3QkRhcUQsRUYrRXREO01HMUZHO1FBQ0EsaUJBQWdCLEVBQ2pCLEVBQUE7O0FNZ0xIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVM7RUFDVCxXQUFVLEVBQ1g7O0FBR0Q7RUFDRSxvQlgzSTBCO0VXNkkxQixtQkFBa0I7RUFDbEIsaUJYL0lzQjtFV2dKdEIsbUNYOUl5QyxFVytJMUM7O0FBR0Q7O0VBRUUsbUJBQWtCO0VBQ2xCLHFCQUFvQixFQUNyQjs7QUFHRDs7RUFFRSxpQlgvTm9CO0VXZ09wQixxQkFBb0IsRUFDckI7O0FBR0Q7RUFDRSxlWHJLaUI7RVdzS2pCLHFCQUFvQixFQUNyQjs7QUFHRDs7Ozs7O0VBTUUsOERYclArRDtFV3NQL0QsbUJYek1zQjtFVzBNdEIsaUJYblBzQjtFV29QdEIsZVh6TWtCO0VXME1sQixtQ1hyTHNDLEVXMkx2QztFQWhCRDs7Ozs7O0lBYUksZUFBYztJQUNkLGVYdlFlLEVXd1FoQjs7QUFRRztFQUlJLG9CUHZQNkM7RU9tUTdDLGlCWHRPVztFVzhPWCxjQUFhO0VBT2Isc0JYcFBpQixFV3NQcEI7O0FBakNEO0VBSUksb0JQdlA2QztFT21RN0MsaUJYdE9XO0VXOE9YLGNBQWE7RUFPYixzQlhwUGlCLEVXc1BwQjs7QUFqQ0Q7RUFJSSxxQlB2UDZDO0VPbVE3QyxpQlh0T1c7RVc4T1gsY0FBYTtFQU9iLHNCWHBQaUIsRVdzUHBCOztBQWpDRDtFQUlJLG9CUHZQNkM7RU9tUTdDLGlCWHRPVztFVzhPWCxjQUFhO0VBT2Isc0JYcFBpQixFV3NQcEI7O0FBakNEO0VBSUkscUJQdlA2QztFT21RN0MsaUJYdE9XO0VXOE9YLGNBQWE7RUFPYixzQlhwUGlCLEVXc1BwQjs7QUFqQ0Q7RUFJSSxnQlB2UDZDO0VPbVE3QyxpQlh0T1c7RVc4T1gsY0FBYTtFQU9iLHNCWHBQaUIsRVdzUHBCOztBTGpOSDtFS2dMRTtJQUlJLG9CUHZQNkMsRU9vUmhEO0VBakNEO0lBSUksb0JQdlA2QyxFT29SaEQ7RUFqQ0Q7SUFJSSxxQlB2UDZDLEVPb1JoRDtFQWpDRDtJQUlJLHFCUHZQNkMsRU9vUmhEO0VBakNEO0lBSUksbUJQdlA2QyxFT29SaEQ7RUFqQ0Q7SUFJSSxnQlB2UDZDLEVPb1JoRCxFQUFBOztBQU1QO0VBQ0UscUJBQW9CO0VBQ3BCLGVYaFVjO0VXaVVkLHNCWDlOeUI7RVdnT3pCLGdCQUFlLEVBYWhCO0VBbEJEO0lBU0ksZVhyTzJELEVXeU81RDtFQWJIO0lBZ0JJLFVBQVMsRUFDVjs7QUFJSDtFQUNFLFlBQVc7RUFFWCxxQlBsVHFEO0VPbVRyRCxVQUFTO0VBQ1QscUJYalB5QjtFV21QekIsY0FBYTtFQUNiLGdCQUFlO0VBQ2YsaUNYclZpQjtFV3NWakIsZUFBYyxFQUNmOztBQUdEOzs7RUFHRSxvQlgzUTBCO0VXNFExQiw2QlgxUHlCO0VXMlB6QixpQlg5UXNCLEVXK1F2Qjs7QUFHRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFHRDtFQUNFLHFCWHBRc0I7RVdxUXRCLHNCWHZRa0IsRVd3UW5COztBQUdEO0VBQ0UscUJYMVFzQixFVzJRdkI7O0FBR0Q7RUFFSSxxQlgvUTJCO0VXZ1IzQixpQkFBZ0IsRUFDakI7O0FBSUg7RUFDRSxvQlhyUnlCLEVXMlIxQjtFQVBEO0lBSUksc0JYdFI4QjtJV3VSOUIsaUJYalhrQixFV2tYbkI7O0FBSUg7RUFDRSxpQlhwVDBCO0VXcVQxQix1Q1AxV3FEO0VPMldyRCwrQlh4WWlCLEVXOFlsQjtFQVREO0lBTUksaUJYMVRvQjtJVzJUcEIsZVgzWWEsRVc0WWQ7O0FBSUg7RUFDRSxlQUFjO0VBQ2QscUJQdFhxRDtFT3VYckQsZVhuWmUsRVd3WmhCO0VBUkQ7SUFNSSxjWHhTZ0IsRUFBYTs7QVc2U2pDO0VBQ0Usa0NYdlpXO0VXd1pYLGVYclpxQjtFV3NackIsYUFBWSxFQUNiOztBQUdEO0VBQ0UsVUFBUyxFQUNWOztBQUdEO0VBQ0Usc0NQNVlxRDtFTzhZckQsMEJYM2FpQjtFVzRhakIsMEJYN2FnQjtFVythaEIsNkRYdFhtRTtFV3VYbkUsaUJYamFzQjtFV2thdEIsZVgxYVcsRVcyYVo7O0FBR0Q7RUFDRSxVQUFTO0VBQ1QsNEJQcFpTO0VPc1pULDBCWHpiZ0I7RVcyYmhCLDZEWGxZbUU7RVdtWW5FLGVYcmJXLEVXMGJaOztBQzVjRDtFQUNFLG1CWjBJeUI7RVl6SXpCLHNCWjBJNEI7RVl4STVCLGlCWnNCc0I7RVlyQnRCLGlCWm1Jc0I7RVlsSXRCLGVaT2UsRVlOaEI7O0FBR0Q7RUFDRSxnQloySHFDO0VZMUhyQyxpQloySGlCLEVZMUhsQjs7QUFHRDtFQUNFLGtCWjRIbUI7RVkzSG5CLGVBQWMsRUFLZjtFQUhDO0lBQ0Usa0JBQWlCLEVBQ2xCOztBQUlIO0VBQ0UsZUFBZ0M7RUFDaEMsaUJBQWdCLEVBQ2pCOztBQzlETztFQUNFLGlCQVJlLEVBU2hCOztBQUZEO0VBQ0Usa0JBUnNCLEVBU3ZCOztBQUZEO0VBQ0UsbUJBUjhCLEVBUy9COztBQUZEO0VBQ0Usb0JBUnVDLEVBU3hDOztB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QkEsbUJqQm9FVztFaUJuRVgsaUJqQjhEdUQ7RWlCN0R2RCwwQnJCZ0NtQixFcUJQbEI7RUF2QkQ7SUFFRSxVQUFTO0lBQ1Qsd0JqQndEcUQ7SWlCdkRyRCxxQmpCdURxRDtJaUJ0RHJELG9CckJnQ1csRXFCL0JaOztBQzhDRDtFQTFEQSxrQkFGaUU7RUFHakUsaUJsQmdFdUQ7RWtCL0R2RCxnQkFBNEI7RUFFNUIseUJBQWdCO0VBQWhCLHNCQUFnQjtFQUFoQixpQkFBZ0I7RUFDaEIsMEJ0QitCbUI7RXNCOUJuQixpQnRCZ0RlO0VzQi9DZiwwQnRCb0NhO0VzQmxDYixxQnRCNFZ5QjtFc0IzVnpCLGdCbEJ1RHVEO0VrQnREdkQsb0JBQW1CO0VBQ25CLGV0QjhCYTtFQzZEYix5T0FBeU47RXFCdkZ2TiwrQkFBOEI7RUFDOUIsd0NBQTBEO0VBQzFELDZCQUE0QjtFQUM1Qix5QkFBd0I7RUFFeEIsc0JBQXVEO0VBSXZELDREdEJ1VjhELEVzQnBUL0Q7RXJCNkNEO0lxQi9DQTtNckJrREksd1dBQXVXLEVxQmhEMVcsRUFBQTtFQS9CRDtJQUNFLGNBQWE7SUFDYiwwQnRCTWU7SXNCTGYsMEJ0QldXO0lzQlZYLDRCdEJHaUI7SXNCQWYsNER0QjRVNEQsRXNCMVUvRDtFQUdEO0lBQ0UsMEJ0QlBnQjtJc0JRaEIsb0J0Qm9VK0IsRXNCblVoQztFQUdEO0lBQ0UsY0FBYSxFQUNkO0VBRUQ7SUFDRSxhQUFZO0lBQ1osdUJBQXNCLEVBQ3ZCOztBQ2pDRDtFQUNFLHNCdkJXWTtFdUJWWiwwQkFBK0QsRUFJaEU7RUFIQztJQUNFLGV2QlFVLEV1QlBYO0VBRkQ7SUFDRSxldkJRVSxFdUJQWDtFQUZEO0lBQ0UsZXZCUVUsRXVCUFg7RUFGRDtJQUNFLGV2QlFVLEV1QlBYOztBQXlCRDtFQUNFLGV2Qm5CVSxFdUJvQlg7O0FBSUg7RUF6QkEsY0FBYTtFQUNiLG9CQUFnQztFQUNoQyxvQm5CK0J1RDtFbUI3QnZELG1CbkI2QnVEO0VtQjVCdkQsaUJ2QmNzQjtFdUJidEIsZXZCTGMsRXVCOEJiO0VBTkQ7SUFJSSxlQUFjLEVB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UjtFY21FRztJZGxITjtNQW1ERSxvQllKdUQ7TVpLdkQsbUJZTHVEO01aTXZELGlCWU51RDtNWk92RCxxQllQdUQ7TVpRdkQsd0JZUnVELEVaa0J4RDtNQWpFRDtRQXlERyxtQllWc0QsRVpXdEQsRUFBQTtFY3dERztJZGxITjtNQTZERSxpQllkdUQ7TVpldkQsZ0JZZnVEO01aZ0J2RCxxQlloQnVELEVaa0J4RCxFQUFBOztBQUNEO0VBQ0MscUJZcEJ3RCxFWnFCeEQ7O0FBRUQ7RUFDQyxhQUFZO0VBQ1osY0FBYTtFQUViLGtCWTNCd0Q7RVo0QnhELGdCQUFlLEVBRWY7O0FBRUQ7RVNpRUUsOEJBQTZCO0VBQzdCLFdBQVU7RUFDVixZQUFXO0VBQ1gsaUJBQWdCO0VBQ2hCLHVCQUFzQixFVG5FdkI7O0FBR0Q7RUFDQyxlUXpFbUI7RVIwRW5CLGlCQUFnQjtFQUNoQix5Qll4Q3dELEVaeUN4RDs7QUFHRDtFQUNDLHlDQUF3QztFQUN4Qyw2QkFBNEI7RUFDNUIsMkJBQTBCO0VBQzFCLGVZaER3RDtFWmlEeEQsc0JBQXFCO0VBQ3JCLGlCWWxEd0QsRVo2RHhEO0VjTUs7SWR2Qk47TUFRRSxpQ1lwRHVEO01acUR2RCxnQllyRHVEO01ac0R2RCxlWXREdUQsRVo2RHhELEVBQUE7RWNNSztJZHZCTjtNQWFFLDRCQUEyQjtNQUMzQixrQlkxRHVEO01aMkR2RCxrQlkzRHVELEVaNkR4RCxFQUFBOztBQUNEO0VBRUUsNEJBQTJCO0VBQzNCLGlCWWpFdUQ7RVprRXZELGNZbEV1RCxFWjZFdkQ7RWNWSTtJZExOO01BTUcsOEJZcEVzRDtNWnFFdEQsYVlyRXNEO01ac0V0RCxlWXRFc0QsRVo2RXZELEVBQUE7RWNWSTtJZExOO01BV0csNEJBQTJCO01BQzNCLGtCWTFFc0Q7TVoyRXRELGtCWTNFc0QsRVo2RXZELEVBQUE7O0FBSUY7RUFDQywwQlF0SGlCO0VSdUhqQixzQlluRndEO0Vab0Z4RCx5QllwRndELEVaeVR4RDtFY3RQSztJZGNOO01BS0Usb0JZdEZ1RCxFWnlUeEQsRUFBQTtFY3RQSztJZHFCTDtNQUdHLHNC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RCxtQlk5VHdELEVaaVp4RDtFYzlVSztJZHlQTjtNQUlFLHVCWWhVdUQ7TVppVXZELG9CWWpVdUQsRVppWnhELEVBQUE7RWM5VUs7SWR5UE47TUFRRSx1QllwVXVEO01acVV2RCxvQllyVXVELEVaaVp4RCxFQUFBO0VBMUVBO0lBRUUsZVE1V2lCLEVSNldqQjtFQUVGO0lBQ0MsMEJRalhnQjtJUmtYaEIsdUJZOVV1RDtJWitVdkQsVUFBUztJQUNULG9CWWhWdUQsRVp3V3ZEO0ljclNJO01keVFMO1FBT0Usd0JZblZzRDtRWm9WdEQscUJZcFZzRDtRWnFWdEQsVUFBUyxFQW1CVixFQUFBO0ljclNJO01keVFMO1FBWUUsd0JZeFZzRDtRWnlWdEQscUJZelZzRDtRWjBWdEQsVUFBUyxFQWNWLEVBQUE7SUE1QkQ7TUFpQkUsZVFuWFksRVI2WFo7TUEzQkY7UUFxQkksMEJRdlhVLEVSd1hWO01BdEJKO1FBd0JJLDZCUTFYVSxFUjJYVjtFQUlKO0lBQ0MsZVE5WHVCO0lSK1h2QixtQkFBa0I7SUFDbEIsMEJBQXlCO0lBQ3pCLGlCQUFnQjtJQUNoQixzQlk5V3VEO0laK1d2RCxxQlkvV3VEO0laZ1h2RCxpQkFBZ0IsRUFnQ2hCO0ljN1VJO01kc1NMO1FBU0UsdUJZbFhzRDtRWm1YdEQsaUJZblhzRCxFWmdadkQsRUFBQTtJYzdVSTtNZHNTTDtRQWFFLHVCWXRYc0Q7UVp1WHRELG9CWXZYc0QsRVpnWnZELEVBQUE7SUF2Q0Q7TUFpQkUsbUJBQWtCO01BQ2xCLHNCQUFxQjtNQUNyQix1Qlk1WHNEO01aNlh0RCwwQlk3WHNELEVaNFl0RDtNQW5DRjtRQXNCRyxZQUFVO1FBQ1YsbUJBQWtCO1FBQ2xCLFFBQU87UUFDUCxZQUFXLEVBQ1g7TUExQkg7UUE0Qkcsb0NRelpxQjtRUjBackIsT0FBTSxFQUNOO01BOUJIO1FBZ0NHLHVDUTdacUI7UVI4WnJCLFVBQVMsRUFDVDtJY3hVRTtNZHNTTDtRQXFDRSxrQlk5WXNELEVaZ1p2RCxFQUFBOztBQUVGO0VBQ0MsY0FBYSxFQWlEYjtFQWxERDtJQUdFLG9CWXJadUQsRVo0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RnNEO1FadW1GdEQscUJZdm1Gc0QsRVowbkZ2RCxFQUFBO0lBL0RGO01BK0NHLHFCWTFtRnNEO01aMm1GdEQseUJZM21Gc0QsRVptbkZ0RDtNY2hqRkc7UWR3L0VOO1VBa0RJLG1CWTdtRnFEO1VaOG1GckQsaUJBQWdCLEVBS2pCLEVBQUE7TWNoakZHO1Fkdy9FTjtVQXNESSxvQllqbkZxRCxFWm1uRnRELEVBQUE7SUF4REg7TUEwREcsaUJBQWdCLEVBSWhCO01jdGpGRztRZHcvRU47VUE0REksb0JZdm5GcUQsRVp5bkZ0RCxFQUFBOztBQUdIO0VBR0UsY0FBYSxFQUNiOztBQUpGO0VBTUUsZ0NBQStCO0VBQy9CLDZCQUE0QjtFQUM1Qix1QkFBc0IsRUFDdEI7O0FBQ0Q7RUFFRSxxREFBb0QsRUFDcEQ7O0FjdGtGRztFZHdrRkw7SUFFRSxxQlk3b0ZzRDtJWjhvRnRELHdCWTlvRnNELEVaZ3BGdkQsRUFBQTs7QUFDRDtFQUVFLHFEQUFvRCxFQUNwRDs7QUFIRjtFQU1HLHdCWXZwRnFELEVaOHFGckQ7RWMzbUZFO0lkOGtGTDtNQVFJLGtCWXpwRm9EO01aMHBGcEQsa0JZMXBGb0Q7TVoycEZwRCx1QlkzcEZvRDtNWjRwRnBELG1CWTVwRm9EO01aNnBGcEQsd0JZN3BGb0QsRVo4cUZyRDtNQTdCSDtRQWNLLG1CWS9wRm1EO1FaZ3FGbkQsZUFBYyxFQUNkLEVBQUE7RWM5bEZBO0lkOGtGTDtNQW1CSSxnQllwcUZvRDtNWnFxRnBELHVCWXJxRm9EO01ac3FGcEQseUJZdHFGb0Q7TVp1cUZwRCx3Qll2cUZvRCxFWjhxRnJEO01BN0JIO1FBd0JLLG9CWXpxRm1ELEVaMnFGbkQsRUFBQTs7QWN4bUZBO0VkOGtGTDtJQWdDSSxtQllqckZvRCxFWndyRnBEO0lBdkNKO01Ba0NLLHdCWW5yRm1ELEVab3JGbkQ7SUFuQ0w7TUFxQ0sseUJZdHJGbUQsRVp1ckZuRCxFQUFBOztBYy9tRkE7RWR5a0ZMO0lBNENLLHFCWTdyRm1ELEVaK3JGcEQsRUFBQTs7QUFuRUw7RUF5RUcsZ0JZcnNGc0Q7RVpzc0Z0RCxlWXRzRnNEO0VadXNGdEQsYUFBWTtFQUNaLGVBQWM7RUFDZCxvQkFBbUI7RUFDbkIsMEJROXVGZTtFUit1RmYsbUJBQWtCO0VBQ2xCLHNCWTVzRnNEO0VaNnNGdEQsbUJBQWtCO0VBQ2xCLGNZOXNGc0QsRVpzdUZ0RDtFY25xRkc7SWR5akZOO01Bb0ZJLGtCWWh0RnFEO01aaXRGckQsaUJZanRGcUQ7TVprdEZyRCxZQUFXO01BQ1gsb0JZbnRGcUQsRVpzdUZ0RCxFQUFBO0VjbnFGRztJZHlqRk47TUEwRkksZ0JZdHRGcUQ7TVp1dEZyRCxlWXZ0RnFEO01ad3RGckQsVUFBUztNQUNULG9CWXp0RnFELEVac3VGdEQsRUFBQTtFQTFHSDtJQWdHSSxxQlk1dEZxRDtJWjZ0RnJELGVRbnZGVyxFUjJ2Rlg7SWNscUZFO01keWpGTjtRQW1HSyxxQlkvdEZvRCxFWnF1RnJELEVBQUE7SWNscUZFO01keWpGTjtRQXNHSyxtQllsdUZvRCxFWnF1RnJELEVBQUE7O0FBekdKO0VBNEdHLG1CWXh1RnNEO0VaeXVGdEQsNENRL3ZGWTtFUmd3RlosY0FBYTtFQUNWLHNCWTN1Rm1EO0VaNHVGbkQsMEJZNXVGbUQ7RVo2dUZuRCx5Qlk3dUZtRCxFWjh3RnREO0VjM3NGRztJZHlqRk47TUFtSEksb0JZL3VGcUQ7TVpndkZyRCxrQllodkZxRDtNWml2RnJELHFCWWp2RnFEO01aa3ZGbEQseUJZbHZGa0Q7TVptdkZsRCx3QlludkZrRCxFWjh3RnRELEVBQUE7RWMzc0ZHO0lkeWpGTjtNQTBISSxvQll0dkZxRDtNWnV2RnJELGtCWXZ2RnFEO01ad3ZGckQsc0JZeHZGcUQ7TVp5dkZyRCx3Qll6dkZxRCxFWjh3RnRELEVBQUE7RUFsSkg7SUFnSUksa0JBQWlCO0lBQ2pCLGVReHhGYyxFUit4RmQ7SWNqc0ZFO01keWpGTjtRQW1JSyxnQlkvdkZvRCxFWm93RnJELEVBQUE7SWNqc0ZFO01keWpGTjtRQXNJSyxtQllsd0ZvRCxFWm93RnJELEVBQUE7RUF4SUo7SUEwSUksZVExeEZxQixFUjh4RnJCO0lBOUlKO01BNElLLGVRM3lGZSxFUjR5RmY7RUE3SUw7SUFnSkksaUJBQWdCLEVBQ2hCOztBQWpKSjtFQXFKSSwyQkFBMEIsRUFDMUI7O0FBdEpKO0VBeUpHLGVReHpGaUI7RVJ5ekZqQiwwQkFBeUI7RUFDekIsa0JBQWlCO0VBQ2pCLG9CWXh4RnNEO0VaeXhGdEQsaUJBQWdCLEVBSWhCO0VjMXRGRztJZHlqRk47TUErSkssbUJZM3hGb0QsRVo2eEZ0RCxFQUFBOztBQUdIO0VTL3JGRSw4QkFBNkI7RUFDN0IsV0FBVTtFQUNWLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsdUJBQXNCLEVUK3JGckI7O0FBSkg7RUFNRyxzQlExekZzQjtFUjJ6RnRCLHNCWXZ5RnNEO0Vad3lGdEQsdUJZeHlGc0Q7RVp5eUZ0RCx5Qll6eUZzRDtFWjB5RnRELGVZMXlGc0Q7RVoyeUZ0RCx3QlkzeUZzRCxFWit5RnREO0VjNXVGRztJZDZ0Rk47TUFhSSxnQlk3eUZxRCxFWit5RnRELEVBQUE7O0FBZkg7RUFpQkcsc0JZanpGc0Q7RVprekZ0RCxnQllsekZzRCxFWnN6RnREO0VjbnZGRztJZDZ0Rk47TUFvQkksa0JZcHpGcUQsRVpzekZ0RCxFQUFBOztBQXRCSDtFQXdCa0MseUJBQXlCO0VBQ3RELGVRbDFGc0I7RVJtMUZ0QiwwQkFBeUI7RUFDekIsb0JZM3pGb0QsRVorekZyRDtFYzV2RkU7SWQ2dEZOO01BNkJNLG9CWTd6Rm1ELEVaK3pGckQsRUFBQTs7QUEvQko7RUFnQ3lCLGlCQUFpQjtFQUNyQyxlUTExRnNCO0VSMjFGdEIsMEJBQXlCO0VBQ3pCLG9CWW4wRm9ELEVadTBGckQ7RWNwd0ZFO0lkNnRGTjtNQXFDTSxvQllyMEZtRCxFWnUwRnJELEVBQUE7O0FBdkNKO0VBd0M2QixZQUFZO0VBQ3BDLGVRbDJGc0I7RVJtMkZ0QiwwQkFBeUI7RUFDekIsb0JZMzBGb0QsRVorMEZyRDtFYzV3RkU7SWQ2dEZOO01BNkNNLG9CWTcwRm1ELEVaKzBGckQsRUFBQTs7QUEvQ0o7RUFnRHdCLGlCQUFpQjtFQUNwQyxlUTEyRnNCO0VSMjJGdEIsMEJBQXlCO0VBQ3pCLG9CWW4xRm9ELEVadTFGckQ7RWNweEZFO0lkNnRGTjtNQXFETSxvQllyMUZtRCxFWnUxRnJELEVBQUE7O0FBdkRKO0VBMERHLGVRbjNGd0I7RVJvM0Z4QiwwQkFBeUI7RUFDekIsb0JZNTFGc0QsRVpnMkZ0RDtFYzd4Rkc7SWQ2dEZOO01BOERJLG9CWTkxRnFELEVaZzJGdEQsRUFBQTs7QUFoRUg7RUFrRUcsMEJRdDNGc0I7RVJ1M0Z0QixZQUFXO0VBQ1gsVUFBUztFQUNULHVCWXIyRnNEO0VaczJGdEQsZ0JZdDJGc0Q7RVp1MkZ0RCxvQkFBbUI7RUFDbkIsYUFBWTtFQUNaLGVZejJGc0Q7RVowMkZ0RCx1QlkxMkZzRDtFWjIyRnRELHlCWTMyRnNELEVabTNGdEQ7RWNoekZHO0lkNnRGTjtNQTZFSSxnQlk3MkZxRDtNWjgyRnJELG9CWTkyRnFELEVabTNGdEQsRUFBQTtFQW5GSDtJQWlGSSwwQlFwNUZnQixFUnE1RmhCOztBQWxGSjtFQXFGRyxxQllyM0ZzRDtFWnMzRnRELGlCQUFnQixFQU9oQjtFYzF6Rkc7SWQ2dEZOO01Bd0ZJLG9CWXgzRnFELEVaNjNGdEQsRUFBQTtFYzF6Rkc7SWQ2dEZOO01BMkZJLG1CWTMzRnFELEVaNjNGdEQsRUFBQTs7QUFHSDtFQUNDLHdCWWo0RndEO0VaazRGeEQsaUJZbDRGd0QsRVpzNkZ4RDtFY24yRks7SWQ2ekZOO01BSUUsdUJZcDRGdUQ7TVpxNEZ2RCxvQllyNEZ1RCxFWnM2RnhELEVBQUE7RWNuMkZLO0lkNnpGTjtNQVFFLHlCWXg0RnVEO01aeTRGdkQsc0JZejRGdUQsRVpzNkZ4RCxFQUFBO0VBdENEO0lBWUUsZVF2NkZnQixFUmc4RmhCO0lBckNGO01BY0csa0JBQWlCO01BQ2pCLG9CWS80RnNEO01aZzVGdEQsaUJBQWdCLEVBU2hCO01jdDFGRztRZDZ6Rk47VUFrQkksa0JZbDVGcUQ7VVptNUZyRCxzQlluNUZxRCxFWnk1RnRELEVBQUE7TWN0MUZHO1FkNnpGTjtVQXNCSSxxQll0NUZxRDtVWnU1RnJELGlCQUFnQixFQUVqQixFQUFBO0lBekJIO01BMkJHLGlCQUFnQjtNQUNoQixnQlk1NUZzRDtNWjY1RnRELDBCQUF5QixFQU96QjtNY2oyRkc7UWQ2ekZOO1VBK0JJLG1CWS81RnFELEVabzZGdEQsRUFBQTtNY2oyRkc7UWQ2ekZOO1VBa0NJLHFCWWw2RnFELEVabzZGdEQsRUFBQTs7QUFHSDtFQUVFLGNBQWEsRUFDYjs7QUFIRjtFQU1HLG1CWTc2RnNEO0VaODZGdEQsdUJZOTZGc0QsRVprN0Z0RDtFYzEyRkc7SWQrMUZOO01BU0kscUJZaDdGcUQsRVprN0Z0RCxFQUFBOztBQVhIO0VBYUcsZVF2OUZpQixFUjI5RmpCO0VBakJIO0lBZUksZVFqOUZjLEVSazlGZDs7QUFLSjtFQUNDLDBCUWorRmlCO0VSaytGakIsb0JZOTdGd0Q7RVorN0Z4RCx5QlkvN0Z3RCxFWmtoR3hEO0VjLzhGSztJZHkzRk47TUFLRSxrQllqOEZ1RDtNWms4RnZELHdCWWw4RnVELEVaa2hHeEQsRUFBQTtFQXRGRDtJQVNFLHdCWXI4RnVELEVaNDhGdkQ7SWN6NEZJO01keTNGTjtRQVdHLHVCWXY4RnNELEVaNDhGdkQsRUFBQTtJY3o0Rkk7TWR5M0ZOO1FBY0csd0JZMThGc0QsRVo0OEZ2RCxFQUFBO0VBaEJGO0lBa0JFLGVRcCtGYTtJUnErRmIsMEJBQXlCO0lBQ3pCLHFCWWg5RnVELEVaMDlGdkQ7SUE5QkY7TUFzQkcsZVFyL0ZpQixFUnMvRmpCO0ljaDVGRztNZHkzRk47UUF5QkcsbUJZcjlGc0QsRVowOUZ2RCxFQUFBO0ljdjVGSTtNZHkzRk47UUE0Qkcsb0JZeDlGc0QsRVowOUZ2RCxFQUFBO0VBQ0Q7SUFDQyxtQkFBa0IsRUFDbEI7RUFDRDtJQUVFLGVBQWM7SUFDZCxtQllqK0ZzRCxFWmsrRnREO0VjLzVGRztJZDI1Rkw7TUFNRSxzQkFBcUI7TUFDckIsb0JBQW1CLEVBZXBCO01BdEJEO1FBU0csZ0JZditGcUQsRVp3K0ZyRCxFQUFBO0VjcjZGRTtJZDI1Rkw7TUFhRSxpQkFBZTtNQUNmLG1CQUFrQjtNQUNmLG9CQUFtQjtNQUNuQixpQkFBZ0IsRUFNcEI7TUF0QkQ7UUFrQkcsZ0NBQWdDO1FBQ2hDLDRCQUEwQixFQUMxQixFQUFBO0VBR0g7SUFDQyxpQkFBZ0I7SUFDaEIsa0JBQWlCLEVBT2pCO0ljMzdGSTtNZGs3Rkw7UUFJRSx5Qll6L0ZzRCxFWjgvRnZEO1FBVEQ7VUFNRyxXQUFTLEVBQ1QsRUFBQTtFQUdIO0lBQ0MsbUJBQWtCO0lBQ2xCLG9CWWpnR3VELEVaaWhHdkQ7SWM5OEZJO01kNDdGTDtRQUlFLHFCWW5nR3NELEVaaWhHdkQsRUFBQTtJQWxCRDtNQU9FLHNCQUFxQixFQUNyQjtJQVJGO01BVUUscUJZemdHc0QsRVpnaEd0RDtNYzc4Rkc7UWQ0N0ZMO1VBWUcsb0JZM2dHcUQsRVpnaEd0RCxFQUFBO01jNzhGRztRZDQ3Rkw7VUFlRyxxQlk5Z0dxRCxFWmdoR3RELEVBQUE7O0FBTUg7RUFDSTtJQUNJLFlBQVcsRUFDZDtFQUNEO0lTejdGRiw4QkFBNkI7SUFDN0IsV0FBVTtJQUNWLFlBQVc7SUFDWCxpQkFBZ0I7SUFDaEIsdUJBQXNCLEVUdTdGbkIsRUFBQSIsImZpbGUiOiJzdHlsZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyogQGltcG9ydCBtdXN0IGJlIGF0IHRvcCBvZiBmaWxlLCBvdGhlcndpc2UgQ1NTIHdpbGwgbm90IHdvcmsgKi9cbkBpbXBvcnQgdXJsKFwiLy9oZWxsby5teWZvbnRzLm5ldC9jb3VudC8zMzQ2ZjdcIik7XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiWm9uYSBQcm9cIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN18zXzAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3XzNfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3XzNfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN18zXzAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJab25hIFByb1wiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3XzVfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfNV8wLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfNV8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3XzVfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlpvbmEgUHJvXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfRl8wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN19GXzAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN19GXzAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfRl8wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiWm9uYSBQcm9cIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN19DXzAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3X0NfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3X0NfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN19DXzAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJab25hIFByb1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3X0FfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfQV8wLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfQV8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3X0FfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlpvbmEgUHJvXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfQl8wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN19CXzAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN19CXzAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfQl8wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiWm9uYSBQcm9cIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN184XzAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3XzhfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3XzhfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN184XzAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJab25hIFByb1wiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3XzlfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfOV8wLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfOV8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3XzlfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlpvbmEgUHJvXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfRF8wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN19EXzAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN19EXzAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfRF8wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiWm9uYSBQcm9cIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogMjAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN19FXzAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3X0VfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3X0VfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN19FXzAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjMuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG4vKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovIH1cblxuLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG4gIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovIH1cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqLyB9XG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogXCJab25hIFByb1wiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNUY3MThCO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDcxLjg3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucm93OjpiZWZvcmUsIC5yb3c6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnJvdzo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgIC5yb3cuZXhwYW5kZWQgLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucm93Om5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAucm93Lmd1dHRlci1zbWFsbCA+IC5jb2x1bW4sIC5yb3cuZ3V0dGVyLXNtYWxsID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgLnJvdy5ndXR0ZXItbWVkaXVtID4gLmNvbHVtbiwgLnJvdy5ndXR0ZXItbWVkaXVtID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5jb2x1bW4uZW5kOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCwgLmVuZC5jb2x1bW5zOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZmxvYXQ6IG5vbmU7IH1cblxuLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1wdXNoLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtcHVsbC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1wdXNoLTYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtcHVsbC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1wdXNoLTkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtcHVsbC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW4sIC5zbWFsbC11cC00ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDIwJTsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW4sIC5zbWFsbC11cC03ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEyLjUlOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSAucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZXhwYW5kZWQucm93IC5zbWFsbC1jb2xsYXBzZS5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbi5zbWFsbC1jZW50ZXJlZCB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLWNlbnRlcmVkLCAuc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnNtYWxsLXVuY2VudGVyZWQsXG4uc21hbGwtcHVzaC0wLFxuLnNtYWxsLXB1bGwtMCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubWVkaXVtLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZXhwYW5kZWQucm93IC5tZWRpdW0tY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAubWVkaXVtLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAubWVkaXVtLWNlbnRlcmVkLCAubWVkaXVtLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVuY2VudGVyZWQsXG4gIC5tZWRpdW0tcHVzaC0wLFxuICAubWVkaXVtLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLmxhcmdlLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5sYXJnZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmxhcmdlLWNlbnRlcmVkLCAubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS11bmNlbnRlcmVkLFxuICAubGFyZ2UtcHVzaC0wLFxuICAubGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5jb2x1bW4tYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4tYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiWm9uYSBQcm9cIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLFxuICBoMiBzbWFsbCxcbiAgaDMgc21hbGwsXG4gIGg0IHNtYWxsLFxuICBoNSBzbWFsbCxcbiAgaDYgc21hbGwge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjkzNzVyZW07IH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMzMDNBNTY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMjkzMjRhOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA3MS44NzVyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzAwMDAwMDtcbiAgY29sb3I6ICM1RjcxOEI7XG4gIGN1cnNvcjogaGVscDsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuY29kZSB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG4ubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDNBNTY7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTMxNDk7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDNBNTY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyZTQ1O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjhFMDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNzIwMDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzAzQTU2O1xuICAgIGNvbG9yOiAjMzAzQTU2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMxODFkMmI7XG4gICAgICBjb2xvcjogIzE4MWQyYjsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMwM0E1NjtcbiAgICAgIGNvbG9yOiAjMzAzQTU2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTgxZDJiO1xuICAgICAgICBjb2xvcjogIzE4MWQyYjsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY4RTAwO1xuICAgICAgY29sb3I6ICNGRjhFMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA0NzAwO1xuICAgICAgICBjb2xvcjogIzgwNDcwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAzQTU2O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAzQTU2O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4RTAwO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMzAzQTU2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMzAzQTU2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNGRjhFMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYWNhY2E7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGhlaWdodDogMi41cmVtOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZWRlYjsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMzMDNBNTY7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjNUY3MThCOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzAzQTU2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzVGNzE4QjsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYmRmZWI7XG4gICAgY29sb3I6ICM1RjcxOEI7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZWQ5O1xuICAgIGNvbG9yOiAjNUY3MThCOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XG4gICAgY29sb3I6ICM1RjcxOEI7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTtcbiAgICBjb2xvcjogIzVGNzE4QjsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZTRlMTtcbiAgICBjb2xvcjogIzVGNzE4QjsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLm1lbnUge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAubWVudSA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgPiBsaSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51ID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEgaW1nLFxuICAubWVudSA+IGxpID4gYSBpLFxuICAubWVudSA+IGxpID4gYSBzdmcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAubWVudSA+IGxpID4gYSBpbWcgKyBzcGFuLFxuICAgIC5tZW51ID4gbGkgPiBhIGkgKyBzcGFuLFxuICAgIC5tZW51ID4gbGkgPiBhIHN2ZyArIHNwYW4ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVudSA+IGxpID4gYSBpbWcsXG4gIC5tZW51ID4gbGkgPiBhIGksXG4gIC5tZW51ID4gbGkgPiBhIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSA+IGxpLCAubWVudS5ob3Jpem9udGFsID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgLm1lbnUuZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgICAubWVudS5leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lbnUudmVydGljYWwgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gICAgICAubWVudS5sYXJnZS1leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAubWVudS5zaW1wbGUgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5tZW51LnNpbXBsZSBhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZW51LnNpbXBsZSBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZW51LnNpbXBsZS5hbGlnbi1yaWdodCBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0OjpiZWZvcmUsIC5tZW51LmFsaWduLXJpZ2h0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgPiBsaSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaSxcbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0byAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wLnZlcnRpY2FsIGEgPiBzcGFuIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzMwM0E1NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubWVudS5tZW51LWJvcmRlcmVkIGxpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gICAgLm1lbnUubWVudS1ib3JkZXJlZCBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItdG9wOiAwOyB9XG4gIC5tZW51Lm1lbnUtaG92ZXIgbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cblxuLm1lbnUtdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNmZmZmZmYsIDAgMTRweCAwICNmZmZmZmY7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjY2FjYWNhLCAwIDE0cHggMCAjY2FjYWNhOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMDAwMDAwLCAwIDE0cHggMCAjMDAwMDAwO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM4YThhOGE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjOGE4YThhLCAwIDE0cHggMCAjOGE4YThhOyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzMwM0E1NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDVweDtcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMzAzQTU2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzMDNBNTY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMzMDNBNTYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzMDNBNTYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzAzQTU2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzMwM0E1NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzMDNBNTYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzMDNBNTY7IH0gfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTZweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDMwMHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzMwM0E1NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzAzQTU2OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLFxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA3MS44NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwgLnJldmVhbCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogNzEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDcxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA3MS44NzVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCwgdGJvZHksIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgY29sb3I6ICM1RjcxOEI7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgY29sb3I6ICM1RjcxOEI7IH1cbiAgdGhlYWQgdHIsIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCwgdGhlYWQgdGQsIHRmb290IHRoLCB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCwgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0OyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFibGUtc2Nyb2xsIHRhYmxlIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMzAzQTU2OyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzc0MjYyOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMzMDNBNTY7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAjMjkzMjRhOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgICBjb2xvcjogIzMwM0E1NjsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6ICM1RjcxOEI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAudGFicy1wYW5lbFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAudGl0bGUtYmFyOjpiZWZvcmUsIC50aXRsZS1iYXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnRpdGxlLWJhcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJzsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLmNocm9tZWZyYW1lIHtcbiAgYmFja2dyb3VuZDogI0ZERjJBQjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNBMjkzMzA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNXB4IDM2cHggNXB4IDQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY2hyb21lZnJhbWUgYSB7XG4gICAgY29sb3I6ICNlMjU2MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIGltZy5hbGlnbmxlZnQsIGltZy5hbGlnbmNlbnRlciwgaW1nLmFsaWducmlnaHQsXG4gIGZpZ3VyZS5hbGlnbmxlZnQsXG4gIGZpZ3VyZS5hbGlnbmNlbnRlcixcbiAgZmlndXJlLmFsaWducmlnaHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvIDFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaW1nLmFsaWdubGVmdCxcbiAgZmlndXJlLmFsaWdubGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDFyZW0gMXJlbSAwOyB9XG4gIGltZy5hbGlnbnJpZ2h0LFxuICBmaWd1cmUuYWxpZ25yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMXJlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICBpbWcuYWxpZ25jZW50ZXIsXG4gIGZpZ3VyZS5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gMXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5maWd1cmUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIGZpZ3VyZSBpbWcuYWxpZ25sZWZ0LCBmaWd1cmUgaW1nLmFsaWducmlnaHQsIGZpZ3VyZSBpbWcuYWxpZ25jZW50ZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBmbG9hdDogbm9uZTsgfVxuICBmaWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgY29sb3I6ICM4YzliYjE7IH1cblxuYSwgLnRyYW5zaXRpb24tYWxsIHtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2UtaW4tb3V0OyB9XG5cbi5oMS1zaXplLFxuLmgyLXNpemUsXG4uaDMtc2l6ZSxcbi5oNC1zaXplLFxuLmg1LXNpemUsXG4uaDYtc2l6ZSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTogXCJab25hIFByb1wiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5oMSxcbi5oMSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDByZW07XG4gIG1hcmdpbi1ib3R0b206IDAuN3JlbTsgfVxuXG5oMixcbi5oMiB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDByZW07XG4gIG1hcmdpbi1ib3R0b206IDAuN3JlbTsgfVxuXG5oMyxcbi5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjdyZW07IH1cblxuaDQsXG4uaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjdyZW07IH1cblxuaDUsXG4uaDUge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC43cmVtOyB9XG5cbmg2LFxuLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjdyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEsXG4gIC5oMSB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuN3JlbTsgfVxuICBoMixcbiAgLmgyIHtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC43cmVtOyB9XG4gIGgzLFxuICAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC43cmVtOyB9XG4gIGg0LFxuICAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC43cmVtOyB9XG4gIGg1LFxuICAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuN3JlbTsgfVxuICBoNixcbiAgLmg2IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgbWFyZ2luLXRvcDogMHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07IH0gfVxuXG5oMSBzbWFsbCwgaDIgc21hbGwsIGgzIHNtYWxsLCBoNCBzbWFsbCwgaDUgc21hbGwsIGg2IHNtYWxsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgaDEgc21hbGwgYSwgaDIgc21hbGwgYSwgaDMgc21hbGwgYSwgaDQgc21hbGwgYSwgaDUgc21hbGwgYSwgaDYgc21hbGwgYSB7XG4gICAgY29sb3I6ICNjYWNhY2E7IH1cblxudWwsIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cbiAgdWwgbGksIG9sIGxpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3B4OyB9XG5cbnAgKyB1bCxcbnAgKyBvbCB7XG4gIG1hcmdpbi10b3A6IC0wLjgzMzMzcmVtOyB9XG5cbi50ZXh0LXVwcGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC1wcmltYXJ5LWNvbG9yIHtcbiAgY29sb3I6ICMzMDNBNTY7IH1cblxuLnRleHQtc2Vjb25kYXJ5LWNvbG9yIHtcbiAgY29sb3I6ICNGRjhFMDA7IH1cblxuLnRleHQtc3VjY2Vzcy1jb2xvciB7XG4gIGNvbG9yOiAjM2FkYjc2OyB9XG5cbi50ZXh0LXdhcm5pbmctY29sb3Ige1xuICBjb2xvcjogI2ZmYWUwMDsgfVxuXG4udGV4dC1hbGVydC1jb2xvciB7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5sZWFkLCAubGVhZCBwLCAubGVhZCB1bCwgLmxlYWQgb2wge1xuICBmb250LXNpemU6IDEuMzEyNXJlbTsgfVxuXG4uY2FsbG91dCB1bDpsYXN0LWNoaWxkLCAuY2FsbG91dCBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiNyYWluYm93IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3NpZ25hdHVyZS1yYWluYm93LWRhcmsucG5nXCIpO1xuICB3aWR0aDogMTQxcHg7XG4gIGhlaWdodDogMjNweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IGF1dG87XG4gIG1hcmdpbjogNXB4IGF1dG87XG4gIHRleHQtaW5kZW50OiAtOTAwMGVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgICNyYWluYm93IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zaWduYXR1cmUtcmFpbmJvdy1kYXJrXzJ4LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTQxcHggNDZweDsgfSB9XG4gICNyYWluYm93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiaWNvbmZvbnRcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ljb25mb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ljb25mb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvaWNvbmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9pY29uZm9udC5zdmcjaWNvbmZvbnRcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbltjbGFzc149XCJpY29uLVwiXTpiZWZvcmUsXG5bY2xhc3MqPVwiIGljb24tXCJdOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnaWNvbmZvbnQnO1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5pY29uLWNyb3NzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiBXCI7IH1cblxuLmljb24tcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu6oglwiOyB9XG5cbi5pY29uLXN0b2NrYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiDXCI7IH1cblxuLmljb24tc3RvY2thZ2UtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiEXCI7IH1cblxuLmljb24tc25vd2ZsYWtlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiFXCI7IH1cblxuLmljb24tdHJ1Y2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIZcIjsgfVxuXG4uaWNvbi1wZW9wbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIdcIjsgfVxuXG4uaWNvbi1jaGVja21hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIhcIjsgfVxuXG4uaWNvbi10aHVtYi11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6oiVwiOyB9XG5cbi5pY29uLXRyZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIpcIjsgfVxuXG4uaWNvbi1nbGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6oi1wiOyB9XG5cbi5pY29uLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiMXCI7IH1cblxuLmljb24tYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ojVwiOyB9XG5cbi5pY29uLWNvbnRhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqI5cIjsgfVxuXG4uaWNvbi1ob3VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6oj1wiOyB9XG5cbi5pY29uLXJhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqJBcIjsgfVxuXG4uaWNvbi1kZWxpdmVyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6okVwiOyB9XG5cbi5pY29uLWNvbnRhY3RzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiSXCI7IH1cblxuLmljb24tYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ok1wiOyB9XG5cbi5pY29uLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqJRcIjsgfVxuXG4uaWNvbi1iaWctYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqJVcIjsgfVxuXG4vKiBUbyBiZSB1c2VkIHdpdGggY29va2llQ3V0dHIgYnkgQ2hyaXMgV2hhcnRvbiAoaHR0cDovL2Nvb2tpZWN1dHRyLmNvbSkgKi9cbi5jYy1jb29raWVzIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMTBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk5OTsgfVxuICAuY2MtY29va2llcyBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5jYy1jb29raWVzIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY2Mtb3ZlcmxheSB7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDI1JTsgfVxuXG4uY2MtY29va2llcy1lcnJvciB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogOTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMWVtIDAgMmVtIDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDJlbSA1JTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogIzMzMzsgfVxuXG4uY2MtY29va2llcyBhLmNjLWNvb2tpZS1hY2NlcHQsXG4uY2MtY29va2llcy1lcnJvciBhLmNjLWNvb2tpZS1hY2NlcHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbjogMCAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2MtY29va2llcyBhLmNjLWNvb2tpZS1hY2NlcHQsIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXVxuICAuY2MtY29va2llcy1lcnJvciBhLmNjLWNvb2tpZS1hY2NlcHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNjLWNvb2tpZXMgYS5jYy1jb29raWUtYWNjZXB0OmhvdmVyLCAuY2MtY29va2llcyBhLmNjLWNvb2tpZS1hY2NlcHQ6Zm9jdXMsXG4gIC5jYy1jb29raWVzLWVycm9yIGEuY2MtY29va2llLWFjY2VwdDpob3ZlcixcbiAgLmNjLWNvb2tpZXMtZXJyb3IgYS5jYy1jb29raWUtYWNjZXB0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkzMTQ5O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5jYy1jb29raWVzIGEuY2MtY29va2llLXJlc2V0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjN0RBRjNCO1xuICBwYWRkaW5nOiAwLjVlbSAwLjc1ZW07XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjVzIGVhc2UtaW47XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjI1cyBlYXNlLWluO1xuICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXMgZWFzZS1pbjsgfVxuXG4uY2MtY29va2llcyBhLmNjLWNvb2tpZS1yZXNldCB7XG4gIGJhY2tncm91bmQ6ICNmMTViMDA7IH1cblxuLmNjLWNvb2tpZXMtZXJyb3IgYS5jYy1jb29raWUtZGVjbGluZSB7XG4gIGJhY2tncm91bmQ6ICNhZjNiM2I7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTsgfVxuXG4uY2MtY29va2llcy1lcnJvciBhLmNjLWNvb2tpZS1hY2NlcHQsIC5jYy1jb29raWVzLWVycm9yIGEuY2MtY29va2llLWRlY2xpbmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG5cbi5jYy1jb29raWVzLmNjLWRpc2NyZWV0IHtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgbGVmdDogYXV0bztcbiAgdG9wOiBhdXRvOyB9XG4gIC5jYy1jb29raWVzLmNjLWRpc2NyZWV0IGEuY2MtY29va2llLXJlc2V0IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmNjLWNvb2tpZXMuY2MtZGlzY3JlZXQgYTpob3Zlci5jYy1jb29raWUtcmVzZXQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmNjLWNvb2tpZXMgYS5jYy1jb29raWUtYWNjZXB0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDEwcHggMDsgfSB9XG5cbi8qIFxuKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiovXG4ub3dsLWNhcm91c2VsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm93bC1jYXJvdXNlbCAuYW5pbWF0ZWQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLWluIHtcbiAgICB6LWluZGV4OiAwOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1vdXQge1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLm93bC1jYXJvdXNlbCAuZmFkZUluIHtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLmZhZGVPdXQge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0OyB9XG4gIC5vd2wtY2Fyb3VzZWwgLnpvb21JbiB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbjsgfVxuICAub3dsLWNhcm91c2VsIC56b29tT3V0IHtcbiAgICBhbmltYXRpb24tbmFtZTogem9vbU91dDsgfVxuICAub3dsLWNhcm91c2VsIC5mYWRlT3V0TGVmdCB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0OyB9XG5cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9IH1cblxuLm93bC1jYXJvdXNlbCBmaWd1cmUgZmlnY2FwdGlvbixcbi5vd2wtY2Fyb3VzZWwgZmlndXJlIGZpZ2NhcHRpb24gPiBhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4vKiBBbmNob3Igd2lsbCBjb3ZlciB0aGUgd2hvbGUgaXRlbSBieSBkZWZhdWx0ICovXG4vKiBGb3Igc29tZSBlZmZlY3RzIGl0IHdpbGwgc2hvdyBhcyBhIGJ1dHRvbiAqL1xuLm93bC1jYXJvdXNlbCBmaWd1cmUgZmlnY2FwdGlvbiA+IGEge1xuICB6LWluZGV4OiAxMDAwO1xuICB0ZXh0LWluZGVudDogMjAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZm9udC1zaXplOiAwO1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIFxuKiAgQ29yZSBPd2wgQ2Fyb3VzZWwgQ1NTIEZpbGVcbiovXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGhlaWdodDogMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtY29udHJvbHMgLm93bC1uYXYgLm93bC1wcmV2LFxuLm93bC1jYXJvdXNlbCAub3dsLWNvbnRyb2xzIC5vd2wtbmF2IC5vd2wtbmV4dCxcbi5vd2wtY2Fyb3VzZWwgLm93bC1jb250cm9scyAub3dsLWRvdCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiBoYW5kO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLWxvYWRpbmcge1xuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ub3dsLWNhcm91c2VsLm93bC1oaWRkZW4ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLm93bC1jYXJvdXNlbC5vd2wtdGV4dC1zZWxlY3Qtb24gLm93bC1pdGVtIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogYXV0bztcbiAgLW1vei11c2VyLXNlbGVjdDogYXV0bztcbiAgLW1zLXVzZXItc2VsZWN0OiBhdXRvO1xuICB1c2VyLXNlbGVjdDogYXV0bzsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtZ3JhYiB7XG4gIGN1cnNvcjogbW92ZTtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogLW8tZ3JhYjtcbiAgY3Vyc29yOiAtbXMtZ3JhYjtcbiAgY3Vyc29yOiBncmFiOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLXJ0bCB7XG4gIGRpcmVjdGlvbjogcnRsOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLXJ0bCAub3dsLWl0ZW0ge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLyogTm8gSnMgKi9cbi5uby1qcyAub3dsLWNhcm91c2VsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmhhbWJ1cmdlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLmhhbWJ1cmdlcjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNzsgfVxuXG4uaGFtYnVyZ2VyOmZvY3VzIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uaGFtYnVyZ2VyLWJveCB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDEzcHg7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBtYXJnaW4tdG9wOiA5cHg7IH0gfVxuXG4uaGFtYnVyZ2VyLWlubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMnB4OyB9XG5cbi5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsgfVxuXG4uaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAtMTBweDsgfVxuXG4uaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIGJvdHRvbTogLTEwcHg7IH1cblxuLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXIge1xuICB0b3A6IDJweDsgfVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiA4cHg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzOyB9XG5cbi5oYW1idXJnZXItLXNsaWRlciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRvcDogMTZweDsgfVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHJvdGF0ZSg0NWRlZyk7IH1cblxuLmhhbWJ1cmdlci0tc2xpZGVyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKC01LjcxNDI5cHgsIC02cHgsIDApO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSByb3RhdGUoLTkwZGVnKTtcbiAgdG9wOiAyMHB4OyB9XG5cbi5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4RTAwO1xuICBtaW4td2lkdGg6IDE1cmVtO1xuICB3aWR0aDogYXV0bztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAzLjEyNXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24ge1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDQuMzc1cmVtOyB9IH1cbiAgLmJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogXCLuqIxcIjtcbiAgICBmb250LWZhbWlseTogJ2ljb25mb250JztcbiAgICBzcGVhazogbm9uZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5idXR0b24gc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOyB9XG4gIC5idXR0b246YWZ0ZXIge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICByaWdodDogLTQwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgbGluZS1oZWlnaHQ6IDM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJ1dHRvbjphZnRlciB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjY7IH0gfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOEUwMDsgfVxuICAgIC5idXR0b246aG92ZXIgc3BhbiwgLmJ1dHRvbjpmb2N1cyBzcGFuLCAuYnV0dG9uOmFjdGl2ZSBzcGFuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAlKTtcbiAgICAgIGNvbG9yOiAjRkY4RTAwO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5idXR0b246aG92ZXI6YWZ0ZXIsIC5idXR0b246Zm9jdXM6YWZ0ZXIsIC5idXR0b246YWN0aXZlOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbWluLXdpZHRoOiAyMi41cmVtO1xuICAgICAgbWFyZ2luLXRvcDogNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC5idXR0b246YWZ0ZXIge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24ge1xuICAgICAgbWluLXdpZHRoOiAzMHJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDYuODc1cmVtOyB9IH1cblxuLnNtYWxsLXJvdyB7XG4gIG1heC13aWR0aDogNTguMTI1cmVtOyB9XG5cbi5yZXZlYWwge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIHdpZHRoOiA1NS4zMTI1cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLm93bC1uYXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuaDEge1xuICBjb2xvcjogI0ZGOEUwMDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG5cbi5zaXRlLWxvZ28ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvbG9nby13aGl0ZS5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOTlweCAyNHB4O1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNi4xODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNpdGUtbG9nbyB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDkuMjVyZW0gMi4yNXJlbTtcbiAgICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICAgIHdpZHRoOiA5LjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2l0ZS1sb2dvIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjY3cHggNjVweDtcbiAgICAgIGhlaWdodDogNC4wNjI1cmVtO1xuICAgICAgd2lkdGg6IDE2LjY4NzVyZW07IH0gfVxuXG4uc2l0ZS1mb290ZXIgLnNpdGUtbG9nbyB7XG4gIGJhY2tncm91bmQtc2l6ZTogMTIwcHggMzBweDtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDcuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaXRlLWZvb3RlciAuc2l0ZS1sb2dvIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTIuNXJlbSAzcmVtO1xuICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgd2lkdGg6IDEyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zaXRlLWZvb3RlciAuc2l0ZS1sb2dvIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjY3cHggNjVweDtcbiAgICAgIGhlaWdodDogNC4wNjI1cmVtO1xuICAgICAgd2lkdGg6IDE2LjY4NzVyZW07IH0gfVxuXG4uc2l0ZS1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAzQTU2O1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zaXRlLWhlYWRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2l0ZS1oZWFkZXJfX2xvZ28gLnNpdGUtbG9nbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuICAuc2l0ZS1oZWFkZXIgLnRpdGxlLWJhciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNpdGUtaGVhZGVyIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuc2l0ZS1oZWFkZXIgLm1lbnUge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuc2l0ZS1oZWFkZXIgLm1lbnUgbGkgdWwgbGkuYWN0aXZlIGEuaXRlbS1uaXYtMiB7XG4gICAgY29sb3I6ICNGRjhFMDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2l0ZS1oZWFkZXIgLm1lbnUgbGk6bm90KDpsYXN0LW9mLXR5cGUpIGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLnNpdGUtaGVhZGVyIC5tZW51IGxpOm5vdCguaXMtc3VibWVudS1pdGVtKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1lbnUgbGk6bm90KC5pcy1zdWJtZW51LWl0ZW0pOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWVudSBsaTpub3QoLmlzLXN1Ym1lbnUtaXRlbSk6bGFzdC1vZi10eXBlIGE6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAtMTBweCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWVudSBsaTpub3QoLmlzLXN1Ym1lbnUtaXRlbSk6bGFzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICB3aWR0aDogMC4wNjI1cmVtO1xuICAgICAgICAgIGhlaWdodDogMS44NzVyZW07XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMS44NzVyZW07XG4gICAgICAgICAgdG9wOiAwLjYyNXJlbTsgfVxuICAgICAgICAuc2l0ZS1oZWFkZXIgLm1lbnUgbGk6bm90KC5pcy1zdWJtZW51LWl0ZW0pOmxhc3Qtb2YtdHlwZSAuc3VibWVudSB7XG4gICAgICAgICAgbWluLXdpZHRoOiA2LjI1cmVtOyB9XG4gICAgLnNpdGUtaGVhZGVyIC5tZW51IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgLnNpdGUtaGVhZGVyIC5tZW51IGxpIGEge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zaXRlLWhlYWRlciAubWVudSBsaSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNpdGUtaGVhZGVyIC5tZW51IGxpIGEge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgICAuc2l0ZS1oZWFkZXIgLm1lbnUgbGkgYS5pdGVtLW5pdi0yIHtcbiAgICAgIGNvbG9yOiAjMzAzQTU2O1xuICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWVudSBsaSBhLml0ZW0tbml2LTIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9IH1cbiAgICAgIC5zaXRlLWhlYWRlciAubWVudSBsaSBhLml0ZW0tbml2LTI6aG92ZXIsIC5zaXRlLWhlYWRlciAubWVudSBsaSBhLml0ZW0tbml2LTI6Zm9jdXMsIC5zaXRlLWhlYWRlciAubWVudSBsaSBhLml0ZW0tbml2LTI6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICNGRjhFMDA7IH1cbiAgICAuc2l0ZS1oZWFkZXIgLm1lbnUgbGkgYS5pdGVtLW5pdi0xIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC5zaXRlLWhlYWRlciAubWVudSBsaSBhLml0ZW0tbml2LTEgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuc2l0ZS1oZWFkZXIgLm1lbnUgbGkgYS5pdGVtLW5pdi0xIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTsgfVxuICAgICAgICAgIC5zaXRlLWhlYWRlciAubWVudSBsaSBhLml0ZW0tbml2LTE6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IC0xNnB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMC4yNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAgIC5zaXRlLWhlYWRlciAubWVudSBsaSBhLml0ZW0tbml2LTE6aG92ZXIgc3BhbjphZnRlciwgLnNpdGUtaGVhZGVyIC5tZW51IGxpIGEuaXRlbS1uaXYtMTpmb2N1cyBzcGFuOmFmdGVyLCAuc2l0ZS1oZWFkZXIgLm1lbnUgbGkgYS5pdGVtLW5pdi0xOmFjdGl2ZSBzcGFuOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMC4zMTI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4RTAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IC0xMHB4OyB9XG4gIC5zaXRlLWhlYWRlciAubWVudSBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KDpsYXN0LW9mLXR5cGUpID4gYTphZnRlciB7XG4gICAgY29udGVudDogbm9uZTsgfVxuICAuc2l0ZS1oZWFkZXIgLm1lbnUgbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Omxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLXRvcDogMC4wNjI1cmVtIHNvbGlkICNmZmZmZmY7IH1cbiAgICAuc2l0ZS1oZWFkZXIgLm1lbnUgbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Omxhc3Qtb2YtdHlwZSA+IGE6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IC0xNnB4O1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDAuMjVyZW07XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMC4yNXJlbTtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMC4yNXJlbTsgfVxuICAgIC5zaXRlLWhlYWRlciAubWVudSBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bGFzdC1vZi10eXBlIGEge1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAgICAgLnNpdGUtaGVhZGVyIC5tZW51IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpsYXN0LW9mLXR5cGUgYS5pdGVtLW5pdi0xIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuc2l0ZS1oZWFkZXIgLm1lbnUgbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Omxhc3Qtb2YtdHlwZSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAgIC5zaXRlLWhlYWRlciAubWVudSBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bGFzdC1vZi10eXBlIC5zdWJtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAzQTU2OyB9XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1lbnUgbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Omxhc3Qtb2YtdHlwZSAuc3VibWVudSBsaS5hY3RpdmUgYSB7XG4gICAgICAgIGNvbG9yOiAjRkY4RTAwOyB9XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1lbnUgbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Omxhc3Qtb2YtdHlwZSAuc3VibWVudSBhIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLnNpdGUtaGVhZGVyIC5tZW51IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpsYXN0LW9mLXR5cGUgLnN1Ym1lbnUgYTpob3ZlciwgLnNpdGUtaGVhZGVyIC5tZW51IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpsYXN0LW9mLXR5cGUgLnN1Ym1lbnUgYTpmb2N1cywgLnNpdGUtaGVhZGVyIC5tZW51IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpsYXN0LW9mLXR5cGUgLnN1Ym1lbnUgYTphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjRkY4RTAwOyB9XG4gIC5zaXRlLWhlYWRlciAubWVudSBsaS5hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNpdGUtaGVhZGVyIC5tZW51IGxpLmFjdGl2ZSBhLml0ZW0tbml2LTEge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH0gfVxuICAuc2l0ZS1oZWFkZXIgLm1lbnUgbGkuYWN0aXZlIGEuaXRlbS1uaXYtMSBzcGFuOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMC4zMTI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjhFMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAtMTBweDsgfVxuICAuc2l0ZS1oZWFkZXIgLm1lbnUgbGlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAuc2l0ZS1oZWFkZXIgLm1lbnUgbGlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Omxhc3Qtb2YtdHlwZSA+IGE6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzMwM0E1NjsgfVxuICAgIC5zaXRlLWhlYWRlciAubWVudSBsaVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSBhLml0ZW0tbml2LTEge1xuICAgICAgY29sb3I6ICMzMDNBNTY7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWVudSBsaVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSBhLml0ZW0tbml2LTEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zaXRlLWhlYWRlciAubWVudSBsaSAuc3VibWVudSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAzQTU2O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAgICAgLnNpdGUtaGVhZGVyIC5tZW51IGxpIC5zdWJtZW51IGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICBtYXJnaW4tdG9wOiAyLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMy43NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlY3Rpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDYuMjVyZW07IH0gfVxuICAuc2VjdGlvbl9faW50cm8gc3BhbiB7XG4gICAgY29sb3I6ICNGRjhFMDA7IH1cbiAgLnNlY3Rpb24tLXByaW1hcnktYmdjb2xvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwM0E1NjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXRvcDogMi41cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWN0aW9uLS1wcmltYXJ5LWJnY29sb3Ige1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDMuNzVyZW07XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLS1wcmltYXJ5LWJnY29sb3Ige1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNi4yNXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDYuMjVyZW07XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLnNlY3Rpb24tLXByaW1hcnktYmdjb2xvciAuc2VjdGlvbl9fdGl0bGUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5zZWN0aW9uLS1wcmltYXJ5LWJnY29sb3IgLnNlY3Rpb25fX3RpdGxlIHNwYW46YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLnNlY3Rpb24tLXByaW1hcnktYmdjb2xvciAuc2VjdGlvbl9fdGl0bGUgc3BhbjphZnRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmZmZmY7IH1cbiAgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICBjb2xvcjogIzVGNzE4QjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWN0aW9uX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2LjI1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiA2LjI1cmVtOyB9IH1cbiAgICAuc2VjdGlvbl9fdGl0bGUgc3BhbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgICAgLnNlY3Rpb25fX3RpdGxlIHNwYW46YmVmb3JlLCAuc2VjdGlvbl9fdGl0bGUgc3BhbjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zZWN0aW9uX190aXRsZSBzcGFuOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci10b3A6IHNvbGlkIDAuMzEyNXJlbSAjNUY3MThCO1xuICAgICAgICB0b3A6IDA7IH1cbiAgICAgIC5zZWN0aW9uX190aXRsZSBzcGFuOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMC4zMTI1cmVtICM1RjcxOEI7XG4gICAgICAgIGJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTsgfSB9XG5cbi5zZWN0aW9uLWFib3V0IHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICAuc2VjdGlvbi1hYm91dCAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDIuNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2VjdGlvbi1hYm91dCAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzLjc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tYWJvdXQgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogNi4yNXJlbTsgfSB9XG4gIC5zZWN0aW9uLWFib3V0IC5zZWN0aW9uX19iZy1pbWFnZSB7XG4gICAgaGVpZ2h0OiA5LjM3NXJlbTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iYW5uZXItaG9tZS5qcGdcIik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zZWN0aW9uLWFib3V0IC5zZWN0aW9uX19iZy1pbWFnZSBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDNBNTY7XG4gICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDsgfVxuICAgICAgLnNlY3Rpb24tYWJvdXQgLnNlY3Rpb25fX2JnLWltYWdlIGEgaTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWN0aW9uLWFib3V0IC5zZWN0aW9uX19iZy1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTUuNjI1cmVtOyB9XG4gICAgICAgIC5zZWN0aW9uLWFib3V0IC5zZWN0aW9uX19iZy1pbWFnZSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICAgICAgd2lkdGg6IDMuMTI1cmVtO1xuICAgICAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICAgICAgcGFkZGluZy10b3A6IDAuMTI1cmVtO1xuICAgICAgICAgIGJvdHRvbTogLTI1cHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNXB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tYWJvdXQgLnNlY3Rpb25fX2JnLWltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAyMi41cmVtOyB9IH1cblxuLnNlY3Rpb25fX3ZpZGVvIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiA3MTBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlY3Rpb25fX3ZpZGVvIGEgaSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTI1cHg7IH1cbiAgICAuc2VjdGlvbl9fdmlkZW8gYSBpOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMwM0E1NjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgcGFkZGluZy10b3A6IDAuODEyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC4xODc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7IH1cbiAgLnNlY3Rpb25fX3ZpZGVvIGE6aG92ZXIgaTpiZWZvcmUsIC5zZWN0aW9uX192aWRlbyBhOmZvY3VzIGk6YmVmb3JlLCAuc2VjdGlvbl9fdmlkZW8gYTphY3RpdmUgaTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjhFMDA7IH1cblxuLnNlY3Rpb25fX3ZpZGVvIGltZyB7XG4gIGJveC1zaGFkb3c6IDAgMCAxLjg3NXJlbSByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cblxuLnNlY3Rpb25fX3ZpZGVvLWdhYm9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwM0E1NjtcbiAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS44NzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogNC4zNzVyZW07IH1cblxuLnNlY3Rpb24tb2ZmZXIgdWwgbGkgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzVGNzE4QjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWN0aW9uLW9mZmVyIHVsIGxpIGE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6oi1wiO1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbmZvbnQnO1xuICAgIHNwZWFrOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnNlY3Rpb24tb2ZmZXIgdWwgbGkgYSAub2ZmZXJfX3Byb2R1Y3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsgfVxuICAuc2VjdGlvbi1vZmZlciB1bCBsaSBhOmFmdGVyLCAuc2VjdGlvbi1vZmZlciB1bCBsaSBhOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOyB9XG4gIC5zZWN0aW9uLW9mZmVyIHVsIGxpIGE6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgLnNlY3Rpb24tb2ZmZXIgdWwgbGkgYTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB6LWluZGV4OiAxO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ4LCA1OCwgODYsIDAuOSk7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWN0aW9uLW9mZmVyIHVsIGxpIGEge1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfSB9XG4gIC5zZWN0aW9uLW9mZmVyIHVsIGxpIGE6aG92ZXIsIC5zZWN0aW9uLW9mZmVyIHVsIGxpIGE6Zm9jdXMsIC5zZWN0aW9uLW9mZmVyIHVsIGxpIGE6YWN0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2VjdGlvbi1vZmZlciB1bCBsaSBhOmhvdmVyIC5vZmZlcl9fcHJvZHVjdCwgLnNlY3Rpb24tb2ZmZXIgdWwgbGkgYTpmb2N1cyAub2ZmZXJfX3Byb2R1Y3QsIC5zZWN0aW9uLW9mZmVyIHVsIGxpIGE6YWN0aXZlIC5vZmZlcl9fcHJvZHVjdCB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5zZWN0aW9uLW9mZmVyIHVsIGxpIGE6aG92ZXI6YWZ0ZXIsIC5zZWN0aW9uLW9mZmVyIHVsIGxpIGE6aG92ZXI6YmVmb3JlLCAuc2VjdGlvbi1vZmZlciB1bCBsaSBhOmZvY3VzOmFmdGVyLCAuc2VjdGlvbi1vZmZlciB1bCBsaSBhOmZvY3VzOmJlZm9yZSwgLnNlY3Rpb24tb2ZmZXIgdWwgbGkgYTphY3RpdmU6YWZ0ZXIsIC5zZWN0aW9uLW9mZmVyIHVsIGxpIGE6YWN0aXZlOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zZWN0aW9uLW9mZmVyIHVsIGxpIGEgc3BhbiB7XG4gICAgY29sb3I6ICNGRjhFMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTsgfVxuICAuc2VjdGlvbi1vZmZlciB1bCBsaSBhIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07IH1cblxuLnNlY3Rpb24tc2l0ZXMgZmlndXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5zZWN0aW9uLXNpdGVzIGZpZ3VyZSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zZWN0aW9uLXNpdGVzIGZpZ2NhcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtNjBweDtcbiAgICBib3R0b206IDMwcHg7IH0gfVxuXG4uc2VjdGlvbi1zaXRlcyBmaWdjYXB0aW9uIHVsIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNDklO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IDAuNjI1cmVtO1xuICBmb250LXdlaWdodDogMTAwO1xuICBjb2xvcjogIzAxMzM0RDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICBmb250LXN0eWxlOiBpbml0aWFsOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tc2l0ZXMgZmlnY2FwdGlvbiB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi1zaXRlcyBmaWdjYXB0aW9uIHVsIGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMi4xODc1cmVtOyB9IH1cbiAgLnNlY3Rpb24tc2l0ZXMgZmlnY2FwdGlvbiB1bCBsaTpmaXJzdC1vZi10eXBlOmJlZm9yZSwgLnNlY3Rpb24tc2l0ZXMgZmlnY2FwdGlvbiB1bCBsaTpsYXN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWN0aW9uLXNpdGVzIGZpZ2NhcHRpb24gdWwgbGk6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUsIC5zZWN0aW9uLXNpdGVzIGZpZ2NhcHRpb24gdWwgbGk6bGFzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgIHRvcDogLTVweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLXNpdGVzIGZpZ2NhcHRpb24gdWwgbGk6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUsIC5zZWN0aW9uLXNpdGVzIGZpZ2NhcHRpb24gdWwgbGk6bGFzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogMS44NzVyZW07XG4gICAgICAgIHdpZHRoOiAxLjg3NXJlbTsgfSB9XG4gIC5zZWN0aW9uLXNpdGVzIGZpZ2NhcHRpb24gdWwgbGk6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTMzNEQ7IH1cbiAgLnNlY3Rpb24tc2l0ZXMgZmlnY2FwdGlvbiB1bCBsaTpsYXN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICBib3JkZXI6IHNvbGlkIDAuMDYyNXJlbSAjMDEzMzREO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iZy1sZWdlbmQucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5zZWN0aW9uLXNpdGVzIC5tYXAge1xuICB3aWR0aDogNDMuNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5zZWN0aW9uLXNpdGVzIC5tYXAge1xuICAgICAgd2lkdGg6IDE4Ljc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5zZWN0aW9uLXNpdGVzIC5tYXAge1xuICAgICAgd2lkdGg6IDI5LjgxMjVyZW07IH0gfVxuXG4uc2VjdGlvbi1zaXRlcyAubG9nbyB7XG4gIHdpZHRoOiA1LjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tc2l0ZXMgLmxvZ28ge1xuICAgICAgd2lkdGg6IDcuNjI1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC02MHB4O1xuICAgICAgdG9wOiA1NXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi1zaXRlcyAubG9nbyB7XG4gICAgICB3aWR0aDogOS4zNzVyZW07XG4gICAgICByaWdodDogLTY1cHg7XG4gICAgICB0b3A6IDk1cHg7IH0gfVxuXG4uc2VjdGlvbi10aW1lbGluZV9fbW9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxLjU2MjVyZW07XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDY7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi10aW1lbGluZV9fbW9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTIwcHg7IH0gfVxuICAuc2VjdGlvbi10aW1lbGluZV9fbW9yZSBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0U4QUEzO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDhweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5zZWN0aW9uLXRpbWVsaW5lX19tb3JlIGEgaTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuXG4uc2VjdGlvbi10aW1lbGluZV9fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2VjdGlvbi10aW1lbGluZV9fd3JhcHBlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMThweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDAuMzEyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjN0U4QUEzO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tdGltZWxpbmVfX3dyYXBwZXI6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIuNXB4OyB9IH1cblxuLnNlY3Rpb24tdGltZWxpbmVfX2NvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogNjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWN0aW9uLXRpbWVsaW5lX19jb250ZW50IHAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tdGltZWxpbmVfX2NvbnRlbnQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tdGltZWxpbmVfX2NvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB3aWR0aDogNDIlOyB9IH1cblxuLnNlY3Rpb24tdGltZWxpbmVfX2ltZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNlY3Rpb24tdGltZWxpbmVfX2ltZyAuaW1nLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDE1cmVtO1xuICAgIGhlaWdodDogMTQuMzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWN0aW9uLXRpbWVsaW5lX19pbWcgLmltZy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTYuMDYyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxNS4zMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi10aW1lbGluZV9faW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHdpZHRoOiA0MiUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uc2VjdGlvbi10aW1lbGluZV9fdGl0bGUge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tdGltZWxpbmVfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlY3Rpb24tdGltZWxpbmVfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gIC5zZWN0aW9uLXRpbWVsaW5lX190aXRsZSBzcGFuIHtcbiAgICBjb2xvcjogI0ZGOEUwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWN0aW9uLXRpbWVsaW5lX190aXRsZSBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbi10aW1lbGluZV9fdGl0bGUgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH0gfVxuXG4uc2VjdGlvbi10aW1lbGluZV9faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zczsgfVxuICAuc2VjdGlvbi10aW1lbGluZV9faXRlbTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLXRpbWVsaW5lX19pdGVtIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfVxuICAgICAgLnNlY3Rpb24tdGltZWxpbmVfX2l0ZW06bnRoLWNoaWxkKGV2ZW4pIC5zZWN0aW9uLXRpbWVsaW5lX19jb250ZW50IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuc2VjdGlvbi10aW1lbGluZV9faXRlbTpudGgtY2hpbGQoZXZlbikgLnNlY3Rpb24tdGltZWxpbmVfX2ltZyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcmlnaHQ6IGF1dG87IH1cbiAgICAgICAgLnNlY3Rpb24tdGltZWxpbmVfX2l0ZW06bnRoLWNoaWxkKGV2ZW4pIC5zZWN0aW9uLXRpbWVsaW5lX19pbWcgLmltZy1jb250YWluZXIge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5zZWN0aW9uLXRpbWVsaW5lX19pdGVtLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwM0E1NjtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tdGltZWxpbmVfX2l0ZW0uaXMtYWN0aXZlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbi10aW1lbGluZV9faXRlbS5pcy1hY3RpdmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5zZWN0aW9uLXRpbWVsaW5lX19pdGVtLmlzLWFjdGl2ZSAuc2VjdGlvbi10aW1lbGluZV9fbW9yZSB7XG4gICAgICAgIGxlZnQ6IDEwcHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2VjdGlvbi10aW1lbGluZV9faXRlbS5pcy1hY3RpdmUgLnNlY3Rpb24tdGltZWxpbmVfX21vcmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMjVweDsgfSB9XG4gICAgLnNlY3Rpb24tdGltZWxpbmVfX2l0ZW0uaXMtYWN0aXZlIC5zZWN0aW9uLXRpbWVsaW5lX19tb3JlIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4OyB9XG4gICAgICAuc2VjdGlvbi10aW1lbGluZV9faXRlbS5pcy1hY3RpdmUgLnNlY3Rpb24tdGltZWxpbmVfX21vcmUgYSBpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMzAzQTU2O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnNlY3Rpb24tdGltZWxpbmVfX2l0ZW0uaXMtYWN0aXZlIC5zZWN0aW9uLXRpbWVsaW5lX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDgwcHg7IH0gfVxuICAgIC5zZWN0aW9uLXRpbWVsaW5lX19pdGVtLmlzLWFjdGl2ZSAuc2VjdGlvbi10aW1lbGluZV9fY29udGVudCBwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnNlY3Rpb24tdGltZWxpbmVfX2l0ZW0uaXMtYWN0aXZlIC5zZWN0aW9uLXRpbWVsaW5lX19pbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuc2VjdGlvbi10aW1lbGluZV9faXRlbS5pcy1hY3RpdmUgLnNlY3Rpb24tdGltZWxpbmVfX2ltZyB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDgwcHg7IH0gfVxuXG4uc2VjdGlvbi1leHBlcnRpc2UgLmV4cGVydGlzZSB7XG4gIG1heC13aWR0aDogNDEuNTYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLWV4cGVydGlzZSAuZXhwZXJ0aXNlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWN0aW9uLWV4cGVydGlzZSAuZXhwZXJ0aXNlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5zZWN0aW9uLWV4cGVydGlzZSAuZXhwZXJ0aXNlOmhvdmVyLCAuc2VjdGlvbi1leHBlcnRpc2UgLmV4cGVydGlzZTpmb2N1cywgLnNlY3Rpb24tZXhwZXJ0aXNlIC5leHBlcnRpc2U6YWN0aXZlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnNlY3Rpb24tZXhwZXJ0aXNlIC5leHBlcnRpc2UgLmltZy1jb250YWluZXIge1xuICAgIGhlaWdodDogMjEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLWV4cGVydGlzZSAuZXhwZXJ0aXNlIC5pbWctY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAyMy4xMjVyZW07IH0gfVxuICAuc2VjdGlvbi1leHBlcnRpc2UgLmV4cGVydGlzZV9faW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlY3Rpb24tZXhwZXJ0aXNlIC5leHBlcnRpc2VfX2NvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0LjM3NXJlbTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tZXhwZXJ0aXNlIC5leHBlcnRpc2VfX2NvbnRlbnQge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgLnNlY3Rpb24tZXhwZXJ0aXNlIC5leHBlcnRpc2VfX2Fycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0b3A6IDUlO1xuICAgIHJpZ2h0OiAzJTtcbiAgICBoZWlnaHQ6IDkwJTtcbiAgICB3aWR0aDogMy43NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OCwgNTgsIDg2LCAwLjk1KTsgfVxuICAgIC5zZWN0aW9uLWV4cGVydGlzZSAuZXhwZXJ0aXNlX19hcnJvdzphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6ojVwiO1xuICAgICAgZm9udC1mYW1pbHk6ICdpY29uZm9udCc7XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLnNlY3Rpb24tZXhwZXJ0aXNlIC5leHBlcnRpc2VfX2Fycm93OmFmdGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTEwcHg7IH1cbiAgICAuc2VjdGlvbi1leHBlcnRpc2UgLmV4cGVydGlzZV9fYXJyb3cuYWN0aXZlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHdpZHRoOiA5NCU7IH1cbiAgICAgIC5zZWN0aW9uLWV4cGVydGlzZSAuZXhwZXJ0aXNlX19hcnJvdy5hY3RpdmU6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAuc2VjdGlvbi1leHBlcnRpc2UgLmV4cGVydGlzZV9fYXJyb3cuYWN0aXZlIC5leHBlcnRpc2VfX2NvbnRlbnQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnNlY3Rpb24tZGF0YSB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5zZWN0aW9uLWRhdGEgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5zZWN0aW9uLWRhdGEgLmRhdGEtaXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogMi4xODc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMi4xODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2VjdGlvbi1kYXRhIC5kYXRhLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLWRhdGEgLmRhdGEtaXRlbSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE4Ljc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gICAgLnNlY3Rpb24tZGF0YSAuZGF0YS1pdGVtIGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMTBweDsgfVxuICAgICAgLnNlY3Rpb24tZGF0YSAuZGF0YS1pdGVtIGk6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLnNlY3Rpb24tZGF0YSAuZGF0YS1pdGVtIGk6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNy41cmVtOyB9IH1cbiAgICAuc2VjdGlvbi1kYXRhIC5kYXRhLWl0ZW0gcCB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuc2VjdGlvbi1kYXRhIC5kYXRhLWl0ZW0gcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICAgICAuc2VjdGlvbi1kYXRhIC5kYXRhLWl0ZW0gcCBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAjRkY4RTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5zZWN0aW9uLWRhdGEgLmRhdGEtaXRlbSBwIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLWRhdGEgLmRhdGEtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG5cbi5pbWctY29udGFpbmVyIGltZyB7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4uc2VjdGlvbi1lbmdhZ2VtZW50cyAuc2VjdGlvbl9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5zZWN0aW9uLWVuZ2FnZW1lbnRzIC5lbmdhZ2VtZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLWVuZ2FnZW1lbnRzIC5lbmdhZ2VtZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuc2VjdGlvbi1lbmdhZ2VtZW50cyAuZW5nYWdlbWVudCAuaW1nLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMS4yNXJlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2VjdGlvbi1lbmdhZ2VtZW50cyAuZW5nYWdlbWVudCAuaW1nLWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIC5zZWN0aW9uLWVuZ2FnZW1lbnRzIC5lbmdhZ2VtZW50X19jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWN0aW9uLWVuZ2FnZW1lbnRzIC5lbmdhZ2VtZW50X19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tZW5nYWdlbWVudHMgLmVuZ2FnZW1lbnRfX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDElOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi1lbmdhZ2VtZW50cyAuZW5nYWdlbWVudF9faW1nIHtcbiAgICAgIHdpZHRoOiA1NyU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi1lbmdhZ2VtZW50cyAuZW5nYWdlbWVudF9faW1nIHtcbiAgICAgIHdpZHRoOiA1OCU7IH0gfVxuICAuc2VjdGlvbi1lbmdhZ2VtZW50cyAuZW5nYWdlbWVudF9faGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICBtaW4taGVpZ2h0OiAzLjEyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc2VjdGlvbi1lbmdhZ2VtZW50cyAuZW5nYWdlbWVudF9faGVhZGVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAwLjEyNXJlbSAjMzAzQTU2O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tZW5nYWdlbWVudHMgLmVuZ2FnZW1lbnRfX2hlYWRlciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDVyZW07XG4gICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbi1lbmdhZ2VtZW50cyAuZW5nYWdlbWVudF9faGVhZGVyIHtcbiAgICAgICAgbWluLWhlaWdodDogNi44NzVyZW07XG4gICAgICAgIGhlaWdodDogNi44NzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfSB9XG4gICAgLnNlY3Rpb24tZW5nYWdlbWVudHMgLmVuZ2FnZW1lbnRfX2hlYWRlciBpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTIwcHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zZWN0aW9uLWVuZ2FnZW1lbnRzIC5lbmdhZ2VtZW50X19oZWFkZXIgaSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTMwcHg7IH0gfVxuICAgICAgLnNlY3Rpb24tZW5nYWdlbWVudHMgLmVuZ2FnZW1lbnRfX2hlYWRlciBpOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICBjb2xvcjogIzMwM0E1NjsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5zZWN0aW9uLWVuZ2FnZW1lbnRzIC5lbmdhZ2VtZW50X19oZWFkZXIgaTpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzLjEyNXJlbTsgfSB9XG4gIC5zZWN0aW9uLWVuZ2FnZW1lbnRzIC5lbmdhZ2VtZW50X190eHQge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuMjVyZW07XG4gICAgY29sb3I6ICMzMDNBNTY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tZW5nYWdlbWVudHMgLmVuZ2FnZW1lbnRfX3R4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAgIC5zZWN0aW9uLWVuZ2FnZW1lbnRzIC5lbmdhZ2VtZW50X190eHQgdWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5zZWN0aW9uLWVuZ2FnZW1lbnRzIC5lbmdhZ2VtZW50X190eHQgaW1nIHtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xNXB4OyB9XG4gIC5zZWN0aW9uLWVuZ2FnZW1lbnRzIC5lbmdhZ2VtZW50X190aXRsZSB7XG4gICAgY29sb3I6ICNGRjhFMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHBhZGRpbmctbGVmdDogMi44MTI1cmVtO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2VjdGlvbi1lbmdhZ2VtZW50cyAuZW5nYWdlbWVudF9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbi1lbmdhZ2VtZW50cyAuZW5nYWdlbWVudF9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuNDM3NXJlbTsgfSB9XG5cbi5zZWN0aW9uLXJlc3BvbnNpYmxpdHkgLnNlY3Rpb25fX2NvbnRlbnQgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogYXV0bzsgfVxuXG4uc2VjdGlvbi1yZXNwb25zaWJsaXR5IC5zZWN0aW9uX19jb250ZW50IC5yZXNwb25zaWJsaXR5LWxvZ28ge1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWN0aW9uLXJlc3BvbnNpYmxpdHkgLnNlY3Rpb25fX2NvbnRlbnQgLnJlc3BvbnNpYmxpdHktbG9nbyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLnNlY3Rpb24tcmVzcG9uc2libGl0eSAuc2VjdGlvbl9fY29udGVudCBwIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuc2VjdGlvbi1yZXNwb25zaWJsaXR5IC5zZWN0aW9uX19jb250ZW50IHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNC4zNzVyZW07IH0gfVxuXG4uc2VjdGlvbi1yZXNwb25zaWJsaXR5IC5zZWN0aW9uX19jb250ZW50IGEge1xuICBjb2xvcjogI0ZGOEUwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLnNlY3Rpb24tcmVzcG9uc2libGl0eSAuc2VjdGlvbl9fY29udGVudCBhOmhvdmVyLCAuc2VjdGlvbi1yZXNwb25zaWJsaXR5IC5zZWN0aW9uX19jb250ZW50IGE6Zm9jdXMsIC5zZWN0aW9uLXJlc3BvbnNpYmxpdHkgLnNlY3Rpb25fX2NvbnRlbnQgYTphY3RpdmUge1xuICAgIGNvbG9yOiAjMzAzQTU2OyB9XG5cbi5zZWN0aW9uLXZhbHVlIC5zZWN0aW9uX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG5cbi5zZWN0aW9uLXZhbHVlIC5zZWN0aW9uX19oZWFkZXIgcCB7XG4gIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tdmFsdWUgLnNlY3Rpb25fX2hlYWRlciBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYuMjVyZW07IH0gfVxuXG4uc2VjdGlvbi12YWx1ZSAudmFsdWVfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAyOyB9XG4gIC5zZWN0aW9uLXZhbHVlIC52YWx1ZV9faXRlbTpob3ZlciwgLnNlY3Rpb24tdmFsdWUgLnZhbHVlX19pdGVtOmZvY3VzLCAuc2VjdGlvbi12YWx1ZSAudmFsdWVfX2l0ZW06YWN0aXZlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2VjdGlvbi12YWx1ZSAudmFsdWVfX2l0ZW06aG92ZXIgLnZhbHVlX19oZWFkZXIsIC5zZWN0aW9uLXZhbHVlIC52YWx1ZV9faXRlbTpmb2N1cyAudmFsdWVfX2hlYWRlciwgLnNlY3Rpb24tdmFsdWUgLnZhbHVlX19pdGVtOmFjdGl2ZSAudmFsdWVfX2hlYWRlciB7XG4gICAgICBoZWlnaHQ6IDk2JTtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OCwgNTgsIDg2LCAwLjk1KTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tdmFsdWUgLnZhbHVlX19pdGVtOmhvdmVyIC52YWx1ZV9faGVhZGVyLCAuc2VjdGlvbi12YWx1ZSAudmFsdWVfX2l0ZW06Zm9jdXMgLnZhbHVlX19oZWFkZXIsIC5zZWN0aW9uLXZhbHVlIC52YWx1ZV9faXRlbTphY3RpdmUgLnZhbHVlX19oZWFkZXIge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAyLjVyZW07IH0gfVxuICAgICAgLnNlY3Rpb24tdmFsdWUgLnZhbHVlX19pdGVtOmhvdmVyIC52YWx1ZV9faGVhZGVyOmJlZm9yZSwgLnNlY3Rpb24tdmFsdWUgLnZhbHVlX19pdGVtOmZvY3VzIC52YWx1ZV9faGVhZGVyOmJlZm9yZSwgLnNlY3Rpb24tdmFsdWUgLnZhbHVlX19pdGVtOmFjdGl2ZSAudmFsdWVfX2hlYWRlcjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgLnNlY3Rpb24tdmFsdWUgLnZhbHVlX19pdGVtOmhvdmVyIC52YWx1ZV9fdGl0bGUsIC5zZWN0aW9uLXZhbHVlIC52YWx1ZV9faXRlbTpmb2N1cyAudmFsdWVfX3RpdGxlLCAuc2VjdGlvbi12YWx1ZSAudmFsdWVfX2l0ZW06YWN0aXZlIC52YWx1ZV9fdGl0bGUge1xuICAgICAgY29sb3I6ICNGRjhFMDA7IH1cbiAgICAuc2VjdGlvbi12YWx1ZSAudmFsdWVfX2l0ZW06aG92ZXIgLnZhbHVlX190eHQsIC5zZWN0aW9uLXZhbHVlIC52YWx1ZV9faXRlbTpmb2N1cyAudmFsdWVfX3R4dCwgLnNlY3Rpb24tdmFsdWUgLnZhbHVlX19pdGVtOmFjdGl2ZSAudmFsdWVfX3R4dCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zZWN0aW9uLXZhbHVlIC52YWx1ZV9faXRlbTpob3ZlciAudmFsdWVfX3R4dCwgLnNlY3Rpb24tdmFsdWUgLnZhbHVlX19pdGVtOmZvY3VzIC52YWx1ZV9fdHh0LCAuc2VjdGlvbi12YWx1ZSAudmFsdWVfX2l0ZW06YWN0aXZlIC52YWx1ZV9fdHh0IHtcbiAgICAgICAgICBwYWRkaW5nOiAyLjVyZW07XG4gICAgICAgICAgcGFkZGluZy10b3A6IDUuNjI1cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgLnNlY3Rpb24tdmFsdWUgLnZhbHVlX19pdGVtOmhvdmVyIC5pY29uLWdsYXNzLCAuc2VjdGlvbi12YWx1ZSAudmFsdWVfX2l0ZW06Zm9jdXMgLmljb24tZ2xhc3MsIC5zZWN0aW9uLXZhbHVlIC52YWx1ZV9faXRlbTphY3RpdmUgLmljb24tZ2xhc3Mge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VjdGlvbi12YWx1ZSAudmFsdWVfX2NvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDElO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiA5OCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5zZWN0aW9uLXZhbHVlIC52YWx1ZV9faGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcbiAgcGFkZGluZzogMC42MjVyZW0gMS4yNXJlbTtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICBtaW4taGVpZ2h0OiA0M3B4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IDIlO1xuICB6LWluZGV4OiAxOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlY3Rpb24tdmFsdWUgLnZhbHVlX19oZWFkZXIge1xuICAgICAgbWluLWhlaWdodDogNjVweDsgfSB9XG4gIC5zZWN0aW9uLXZhbHVlIC52YWx1ZV9faGVhZGVyOmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDIuMDYyNXJlbTtcbiAgICB3aWR0aDogNC4xMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTBweCA1MHB4IDAgMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0zM3B4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTMzcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tdmFsdWUgLnZhbHVlX19oZWFkZXI6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgd2lkdGg6IDYuMjVyZW07XG4gICAgICAgIHRvcDogLTUwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNTBweDsgfSB9XG4gIC5zZWN0aW9uLXZhbHVlIC52YWx1ZV9faGVhZGVyIC5pY29uLWdsYXNzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IC0yMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLXZhbHVlIC52YWx1ZV9faGVhZGVyIC5pY29uLWdsYXNzIHtcbiAgICAgICAgdG9wOiAtMzZweDsgfSB9XG4gICAgLnNlY3Rpb24tdmFsdWUgLnZhbHVlX19oZWFkZXIgLmljb24tZ2xhc3M6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGNvbG9yOiAjMzAzQTU2OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuc2VjdGlvbi12YWx1ZSAudmFsdWVfX2hlYWRlciAuaWNvbi1nbGFzczpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfSB9XG5cbi5zZWN0aW9uLXZhbHVlIC52YWx1ZV9fdGl0bGUge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICMzMDNBNTY7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi12YWx1ZSAudmFsdWVfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWN0aW9uLXZhbHVlIC52YWx1ZV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfSB9XG5cbi5zZWN0aW9uLXZhbHVlIC52YWx1ZV9fdHh0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VjdGlvbi12YWx1ZSAudmFsdWVfX2ltZyAuaW1nLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTgwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi12YWx1ZSAudmFsdWVfX2ltZyAuaW1nLWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDIwMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi12YWx1ZSAudmFsdWVfX2ltZyAuaW1nLWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDI4MHB4OyB9IH1cblxuLnNlY3Rpb24tcHJvZHVjdHMgLnNlY3Rpb25fX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLnNlY3Rpb24tcHJvZHVjdHMgLnNlY3Rpb25fX2hlYWRlciBwIHtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLXByb2R1Y3RzIC5zZWN0aW9uX19oZWFkZXIgcCB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWN0aW9uLXByb2R1Y3RzIC5zZWN0aW9uX19oZWFkZXIgcCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuLnNlY3Rpb24tcHJvZHVjdHMgLmFjY29yZGlvbiwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuc2VjdGlvbi1wcm9kdWN0cyAuYWNjb3JkaW9uIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQsIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgLnNlY3Rpb24tcHJvZHVjdHMgLmFjY29yZGlvbi1pdGVtLCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNlY3Rpb24tcHJvZHVjdHMgLmFjY29yZGlvbi1pdGVtOmJlZm9yZSwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtaXRlbTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuqItcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbmZvbnQnO1xuICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5zZWN0aW9uLXByb2R1Y3RzIC5hY2NvcmRpb24taXRlbTphZnRlciwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtaXRlbTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OCwgNTgsIDg2LCAwLjkpO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsgfVxuICAgIC5zZWN0aW9uLXByb2R1Y3RzIC5hY2NvcmRpb24taXRlbSAucHJvZHVjdHMtdGFiX190aXRsZSwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtaXRlbSAucHJvZHVjdHMtdGFiX190aXRsZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5zZWN0aW9uLXByb2R1Y3RzIC5hY2NvcmRpb24taXRlbTpiZWZvcmUsIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLWl0ZW06YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMjA7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC01OHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xOHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7IH1cbiAgICAuc2VjdGlvbi1wcm9kdWN0cyAuYWNjb3JkaW9uLWl0ZW06aG92ZXI6YWZ0ZXIsIC5zZWN0aW9uLXByb2R1Y3RzIC5hY2NvcmRpb24taXRlbTpmb2N1czphZnRlciwgLnNlY3Rpb24tcHJvZHVjdHMgLmFjY29yZGlvbi1pdGVtOmFjdGl2ZTphZnRlciwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtaXRlbTpob3ZlcjphZnRlciwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtaXRlbTpmb2N1czphZnRlciwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtaXRlbTphY3RpdmU6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuICAgIC5zZWN0aW9uLXByb2R1Y3RzIC5hY2NvcmRpb24taXRlbTpob3ZlcjpiZWZvcmUsIC5zZWN0aW9uLXByb2R1Y3RzIC5hY2NvcmRpb24taXRlbTpmb2N1czpiZWZvcmUsIC5zZWN0aW9uLXByb2R1Y3RzIC5hY2NvcmRpb24taXRlbTphY3RpdmU6YmVmb3JlLCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy1pdGVtOmhvdmVyOmJlZm9yZSwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtaXRlbTpmb2N1czpiZWZvcmUsIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLWl0ZW06YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gICAgLnNlY3Rpb24tcHJvZHVjdHMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAucHJvZHVjdHMtdGFiX190aXRsZSwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtaXRlbS5pcy1hY3RpdmUgLnByb2R1Y3RzLXRhYl9fdGl0bGUge1xuICAgICAgY29sb3I6ICM1RjcxOEI7IH1cbiAgICAuc2VjdGlvbi1wcm9kdWN0cyAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlOmJlZm9yZSwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtaXRlbS5pcy1hY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAuc2VjdGlvbi1wcm9kdWN0cyAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlOmFmdGVyLCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy1pdGVtLmlzLWFjdGl2ZTphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gIC5zZWN0aW9uLXByb2R1Y3RzIC5hY2NvcmRpb24tdGl0bGUsIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuc2VjdGlvbi1wcm9kdWN0cyAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtdGl0bGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAuc2VjdGlvbi1wcm9kdWN0cyAuYWNjb3JkaW9uLXRpdGxlIC5wcm9kdWN0cy10YWJfX3RpdGxlLCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy10aXRsZSAucHJvZHVjdHMtdGFiX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjA7XG4gICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tcHJvZHVjdHMgLmFjY29yZGlvbi10aXRsZSAucHJvZHVjdHMtdGFiX190aXRsZSwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtdGl0bGUgLnByb2R1Y3RzLXRhYl9fdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tcHJvZHVjdHMgLmFjY29yZGlvbi10aXRsZSAucHJvZHVjdHMtdGFiX190aXRsZSwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtdGl0bGUgLnByb2R1Y3RzLXRhYl9fdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH0gfVxuICAgICAgLnNlY3Rpb24tcHJvZHVjdHMgLmFjY29yZGlvbi10aXRsZSAucHJvZHVjdHMtdGFiX190aXRsZSBzcGFuLCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy10aXRsZSAucHJvZHVjdHMtdGFiX190aXRsZSBzcGFuIHtcbiAgICAgICAgY29sb3I6ICNGRjhFMDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zZWN0aW9uLXByb2R1Y3RzIC50YWJzIHtcbiAgYm9yZGVyOiBub25lOyB9XG4gIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLXRpdGxlIHtcbiAgICB3aWR0aDogMzEuMyU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLXRpdGxlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6oi1wiO1xuICAgICAgZm9udC1mYW1pbHk6ICdpY29uZm9udCc7XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtdGl0bGU6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMyU7IH1cbiAgICAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy10aXRsZSAucHJvZHVjdHMtdGFiX190aXRsZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOyB9XG4gICAgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtdGl0bGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDgsIDU4LCA4NiwgMC45KTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7IH1cbiAgICAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy10aXRsZTpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTU4cHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsgfVxuICAgIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtdGl0bGU6aG92ZXIsIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLXRpdGxlOmZvY3VzLCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy10aXRsZTphY3RpdmUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy10aXRsZS5pcy1hY3RpdmU6YmVmb3JlLCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy10aXRsZTpob3ZlcjpiZWZvcmUsIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLXRpdGxlOmZvY3VzOmJlZm9yZSwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtdGl0bGU6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZTphZnRlciwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtdGl0bGU6aG92ZXI6YWZ0ZXIsIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLXRpdGxlOmZvY3VzOmFmdGVyLCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy10aXRsZTphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy10aXRsZS5pcy1hY3RpdmUgLnByb2R1Y3RzLXRhYl9fdGl0bGUsIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLXRpdGxlOmhvdmVyIC5wcm9kdWN0cy10YWJfX3RpdGxlLCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy10aXRsZTpmb2N1cyAucHJvZHVjdHMtdGFiX190aXRsZSwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtdGl0bGU6YWN0aXZlIC5wcm9kdWN0cy10YWJfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICM1RjcxOEI7IH1cbiAgICAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy10aXRsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4uc2VjdGlvbi1wcm9kdWN0cyAuYWNjb3JkaW9uLWNvbnRlbnQsIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5zZWN0aW9uLXByb2R1Y3RzIC5hY2NvcmRpb24tY29udGVudCAucHJvZHVjdHMtaXRlbSwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtY29udGVudCAucHJvZHVjdHMtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc2VjdGlvbi1wcm9kdWN0cyAuYWNjb3JkaW9uLWNvbnRlbnQgLnByb2R1Y3RzLWl0ZW1fX2ltZywgLnNlY3Rpb24tcHJvZHVjdHMgLmFjY29yZGlvbi1jb250ZW50IC5wcm9kdWN0cy1pdGVtX19jb250ZW50LCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy1jb250ZW50IC5wcm9kdWN0cy1pdGVtX19pbWcsIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLWNvbnRlbnQgLnByb2R1Y3RzLWl0ZW1fX2NvbnRlbnQge1xuICAgICAgd2lkdGg6IDQ5JTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuc2VjdGlvbi1wcm9kdWN0cyAuYWNjb3JkaW9uLWNvbnRlbnQgLnByb2R1Y3RzLWl0ZW1fX2ltZyAuaW1nLWNvbnRhaW5lciwgLnNlY3Rpb24tcHJvZHVjdHMgLnRhYnMtY29udGVudCAucHJvZHVjdHMtaXRlbV9faW1nIC5pbWctY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNlY3Rpb24tcHJvZHVjdHMgLmFjY29yZGlvbi1jb250ZW50IC5wcm9kdWN0cy1pdGVtX19jb250ZW50LCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy1jb250ZW50IC5wcm9kdWN0cy1pdGVtX19jb250ZW50IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDQwcHggMjBweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tcHJvZHVjdHMgLmFjY29yZGlvbi1jb250ZW50IC5wcm9kdWN0cy1pdGVtX19jb250ZW50LCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy1jb250ZW50IC5wcm9kdWN0cy1pdGVtX19jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuc2VjdGlvbi1wcm9kdWN0cyAuYWNjb3JkaW9uLWNvbnRlbnQgLnByb2R1Y3RzLWl0ZW1fX2NvbnRlbnQsIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLWNvbnRlbnQgLnByb2R1Y3RzLWl0ZW1fX2NvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDMuMTI1cmVtOyB9IH1cbiAgICAgIC5zZWN0aW9uLXByb2R1Y3RzIC5hY2NvcmRpb24tY29udGVudCAucHJvZHVjdHMtaXRlbV9fY29udGVudCBwLCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy1jb250ZW50IC5wcm9kdWN0cy1pdGVtX19jb250ZW50IHAge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnNlY3Rpb24tcHJvZHVjdHMgLmFjY29yZGlvbi1jb250ZW50IC5wcm9kdWN0cy1pdGVtX19jb250ZW50IHAsIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLWNvbnRlbnQgLnByb2R1Y3RzLWl0ZW1fX2NvbnRlbnQgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5zZWN0aW9uLXByb2R1Y3RzIC5hY2NvcmRpb24tY29udGVudCAucHJvZHVjdHMtaXRlbV9fY29udGVudCBwLCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy1jb250ZW50IC5wcm9kdWN0cy1pdGVtX19jb250ZW50IHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfSB9XG4gICAgICAuc2VjdGlvbi1wcm9kdWN0cyAuYWNjb3JkaW9uLWNvbnRlbnQgLnByb2R1Y3RzLWl0ZW1fX2NvbnRlbnQgdWwsIC5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLWNvbnRlbnQgLnByb2R1Y3RzLWl0ZW1fX2NvbnRlbnQgdWwge1xuICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnNlY3Rpb24tcHJvZHVjdHMgLmFjY29yZGlvbi1jb250ZW50IC5wcm9kdWN0cy1pdGVtX19jb250ZW50IHVsLCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy1jb250ZW50IC5wcm9kdWN0cy1pdGVtX19jb250ZW50IHVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLnNlY3Rpb24tcHJvZHVjdHMgLmFjY29yZGlvbi1jb250ZW50IC5wcm9kdWN0cy1pdGVtX19jb250ZW50IHVsLCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy1jb250ZW50IC5wcm9kdWN0cy1pdGVtX19jb250ZW50IHVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG4uc2VjdGlvbi1wcm9kdWN0cyAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIHtcbiAgcGFkZGluZzogMDsgfVxuICAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIC5jb2x1bW46bnRoLWNoaWxkKDJuKzEpLCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIC5jb2x1bW5zOm50aC1jaGlsZCgybisxKSB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIC5jb2x1bW46bnRoLWNoaWxkKDJuKzApLCAuc2VjdGlvbi1wcm9kdWN0cyAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIC5jb2x1bW5zOm50aC1jaGlsZCgybiswKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG5cbi5zZWN0aW9uLXByb2R1Y3RzIC50YWJzLWNvbnRlbnQgLnByb2R1Y3QtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuXG4uc2VjdGlvbi1icmFuZHMgLnNlY3Rpb25fX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uc2VjdGlvbi1icmFuZHMgdWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNlY3Rpb24tYnJhbmRzIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2VjdGlvbi1icmFuZHMgdWwgbGkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tYnJhbmRzIHVsIGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS44NzVyZW07IH0gfVxuXG4uc2VjdGlvbi1wcm9jZXNzIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLnNlY3Rpb24tcHJvY2VzcyAucHJvZ3Jlc3NiYXJfX3dyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTUsIDExMywgMTM5LCAwLjcpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC45Mzc1cmVtIDAuMTg3NXJlbSAwLjkzNzVyZW07IH1cbiAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9ncmVzc2Jhcl9fd3JhcHBlciAuYXJyb3ctbGVmdCwgLnNlY3Rpb24tcHJvY2VzcyAucHJvZ3Jlc3NiYXJfX3dyYXBwZXIgLmFycm93LXJpZ2h0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjhFMDA7XG4gICAgICB3aWR0aDogMi42MjVyZW07XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgdG9wOiAwOyB9XG4gICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9ncmVzc2Jhcl9fd3JhcHBlciAuYXJyb3ctbGVmdCBpLCAuc2VjdGlvbi1wcm9jZXNzIC5wcm9ncmVzc2Jhcl9fd3JhcHBlciAuYXJyb3ctcmlnaHQgaSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogNnB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvZ3Jlc3NiYXJfX3dyYXBwZXIgLmFycm93LWxlZnQgaSwgLnNlY3Rpb24tcHJvY2VzcyAucHJvZ3Jlc3NiYXJfX3dyYXBwZXIgLmFycm93LXJpZ2h0IGkge1xuICAgICAgICAgICAgdG9wOiAxMnB4OyB9IH1cbiAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvZ3Jlc3NiYXJfX3dyYXBwZXIgLmFycm93LWxlZnQgaTpiZWZvcmUsIC5zZWN0aW9uLXByb2Nlc3MgLnByb2dyZXNzYmFyX193cmFwcGVyIC5hcnJvdy1yaWdodCBpOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9ncmVzc2Jhcl9fd3JhcHBlciAuYXJyb3ctbGVmdCBpOmJlZm9yZSwgLnNlY3Rpb24tcHJvY2VzcyAucHJvZ3Jlc3NiYXJfX3dyYXBwZXIgLmFycm93LXJpZ2h0IGk6YmVmb3JlIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9ncmVzc2Jhcl9fd3JhcHBlciAuYXJyb3ctbGVmdCB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2dyZXNzYmFyX193cmFwcGVyIC5hcnJvdy1yaWdodCB7XG4gICAgICByaWdodDogMDsgfVxuICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9ncmVzc2Jhcl9fY29udGVudCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvZ3Jlc3NiYXJfX2NvbnRlbnQgbGkge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvZ3Jlc3NiYXJfX2NvbnRlbnQgbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9ncmVzc2Jhcl9fY29udGVudCBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvZ3Jlc3NiYXJfX2NvbnRlbnQgbGkuaXMtYWN0aXZlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9ncmVzc2Jhcl9fcHJvZ3Jlc3Mge1xuICAgIGhlaWdodDogMC41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvZ3Jlc3NiYXJfX3Byb2dyZXNzIHtcbiAgICAgICAgaGVpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvZ3Jlc3NiYXJfX3Byb2dyZXNzIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOEUwMDtcbiAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOyB9XG4gIC5zZWN0aW9uLXByb2Nlc3MgLnByb2dyZXNzYmFyX19jb3VudCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9ncmVzc2Jhcl9fY291bnQge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfSB9XG4gIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3Mge1xuICAgIHBhZGRpbmctdG9wOiA2LjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA2LjI1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDE4Ljc1cmVtO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3Mge1xuICAgICAgICBtYXgtd2lkdGg6IDM4LjEyNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDkuMzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2VzcyB7XG4gICAgICAgIG1heC13aWR0aDogNjIuMTI1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIuNXJlbTsgfSB9XG4gICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19pbWcge1xuICAgICAgICAgIGhlaWdodDogMTE5cHg7XG4gICAgICAgICAgd2lkdGg6IDEzM3B4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDE3MHB4O1xuICAgICAgICAgIHdpZHRoOiAxOTBweDtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qiVXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbmZvbnQnO1xuICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19pbWc6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu6olVwiO1xuICAgICAgICBmb250LWZhbWlseTogJ2ljb25mb250JztcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nOmJlZm9yZSwgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nOmFmdGVyIHtcbiAgICAgICAgZm9udC1zaXplOiA2LjI1cmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nOmJlZm9yZSwgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nOmFmdGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTEuODc1cmVtOyB9IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19pbWc6YmVmb3JlLCAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19pbWc6YWZ0ZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNi44NzVyZW07IH0gfVxuICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMi41cmVtOyB9IH1cbiAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2ltZy0tY2xpZW50IHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1LjMxMjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19pbWctLWNsaWVudCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4LjEyNXJlbTsgfSB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nLS1jbGllbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTEuMjVyZW07IH0gfVxuICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19pbWctLWNsaWVudDpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6IC04NnB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC02MGRlZyk7XG4gICAgICAgICAgdG9wOiA2NnB4OyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2ltZy0tY2xpZW50OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGxlZnQ6IC0xNjBweDsgfSB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2ltZy0tY2xpZW50OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGxlZnQ6IC0yMjVweDtcbiAgICAgICAgICAgICAgdG9wOiA4MHB4OyB9IH1cbiAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nLS1jbGllbnQ6YWZ0ZXIge1xuICAgICAgICAgIGxlZnQ6IC05OHB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEyMGRlZyk7XG4gICAgICAgICAgdG9wOiA1MXB4OyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2ltZy0tY2xpZW50OmFmdGVyIHtcbiAgICAgICAgICAgICAgdG9wOiA0NXB4O1xuICAgICAgICAgICAgICBsZWZ0OiAtMTk1cHg7IH0gfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19pbWctLWNsaWVudDphZnRlciB7XG4gICAgICAgICAgICAgIHRvcDogNjBweDtcbiAgICAgICAgICAgICAgbGVmdDogLTI3MHB4OyB9IH1cbiAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2ltZy0tc2hpcCB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2ltZy0tc2hpcCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2ltZy0tc2hpcCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1MHB4OyB9IH1cbiAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nLS1zaGlwOmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogLTExMHB4O1xuICAgICAgICAgIHRvcDogNnB4OyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2ltZy0tc2hpcDpiZWZvcmUge1xuICAgICAgICAgICAgICBsZWZ0OiAtMjIwcHg7XG4gICAgICAgICAgICAgIHRvcDogLTE0cHg7IH0gfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19pbWctLXNoaXA6YmVmb3JlIHtcbiAgICAgICAgICAgICAgbGVmdDogLTI5MHB4O1xuICAgICAgICAgICAgICB0b3A6IC0xNXB4OyB9IH1cbiAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nLS1zaGlwOmFmdGVyIHtcbiAgICAgICAgICBsZWZ0OiAtMTEwcHg7XG4gICAgICAgICAgdG9wOiAtMjBweDsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19pbWctLXNoaXA6YWZ0ZXIge1xuICAgICAgICAgICAgICBsZWZ0OiAtMjIwcHg7XG4gICAgICAgICAgICAgIHRvcDogLTUycHg7IH0gfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19pbWctLXNoaXA6YWZ0ZXIge1xuICAgICAgICAgICAgICBsZWZ0OiAtMjkwcHg7XG4gICAgICAgICAgICAgIHRvcDogLTY1cHg7IH0gfVxuICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nLS1kYXJvbiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2ltZy0tZGFyb24ubm8tb3BhY2l0eTpiZWZvcmUsIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2ltZy0tZGFyb24ubm8tb3BhY2l0eTphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2ltZy0tZGFyb24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDUwcHg7IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2ltZy0tZGFyb24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1MHB4OyB9IH1cbiAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nLS1kYXJvbjpiZWZvcmUge1xuICAgICAgICAgIHJpZ2h0OiAtMjlweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNjBkZWcpO1xuICAgICAgICAgIHRvcDogLTk5cHg7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nLS1kYXJvbjpiZWZvcmUge1xuICAgICAgICAgICAgICByaWdodDogLTg2cHg7XG4gICAgICAgICAgICAgIHRvcDogLTE4M3B4OyB9IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nLS1kYXJvbjpiZWZvcmUge1xuICAgICAgICAgICAgICByaWdodDogLTEwN3B4O1xuICAgICAgICAgICAgICB0b3A6IC0yNzBweDsgfSB9XG4gICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2ltZy0tZGFyb246YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAtMTdweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMjBkZWcpO1xuICAgICAgICAgIHRvcDogLTExNHB4OyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2ltZy0tZGFyb246YWZ0ZXIge1xuICAgICAgICAgICAgICByaWdodDogLTUycHg7XG4gICAgICAgICAgICAgIHRvcDogLTIwNXB4OyB9IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nLS1kYXJvbjphZnRlciB7XG4gICAgICAgICAgICAgIHJpZ2h0OiAtNjJweDtcbiAgICAgICAgICAgICAgdG9wOiAtMjkwcHg7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19pbWctLWRhcm9uIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogNXJlbTsgfSB9XG4gICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19pbWctd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19faW1nLmlzLWluYWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsgfVxuICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2NvbnRlbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19jb250ZW50IHAge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2NvbnRlbnQgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2NvbnRlbnQgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19fY29udGVudC5pcy1hY3RpdmUgcCB7XG4gICAgICAgIGNvbG9yOiAjRkY4RTAwO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19jb250ZW50LS0yIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19jb250ZW50LS0yIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1heC13aWR0aDogOTlweDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTNweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMjNweDsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19jb250ZW50LS0yIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zcHg7IH0gfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19jb250ZW50LS0yIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA5NXB4O1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2NvbnRlbnQtLTEge1xuICAgICAgICB0b3A6IDEwMHB4O1xuICAgICAgICBsZWZ0OiAtNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2NvbnRlbnQtLTEge1xuICAgICAgICAgICAgdG9wOiAxNjlweDtcbiAgICAgICAgICAgIGxlZnQ6IC0xNHB4OyB9IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19jb250ZW50LS0xIHtcbiAgICAgICAgICAgIHRvcDogMjIwcHg7XG4gICAgICAgICAgICBsZWZ0OiA2cHg7IH0gfVxuICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19jb250ZW50LS0xIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNDBweDsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19jb250ZW50LS0xIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTE5MHB4OyB9IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19fY29udGVudC0tMSBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yNjBweDsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2NvbnRlbnQtLTEgcDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE1MHB4OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19fY29udGVudC0tMSBwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzBweDsgfSB9XG4gICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19jb250ZW50LS0zIHtcbiAgICAgICAgdG9wOiAxODNweDtcbiAgICAgICAgbGVmdDogLTE3cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19fY29udGVudC0tMyB7XG4gICAgICAgICAgICB0b3A6IDI0NHB4O1xuICAgICAgICAgICAgbGVmdDogLTQ1cHg7IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLnByb2Nlc3NfX2NvbnRlbnQtLTMge1xuICAgICAgICAgICAgdG9wOiAzMDBweDtcbiAgICAgICAgICAgIGxlZnQ6IDE1cHg7IH0gfVxuICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19jb250ZW50LS0zIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTM3cHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTMwcHg7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19fY29udGVudC0tMyBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xODdweDtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7IH0gfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19jb250ZW50LS0zIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTI0N3B4O1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAucHJvY2Vzc19fY29udGVudC0tMyBwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICAuc2VjdGlvbi1wcm9jZXNzIC5wcm9jZXNzX19jb250ZW50LS0zIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2MHB4OyB9IH1cbiAgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICAgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX3RpdGxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX2hlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX2hlYWRlciwgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAuc2VjdGlvbi1wcm9jZXNzIC5kZWxpdmVyeV9fY29udGVudCAuY29sdW1uOm50aC1jaGlsZCgybisxKSwgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX2NvbnRlbnQgLmNvbHVtbnM6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07IH1cbiAgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX2NvbnRlbnQgLmNvbHVtbjpudGgtY2hpbGQoMm4rMCksIC5zZWN0aW9uLXByb2Nlc3MgLmRlbGl2ZXJ5X19jb250ZW50IC5jb2x1bW5zOm50aC1jaGlsZCgybiswKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi1wcm9jZXNzIC5kZWxpdmVyeV9fY29udGVudCAuY29sdW1uOm50aC1jaGlsZCgybisxKSwgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX2NvbnRlbnQgLmNvbHVtbnM6bnRoLWNoaWxkKDJuKzEpLCAuc2VjdGlvbi1wcm9jZXNzIC5kZWxpdmVyeV9fY29udGVudCAuY29sdW1uOm50aC1jaGlsZCgybiswKSwgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX2NvbnRlbnQgLmNvbHVtbnM6bnRoLWNoaWxkKDJuKzApIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC40Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC40Mzc1cmVtOyB9XG4gICAgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX2NvbnRlbnQgLmNvbHVtbjpmaXJzdC1vZi10eXBlLCAuc2VjdGlvbi1wcm9jZXNzIC5kZWxpdmVyeV9fY29udGVudCAuY29sdW1uczpmaXJzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gICAgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX2NvbnRlbnQgLmNvbHVtbjpsYXN0LW9mLXR5cGUsIC5zZWN0aW9uLXByb2Nlc3MgLmRlbGl2ZXJ5X19jb250ZW50IC5jb2x1bW5zOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWN0aW9uLXByb2Nlc3MgLmRlbGl2ZXJ5X19jb250ZW50IC5jb2x1bW4sIC5zZWN0aW9uLXByb2Nlc3MgLmRlbGl2ZXJ5X19jb250ZW50IC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX2l0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMS41NjI1cmVtIDAuNjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbi1wcm9jZXNzIC5kZWxpdmVyeV9faXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgICAuc2VjdGlvbi1wcm9jZXNzIC5kZWxpdmVyeV9faXRlbSBpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gICAgICAuc2VjdGlvbi1wcm9jZXNzIC5kZWxpdmVyeV9faXRlbSBpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjRkY4RTAwO1xuICAgICAgICBmb250LXNpemU6IDEuODc1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX2l0ZW0gaTpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjgxMjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLmRlbGl2ZXJ5X19pdGVtIGk6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy43NXJlbTsgfSB9XG4gIC5zZWN0aW9uLXByb2Nlc3MgLmRlbGl2ZXJ5X190eHQge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAjMzAzQTU2OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLmRlbGl2ZXJ5X190eHQge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH0gfVxuICAgIC5zZWN0aW9uLXByb2Nlc3MgLmRlbGl2ZXJ5X190eHQgYSB7XG4gICAgICBjb2xvcjogI0ZGOEUwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLmRlbGl2ZXJ5X190eHQgYTpob3ZlciwgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX3R4dCBhOmZvY3VzLCAuc2VjdGlvbi1wcm9jZXNzIC5kZWxpdmVyeV9fdHh0IGE6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICMzMDNBNTY7IH1cbiAgLnNlY3Rpb24tcHJvY2VzcyAuZGVsaXZlcnlfX2ltZyB7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtNjBweDtcbiAgICBoZWlnaHQ6IDEzLjQzNzVyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ltZy1ib3R0b21fb2ZmZXJzLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWN0aW9uLXByb2Nlc3MgLmRlbGl2ZXJ5X19pbWcge1xuICAgICAgICBoZWlnaHQ6IDMyLjE4NzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbi1wcm9jZXNzIC5kZWxpdmVyeV9faW1nIHtcbiAgICAgICAgaGVpZ2h0OiA0Ny41cmVtO1xuICAgICAgICB0b3A6IC0xMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEyMHB4OyB9IH1cblxuLnNlY3Rpb24tY29uZ28gLnNlY3Rpb25fX2ludHJvIHtcbiAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLWNvbmdvIC5zZWN0aW9uX19pbnRybyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIC5zZWN0aW9uLWNvbmdvIC5zZWN0aW9uX19pbnRybyBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4ucGVyZm9ybWFuY2VfX2ltZy1nYWJvbiB7XG4gIG1hcmdpbi10b3A6IDQuMzc1cmVtOyB9XG4gIC5wZXJmb3JtYW5jZV9faW1nLWdhYm9uIC5pbWctY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDMwMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wZXJmb3JtYW5jZV9faW1nLWdhYm9uIC5pbWctY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAzMjBweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wZXJmb3JtYW5jZV9faW1nLWdhYm9uIC5pbWctY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAzODhweDsgfSB9XG5cbi5zaXRlcy1zYW1fX2ltZy10b3Age1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2l0ZXMtc2FtX19pbWctdG9wIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLnNpdGVzLXNhbV9faW1nLXRvcCAuaW1nLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiA5LjM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2l0ZXMtc2FtX19pbWctdG9wIC5pbWctY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxOC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNpdGVzLXNhbV9faW1nLXRvcCAuaW1nLWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMjguNzVyZW07IH0gfVxuXG4uc2l0ZXMtc2FtX19pbWctYm90dG9tIHtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNpdGVzLXNhbV9faW1nLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1heC13aWR0aDogNzByZW07IH0gfVxuICAuc2l0ZXMtc2FtX19pbWctYm90dG9tICNtYXAge1xuICAgIGhlaWdodDogNDAwcHg7IH1cbiAgLnNpdGVzLXNhbV9faW1nLWJvdHRvbSAuaW1nLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiA5LjM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2l0ZXMtc2FtX19pbWctYm90dG9tIC5pbWctY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxNy41cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNpdGVzLXNhbV9faW1nLWJvdHRvbSAuaW1nLWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMjVyZW07IH0gfVxuXG4uc2l0ZXMtc2FtX19sb2dvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zaXRlcy1zYW1fX2xvZ286YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAxMC4zMTI1cmVtO1xuICAgIHdpZHRoOiAxMC4zMTI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNTBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC04Mi41cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNpdGVzLXNhbV9fbG9nbzpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDI3MHB4O1xuICAgICAgICB3aWR0aDogMjcwcHg7XG4gICAgICAgIHRvcDogLTgwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTM1cHg7IH0gfVxuICAuc2l0ZXMtc2FtX19sb2dvIGltZyB7XG4gICAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgdG9wOiAtMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNpdGVzLXNhbV9fbG9nbyBpbWcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMHJlbTsgfSB9XG5cbi5zaXRlcy1zYW1fX3R4dCB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW46IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2l0ZXMtc2FtX190eHQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDsgfSB9XG5cbi5zaXRlcy1zYW1fX2ludHJvIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNpdGVzLXNhbV9faW50cm8ge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLnNpdGVzLXNhbV9fY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2l0ZXMtc2FtX19jb250ZW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIC5zaXRlcy1zYW1fX2NvbnRlbnQgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNpdGVzLXNhbV9fY29udGVudCBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuLnNlY3Rpb24tZ2Fib24gLnNlY3Rpb25fX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uc2VjdGlvbi1nYWJvbiAuc2l0ZXMtc2FtX190eHQge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLnNlY3Rpb24tZ2Fib24gLnNpdGVzLXNhbV9fY29udGVudCBwOmxhc3Qtb2YtdHlwZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5zZWN0aW9uLWdhYm9uIC5zaXRlcy1zYW1fX2NvbnRlbnRCaXMge1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWN0aW9uLWdhYm9uIC5zaXRlcy1zYW1fX2NvbnRlbnRCaXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5zZWN0aW9uLWdhYm9uIC5zaXRlcy1zYW1fX2NvbnRlbnRCaXMgZmlndXJlIHtcbiAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2VjdGlvbi1nYWJvbiAuc2l0ZXMtc2FtX19jb250ZW50QmlzIGZpZ2NhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5zZWN0aW9uLWdhYm9uIC5zaXRlcy1zYW1fX2ltZy1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tZ2Fib24gLnNpdGVzLXNhbV9faW1nLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tdG9wOiA0LjM3NXJlbTsgfSB9XG5cbi5zZWN0aW9uLXJlc3NvdXJjZXMge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuc2VjdGlvbi1yZXNzb3VyY2VzIC5zZWN0aW9uX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLXJlc3NvdXJjZXMgLnJlc3NvdXJjZXMgLmNvbHVtbiwgLnNlY3Rpb24tcmVzc291cmNlcyAucmVzc291cmNlcyAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC4xMjVyZW07IH1cbiAgICAgIC5zZWN0aW9uLXJlc3NvdXJjZXMgLnJlc3NvdXJjZXMgLmNvbHVtbjpudGgtY2hpbGQoMm4rMSksIC5zZWN0aW9uLXJlc3NvdXJjZXMgLnJlc3NvdXJjZXMgLmNvbHVtbnM6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC4wNjI1cmVtOyB9XG4gICAgICAuc2VjdGlvbi1yZXNzb3VyY2VzIC5yZXNzb3VyY2VzIC5jb2x1bW46bnRoLWNoaWxkKDJuKzApLCAuc2VjdGlvbi1yZXNzb3VyY2VzIC5yZXNzb3VyY2VzIC5jb2x1bW5zOm50aC1jaGlsZCgybiswKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC4wNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgLnNlY3Rpb24tcmVzc291cmNlcyAucmVzc291cmNlcyAuY29sdW1uOmxhc3Qtb2YtdHlwZSwgLnNlY3Rpb24tcmVzc291cmNlcyAucmVzc291cmNlcyAuY29sdW1uczpsYXN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gIC5zZWN0aW9uLXJlc3NvdXJjZXMgLnJlc3NvdXJjZXNfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICMzMDNBNTY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2VjdGlvbi1yZXNzb3VyY2VzIC5yZXNzb3VyY2VzX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbi1yZXNzb3VyY2VzIC5yZXNzb3VyY2VzX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAuc2VjdGlvbi1yZXNzb3VyY2VzIC5yZXNzb3VyY2VzX19oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDA7IH1cbiAgICAuc2VjdGlvbi1yZXNzb3VyY2VzIC5yZXNzb3VyY2VzX19oZWFkZXIgLmljb24tZ2xhc3Mge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IC0zNnB4O1xuICAgICAgbGVmdDogMDsgfVxuICAgICAgLnNlY3Rpb24tcmVzc291cmNlcyAucmVzc291cmNlc19faGVhZGVyIC5pY29uLWdsYXNzOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICAgICAgY29sb3I6ICMzMDNBNTY7IH1cbiAgICAuc2VjdGlvbi1yZXNzb3VyY2VzIC5yZXNzb3VyY2VzX19oZWFkZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC01MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xuICAgICAgbGVmdDogNTAlOyB9XG4gIC5zZWN0aW9uLXJlc3NvdXJjZXMgLnJlc3NvdXJjZXNfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnNlY3Rpb24tcmVzc291cmNlcyAucmVzc291cmNlc19faXRlbTpob3ZlciwgLnNlY3Rpb24tcmVzc291cmNlcyAucmVzc291cmNlc19faXRlbTpmb2N1cywgLnNlY3Rpb24tcmVzc291cmNlcyAucmVzc291cmNlc19faXRlbTphY3RpdmUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuc2VjdGlvbi1yZXNzb3VyY2VzIC5yZXNzb3VyY2VzX19pdGVtOmhvdmVyIC5yZXNzb3VyY2VzX19jb250ZW50LCAuc2VjdGlvbi1yZXNzb3VyY2VzIC5yZXNzb3VyY2VzX19pdGVtOmZvY3VzIC5yZXNzb3VyY2VzX19jb250ZW50LCAuc2VjdGlvbi1yZXNzb3VyY2VzIC5yZXNzb3VyY2VzX19pdGVtOmFjdGl2ZSAucmVzc291cmNlc19fY29udGVudCB7XG4gICAgICAgIGhlaWdodDogOTYlO1xuICAgICAgICB3aWR0aDogOTYlO1xuICAgICAgICBsZWZ0OiAyJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTsgfVxuICAgICAgLnNlY3Rpb24tcmVzc291cmNlcyAucmVzc291cmNlc19faXRlbTpob3ZlciAucmVzc291cmNlc19fdHh0LCAuc2VjdGlvbi1yZXNzb3VyY2VzIC5yZXNzb3VyY2VzX19pdGVtOmZvY3VzIC5yZXNzb3VyY2VzX190eHQsIC5zZWN0aW9uLXJlc3NvdXJjZXMgLnJlc3NvdXJjZXNfX2l0ZW06YWN0aXZlIC5yZXNzb3VyY2VzX190eHQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgIC5zZWN0aW9uLXJlc3NvdXJjZXMgLnJlc3NvdXJjZXNfX2l0ZW06aG92ZXIgLnJlc3NvdXJjZXNfX2hlYWRlciwgLnNlY3Rpb24tcmVzc291cmNlcyAucmVzc291cmNlc19faXRlbTpmb2N1cyAucmVzc291cmNlc19faGVhZGVyLCAuc2VjdGlvbi1yZXNzb3VyY2VzIC5yZXNzb3VyY2VzX19pdGVtOmFjdGl2ZSAucmVzc291cmNlc19faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2VjdGlvbi1yZXNzb3VyY2VzIC5yZXNzb3VyY2VzX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICB3aWR0aDogOTYlO1xuICAgIGxlZnQ6IDIlO1xuICAgIGJvdHRvbTogMiU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIC5zZWN0aW9uLXJlc3NvdXJjZXMgLnJlc3NvdXJjZXNfX3R4dCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjb2xvcjogI0ZGOEUwMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5zZWN0aW9uLXJlc3NvdXJjZXMgLnJlc3NvdXJjZXNfX3R4dCBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5zZWN0aW9uLXJlc3NvdXJjZXMgLnJlc3NvdXJjZXNfX3R4dCBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDMuNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tcmVzc291cmNlcyAucmVzc291cmNlc19fdHh0IHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNXJlbTsgfSB9XG4gICAgLnNlY3Rpb24tcmVzc291cmNlcyAucmVzc291cmNlc19fdHh0IHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5zZWN0aW9uLXJlc3NvdXJjZXMgLnJlc3NvdXJjZXNfX3R4dCBzcGFuOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMjBweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tcmVzc291cmNlcyAucmVzc291cmNlc19fdHh0IHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuc2VjdGlvbi1yZXNzb3VyY2VzIC5yZXNzb3VyY2VzX190eHQgc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLXJlc3NvdXJjZXMgLnJlc3NvdXJjZXNfX3R4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogNXJlbTsgfSB9XG4gIC5zZWN0aW9uLXJlc3NvdXJjZXMgLnJlc3NvdXJjZXNfX2ltZyAuaW1nLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxNS42MjVyZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tcmVzc291cmNlcyAucmVzc291cmNlc19faW1nIC5pbWctY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxOS4zNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbi1yZXNzb3VyY2VzIC5yZXNzb3VyY2VzX19pbWcgLmltZy1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDIzLjc1cmVtOyB9IH1cblxuLnNlY3Rpb24tdGVhbSB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tdGVhbSAudGVhbSAucm93IC5jb2x1bW4sIC5zZWN0aW9uLXRlYW0gLnRlYW0gLnJvdyAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC4xMjVyZW07IH1cbiAgICAgIC5zZWN0aW9uLXRlYW0gLnRlYW0gLnJvdyAuY29sdW1uOm50aC1jaGlsZCgzbisxKTpsYXN0LWNoaWxkLCAuc2VjdGlvbi10ZWFtIC50ZWFtIC5yb3cgLmNvbHVtbnM6bnRoLWNoaWxkKDNuKzEpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gICAgICAuc2VjdGlvbi10ZWFtIC50ZWFtIC5yb3cgLmNvbHVtbjpudGgtY2hpbGQoM24rMSk6bnRoLWxhc3QtY2hpbGQoMiksIC5zZWN0aW9uLXRlYW0gLnRlYW0gLnJvdyAuY29sdW1uczpudGgtY2hpbGQoM24rMSk6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gICAgICAuc2VjdGlvbi10ZWFtIC50ZWFtIC5yb3cgLmNvbHVtbjpudGgtY2hpbGQoM24rMSksIC5zZWN0aW9uLXRlYW0gLnRlYW0gLnJvdyAuY29sdW1uczpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjEyNXJlbTsgfVxuICAgICAgLnNlY3Rpb24tdGVhbSAudGVhbSAucm93IC5jb2x1bW46bnRoLWNoaWxkKDNuKzApLCAuc2VjdGlvbi10ZWFtIC50ZWFtIC5yb3cgLmNvbHVtbnM6bnRoLWNoaWxkKDNuKzApIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjEyNXJlbTsgfVxuICAgICAgLnNlY3Rpb24tdGVhbSAudGVhbSAucm93IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNlY3Rpb24tdGVhbSAudGVhbSAucm93IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnNlY3Rpb24tdGVhbSAudGVhbSB7XG4gICAgICBtYXgtd2lkdGg6IDIwLjYyNXJlbTtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5zZWN0aW9uLXRlYW0gLnRlYW1fX2ltZyAuaW1nLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxNS4zMTI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWN0aW9uLXRlYW0gLnRlYW1fX2ltZyAuaW1nLWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMTguNzVyZW07IH0gfVxuICAuc2VjdGlvbi10ZWFtIC50ZWFtX190eHQge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDgsIDU4LCA4NiwgMC45KTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICB3aWR0aDogOTYlO1xuICAgIGxlZnQ6IDIlO1xuICAgIHRvcDogMTAwJTtcbiAgICBoZWlnaHQ6IDk2JTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICAuc2VjdGlvbi10ZWFtIC50ZWFtX190eHQgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLXRlYW0gLnRlYW1fX3R4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuc2VjdGlvbi10ZWFtIC50ZWFtX190eHQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAuc2VjdGlvbi10ZWFtIC50ZWFtX19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zZWN0aW9uLXRlYW0gLnRlYW1fX2l0ZW06aG92ZXIgLnRlYW1fX3RpdGxlLCAuc2VjdGlvbi10ZWFtIC50ZWFtX19pdGVtOmZvY3VzIC50ZWFtX190aXRsZSwgLnNlY3Rpb24tdGVhbSAudGVhbV9faXRlbTphY3RpdmUgLnRlYW1fX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAjRkY4RTAwOyB9XG4gICAgLnNlY3Rpb24tdGVhbSAudGVhbV9faXRlbTpob3ZlciAudGVhbV9fdHh0LCAuc2VjdGlvbi10ZWFtIC50ZWFtX19pdGVtOmZvY3VzIC50ZWFtX190eHQsIC5zZWN0aW9uLXRlYW0gLnRlYW1fX2l0ZW06YWN0aXZlIC50ZWFtX190eHQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDIlKTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuc2VjdGlvbi10ZWFtIC50ZWFtX19pdGVtOmhvdmVyIC50ZWFtX19oZWFkZXI6YmVmb3JlLCAuc2VjdGlvbi10ZWFtIC50ZWFtX19pdGVtOmZvY3VzIC50ZWFtX19oZWFkZXI6YmVmb3JlLCAuc2VjdGlvbi10ZWFtIC50ZWFtX19pdGVtOmFjdGl2ZSAudGVhbV9faGVhZGVyOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLnNlY3Rpb24tdGVhbSAudGVhbV9faXRlbTpob3ZlciAuaWNvbi1nbGFzcywgLnNlY3Rpb24tdGVhbSAudGVhbV9faXRlbTpmb2N1cyAuaWNvbi1nbGFzcywgLnNlY3Rpb24tdGVhbSAudGVhbV9faXRlbTphY3RpdmUgLmljb24tZ2xhc3Mge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAuc2VjdGlvbi10ZWFtIC50ZWFtX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlY3Rpb24tdGVhbSAudGVhbV9faGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMjA7XG4gICAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2VjdGlvbi10ZWFtIC50ZWFtX19oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gICAgLnNlY3Rpb24tdGVhbSAudGVhbV9faGVhZGVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTUwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTUwcHg7XG4gICAgICBsZWZ0OiA1MCU7IH1cbiAgICAuc2VjdGlvbi10ZWFtIC50ZWFtX19oZWFkZXIgLmljb24tZ2xhc3Mge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRvcDogLTMycHg7IH1cbiAgICAgIC5zZWN0aW9uLXRlYW0gLnRlYW1fX2hlYWRlciAuaWNvbi1nbGFzczpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgICBjb2xvcjogIzMwM0E1NjsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5zZWN0aW9uLXRlYW0gLnRlYW1fX2hlYWRlciAuaWNvbi1nbGFzczpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyB9IH1cbiAgLnNlY3Rpb24tdGVhbSAudGVhbV9fdGl0bGUge1xuICAgIGNvbG9yOiAjMzAzQTU2O1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tdGVhbSAudGVhbV9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuLnNlY3Rpb24tcGVyZm9ybWFuY2UgLnNlY3Rpb25fX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uc2VjdGlvbi1wZXJmb3JtYW5jZSAuc2VjdGlvbl9fY29udGVudCBoMyB7XG4gIGNvbG9yOiAjRkY4RTAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tcGVyZm9ybWFuY2UgLnNlY3Rpb25fX2NvbnRlbnQgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi1wZXJmb3JtYW5jZSAuc2VjdGlvbl9fY29udGVudCBoMyB7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtOyB9IH1cblxuLnNlY3Rpb24tcGVyZm9ybWFuY2UgLnNlY3Rpb25fX2NvbnRlbnQgcCB7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBmb250LXdlaWdodDogMTAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24tcGVyZm9ybWFuY2UgLnNlY3Rpb25fX2NvbnRlbnQgcCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi1wZXJmb3JtYW5jZSAuc2VjdGlvbl9fY29udGVudCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi5yZWZlcmVuY2VzLWxpc3Qge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmVmZXJlbmNlcy1saXN0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0yNXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmVmZXJlbmNlcy1saXN0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0zMHB4OyB9IH1cbiAgLnJlZmVyZW5jZXMtbGlzdCBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDMuMTI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZWZlcmVuY2VzLWxpc3QgaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogNS42MjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucmVmZXJlbmNlcy1saXN0IGltZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7IH0gfVxuICAucmVmZXJlbmNlcy1saXN0IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZWZlcmVuY2VzLWxpc3QgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgLnJlZmVyZW5jZXMtbGlzdCBsaTpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnJlZmVyZW5jZXMtbGlzdCBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG5cbi5zZWN0aW9uLXJlZmVyZW5jZXMge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zZWN0aW9uLXJlZmVyZW5jZXMgLnNlY3Rpb25fX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5zZWN0aW9uLXJlZmVyZW5jZXMgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gIC5zZWN0aW9uLXJlZmVyZW5jZXMgLndyYXBwZXItcGhvdG9zIHtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2VjdGlvbi1yZWZlcmVuY2VzIC53cmFwcGVyLXBob3RvcyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDMuNDM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWN0aW9uLXJlZmVyZW5jZXMgLndyYXBwZXItcGhvdG9zIHtcbiAgICAgICAgdG9wOiA0LjM3NXJlbTsgfSB9XG5cbi5zZWN0aW9uLXRlc3RpbW9uaWFscyB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5zZWN0aW9uLXRlc3RpbW9uaWFscyB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5zZWN0aW9uLXRlc3RpbW9uaWFscyAud3JhcHBlci1waG90b3Mge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWN0aW9uLXRlc3RpbW9uaWFscyAud3JhcHBlci1waG90b3Mge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuc2VjdGlvbi10ZXN0aW1vbmlhbHMgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuc2VjdGlvbi10ZXN0aW1vbmlhbHMgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi10ZXN0aW1vbmlhbHMgLnNlY3Rpb25fX2NvbnRlbnQgdWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi44MTI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi10ZXN0aW1vbmlhbHMgLnNlY3Rpb25fX2NvbnRlbnQgdWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNC4zNzVyZW07IH0gfVxuICAuc2VjdGlvbi10ZXN0aW1vbmlhbHMgbGk6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAuc2VjdGlvbi10ZXN0aW1vbmlhbHMgLnRlc3RpbW9uaWFscyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbTtcbiAgICBjb2xvcjogIzMwM0E1NjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2VjdGlvbi10ZXN0aW1vbmlhbHMgLnRlc3RpbW9uaWFscyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLXRlc3RpbW9uaWFscyAudGVzdGltb25pYWxzIHtcbiAgICAgICAgcGFkZGluZzogMi41cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTsgfSB9XG4gICAgLnNlY3Rpb24tdGVzdGltb25pYWxzIC50ZXN0aW1vbmlhbHNfY29udGVudCB7XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tdGVzdGltb25pYWxzIC50ZXN0aW1vbmlhbHNfY29udGVudCB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tdGVzdGltb25pYWxzIC50ZXN0aW1vbmlhbHNfY29udGVudCB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgLnNlY3Rpb24tdGVzdGltb25pYWxzIC50ZXN0aW1vbmlhbHNfX2F1dGhvciB7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuc2VjdGlvbi10ZXN0aW1vbmlhbHMgLnRlc3RpbW9uaWFsc19fYXV0aG9yIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9IH1cblxuLnNlY3Rpb24tY29udGFjdCAuc2VjdGlvbl9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5zZWN0aW9uLWNvbnRhY3QgLnNlY3Rpb25fX2NvbnRlbnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5zZWN0aW9uLWNvbnRhY3QtY29uZ28gLnNlY3Rpb25fX2NvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmctY29udGFjdF9jb25nby5qcGdcIik7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNlY3Rpb24tY29udGFjdC1mb3JtIHtcbiAgICBtYXJnaW4tdG9wOiA4LjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA4LjEyNXJlbTsgfSB9XG5cbi5zZWN0aW9uLWNvbnRhY3QtZ2Fib24gLnNlY3Rpb25fX2NvbnRlbnQsIC5zZWN0aW9uLWNvbnRhY3QtYW5nb2xhIC5zZWN0aW9uX19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnLWNvbnRhY3RfZ2Fib24uanBnXCIpOyB9XG5cbi5zZWN0aW9uLWNvbnRhY3QtZ2Fib24gLmNvbnRhY3RfX3dyYXBwZXIgLmNvbnRhY3RfX2l0ZW0sIC5zZWN0aW9uLWNvbnRhY3QtYW5nb2xhIC5jb250YWN0X193cmFwcGVyIC5jb250YWN0X19pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi1jb250YWN0LWdhYm9uIC5jb250YWN0X193cmFwcGVyIC5jb250YWN0X19pdGVtLCAuc2VjdGlvbi1jb250YWN0LWFuZ29sYSAuY29udGFjdF9fd3JhcHBlciAuY29udGFjdF9faXRlbSB7XG4gICAgICBwYWRkaW5nOiAxLjEyNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiA1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuMzc1cmVtOyB9XG4gICAgICAuc2VjdGlvbi1jb250YWN0LWdhYm9uIC5jb250YWN0X193cmFwcGVyIC5jb250YWN0X19pdGVtIHNwYW4sIC5zZWN0aW9uLWNvbnRhY3QtYW5nb2xhIC5jb250YWN0X193cmFwcGVyIC5jb250YWN0X19pdGVtIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi1jb250YWN0LWdhYm9uIC5jb250YWN0X193cmFwcGVyIC5jb250YWN0X19pdGVtLCAuc2VjdGlvbi1jb250YWN0LWFuZ29sYSAuY29udGFjdF9fd3JhcHBlciAuY29udGFjdF9faXRlbSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBwYWRkaW5nLXRvcDogNy4zMTI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDUuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNS42MjVyZW07IH1cbiAgICAgIC5zZWN0aW9uLWNvbnRhY3QtZ2Fib24gLmNvbnRhY3RfX3dyYXBwZXIgLmNvbnRhY3RfX2l0ZW0gc3BhbiwgLnNlY3Rpb24tY29udGFjdC1hbmdvbGEgLmNvbnRhY3RfX3dyYXBwZXIgLmNvbnRhY3RfX2l0ZW0gc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2VjdGlvbi1jb250YWN0LWdhYm9uIC5jb250YWN0X193cmFwcGVyIC5jb2x1bW4sIC5zZWN0aW9uLWNvbnRhY3QtZ2Fib24gLmNvbnRhY3RfX3dyYXBwZXIgLmNvbHVtbnMsIC5zZWN0aW9uLWNvbnRhY3QtYW5nb2xhIC5jb250YWN0X193cmFwcGVyIC5jb2x1bW4sIC5zZWN0aW9uLWNvbnRhY3QtYW5nb2xhIC5jb250YWN0X193cmFwcGVyIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW07IH1cbiAgICAuc2VjdGlvbi1jb250YWN0LWdhYm9uIC5jb250YWN0X193cmFwcGVyIC5jb2x1bW46Zmlyc3Qtb2YtdHlwZSwgLnNlY3Rpb24tY29udGFjdC1nYWJvbiAuY29udGFjdF9fd3JhcHBlciAuY29sdW1uczpmaXJzdC1vZi10eXBlLCAuc2VjdGlvbi1jb250YWN0LWFuZ29sYSAuY29udGFjdF9fd3JhcHBlciAuY29sdW1uOmZpcnN0LW9mLXR5cGUsIC5zZWN0aW9uLWNvbnRhY3QtYW5nb2xhIC5jb250YWN0X193cmFwcGVyIC5jb2x1bW5zOmZpcnN0LW9mLXR5cGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICAuc2VjdGlvbi1jb250YWN0LWdhYm9uIC5jb250YWN0X193cmFwcGVyIC5jb2x1bW46bGFzdC1vZi10eXBlLCAuc2VjdGlvbi1jb250YWN0LWdhYm9uIC5jb250YWN0X193cmFwcGVyIC5jb2x1bW5zOmxhc3Qtb2YtdHlwZSwgLnNlY3Rpb24tY29udGFjdC1hbmdvbGEgLmNvbnRhY3RfX3dyYXBwZXIgLmNvbHVtbjpsYXN0LW9mLXR5cGUsIC5zZWN0aW9uLWNvbnRhY3QtYW5nb2xhIC5jb250YWN0X193cmFwcGVyIC5jb2x1bW5zOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNlY3Rpb24tY29udGFjdC1nYWJvbiAuY29udGFjdF9fd3JhcHBlciAuY29sdW1uOm5vdCg6Zmlyc3QtY2hpbGQpIC5jb250YWN0X19pdGVtLCAuc2VjdGlvbi1jb250YWN0LWdhYm9uIC5jb250YWN0X193cmFwcGVyIC5jb2x1bW5zOm5vdCg6Zmlyc3QtY2hpbGQpIC5jb250YWN0X19pdGVtLCAuc2VjdGlvbi1jb250YWN0LWFuZ29sYSAuY29udGFjdF9fd3JhcHBlciAuY29sdW1uOm5vdCg6Zmlyc3QtY2hpbGQpIC5jb250YWN0X19pdGVtLCAuc2VjdGlvbi1jb250YWN0LWFuZ29sYSAuY29udGFjdF9fd3JhcHBlciAuY29sdW1uczpub3QoOmZpcnN0LWNoaWxkKSAuY29udGFjdF9faXRlbSB7XG4gICAgcGFkZGluZy10b3A6IDEuMjVyZW07IH0gfVxuXG4uc2VjdGlvbi1jb250YWN0IC5jb250YWN0IC5pY29uLWNvbnRhY3RzIHtcbiAgaGVpZ2h0OiAzLjc1cmVtO1xuICB3aWR0aDogMy43NXJlbTtcbiAgbWFyZ2luOiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwM0E1NjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMC44NzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLWNvbnRhY3QgLmNvbnRhY3QgLmljb24tY29udGFjdHMge1xuICAgICAgaGVpZ2h0OiA2LjU2MjVyZW07XG4gICAgICB3aWR0aDogNi41NjI1cmVtO1xuICAgICAgdG9wOiA1Mi41cHg7XG4gICAgICBwYWRkaW5nLXRvcDogMS41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi1jb250YWN0IC5jb250YWN0IC5pY29uLWNvbnRhY3RzIHtcbiAgICAgIGhlaWdodDogOC43NXJlbTtcbiAgICAgIHdpZHRoOiA4Ljc1cmVtO1xuICAgICAgdG9wOiA3MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDIuNXJlbTsgfSB9XG4gIC5zZWN0aW9uLWNvbnRhY3QgLmNvbnRhY3QgLmljb24tY29udGFjdHM6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDEuNjg3NXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2VjdGlvbi1jb250YWN0IC5jb250YWN0IC5pY29uLWNvbnRhY3RzOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tY29udGFjdCAuY29udGFjdCAuaWNvbi1jb250YWN0czpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDMuNzVyZW07IH0gfVxuXG4uc2VjdGlvbi1jb250YWN0IC5jb250YWN0X19pdGVtIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICBwYWRkaW5nOiAxNXB4O1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjA2MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLWNvbnRhY3QgLmNvbnRhY3RfX2l0ZW0ge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDYuMjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlY3Rpb24tY29udGFjdCAuY29udGFjdF9faXRlbSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgcGFkZGluZzogMy4xMjVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogOC4xMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiA0LjM3NXJlbTsgfSB9XG4gIC5zZWN0aW9uLWNvbnRhY3QgLmNvbnRhY3RfX2l0ZW0gc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICMzMDNBNTY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY3Rpb24tY29udGFjdCAuY29udGFjdF9faXRlbSBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24tY29udGFjdCAuY29udGFjdF9faXRlbSBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgLnNlY3Rpb24tY29udGFjdCAuY29udGFjdF9faXRlbSBhIHtcbiAgICBjb2xvcjogIzVGNzE4QjsgfVxuICAgIC5zZWN0aW9uLWNvbnRhY3QgLmNvbnRhY3RfX2l0ZW0gYTpob3ZlciwgLnNlY3Rpb24tY29udGFjdCAuY29udGFjdF9faXRlbSBhOmZvY3VzLCAuc2VjdGlvbi1jb250YWN0IC5jb250YWN0X19pdGVtIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjRkY4RTAwOyB9XG4gIC5zZWN0aW9uLWNvbnRhY3QgLmNvbnRhY3RfX2l0ZW0gcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzsgfVxuXG4uc2VjdGlvbi1jb250YWN0IC5jb250YWN0X19lbWFpbCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnNlY3Rpb24tY29udGFjdCAuY29udGFjdF9fdGl0bGUge1xuICBjb2xvcjogI0ZGOEUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi1jb250YWN0IC5jb250YWN0X190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuXG5mb3JtLmhpZGRlbi1sYWJlbCBsYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsgfVxuXG5mb3JtLmhpZGRlbi1sYWJlbCBpbnB1dDpub3QoLmJ1dHRvbiksIGZvcm0uaGlkZGVuLWxhYmVsIHNlbGVjdCwgZm9ybS5oaWRkZW4tbGFiZWwgdGV4dGFyZWEge1xuICBib3JkZXItY29sb3I6ICM1RjcxOEI7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgcGFkZGluZy10b3A6IDAuNjg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBmb3JtLmhpZGRlbi1sYWJlbCBpbnB1dDpub3QoLmJ1dHRvbiksIGZvcm0uaGlkZGVuLWxhYmVsIHNlbGVjdCwgZm9ybS5oaWRkZW4tbGFiZWwgdGV4dGFyZWEge1xuICAgICAgaGVpZ2h0OiAzLjc1cmVtOyB9IH1cblxuZm9ybS5oaWRkZW4tbGFiZWwgdGV4dGFyZWEge1xuICBwYWRkaW5nLXRvcDogMS4zNzVyZW07XG4gIGhlaWdodDogOC43NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGZvcm0uaGlkZGVuLWxhYmVsIHRleHRhcmVhIHtcbiAgICAgIGhlaWdodDogMTYuODc1cmVtOyB9IH1cblxuZm9ybS5oaWRkZW4tbGFiZWwgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGZvcm0uaGlkZGVuLWxhYmVsIHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xuICBjb2xvcjogI0FDQjlCRTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGZvcm0uaGlkZGVuLWxhYmVsIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBmb3JtLmhpZGRlbi1sYWJlbCB0ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuZm9ybS5oaWRkZW4tbGFiZWwgaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIGZvcm0uaGlkZGVuLWxhYmVsIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgLyogRmlyZWZveCAxOSsgKi9cbiAgY29sb3I6ICNBQ0I5QkU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBmb3JtLmhpZGRlbi1sYWJlbCBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgZm9ybS5oaWRkZW4tbGFiZWwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG5cbmZvcm0uaGlkZGVuLWxhYmVsIGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgZm9ybS5oaWRkZW4tbGFiZWwgdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgLyogSUUgMTArICovXG4gIGNvbG9yOiAjQUNCOUJFO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgZm9ybS5oaWRkZW4tbGFiZWwgaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBmb3JtLmhpZGRlbi1sYWJlbCB0ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG5cbmZvcm0uaGlkZGVuLWxhYmVsIGlucHV0Oi1tb3otcGxhY2Vob2xkZXIsIGZvcm0uaGlkZGVuLWxhYmVsIHRleHRhcmVhOi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE4LSAqL1xuICBjb2xvcjogI0FDQjlCRTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGZvcm0uaGlkZGVuLWxhYmVsIGlucHV0Oi1tb3otcGxhY2Vob2xkZXIsIGZvcm0uaGlkZGVuLWxhYmVsIHRleHRhcmVhOi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG5cbmZvcm0uaGlkZGVuLWxhYmVsIHNlbGVjdCwgZm9ybS5oaWRkZW4tbGFiZWwgLnJlcXVpcmVkLWZpZWxkcyB7XG4gIGNvbG9yOiAjQUNCOUJFO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgZm9ybS5oaWRkZW4tbGFiZWwgc2VsZWN0LCBmb3JtLmhpZGRlbi1sYWJlbCAucmVxdWlyZWQtZmllbGRzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG5mb3JtLmhpZGRlbi1sYWJlbCBpbnB1dC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3MThCO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1pbi13aWR0aDogMDtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIHBhZGRpbmctdG9wOiAwLjY4NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGZvcm0uaGlkZGVuLWxhYmVsIGlucHV0LmJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgZm9ybS5oaWRkZW4tbGFiZWwgaW5wdXQuYnV0dG9uOmhvdmVyLCBmb3JtLmhpZGRlbi1sYWJlbCBpbnB1dC5idXR0b246Zm9jdXMsIGZvcm0uaGlkZGVuLWxhYmVsIGlucHV0LmJ1dHRvbjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjhFMDA7IH1cblxuZm9ybS5oaWRkZW4tbGFiZWwgLnJlcXVpcmVkLWZpZWxkcyB7XG4gIGZvbnQtc2l6ZTogMC41NjI1cmVtO1xuICBmb250LXdlaWdodDogMzAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZm9ybS5oaWRkZW4tbGFiZWwgLnJlcXVpcmVkLWZpZWxkcyB7XG4gICAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBmb3JtLmhpZGRlbi1sYWJlbCAucmVxdWlyZWQtZmllbGRzIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG5cbi5zZWN0aW9uLWVycm9yNDA0IHtcbiAgbWFyZ2luLWJvdHRvbTogOS4zNzVyZW07XG4gIG1hcmdpbi10b3A6IDVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi1lcnJvcjQwNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMi41cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMTIuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlY3Rpb24tZXJyb3I0MDQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTUuNjI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMTUuNjI1cmVtOyB9IH1cbiAgLnNlY3Rpb24tZXJyb3I0MDQgLmVycm9yIHtcbiAgICBjb2xvcjogIzMwM0E1NjsgfVxuICAgIC5zZWN0aW9uLWVycm9yNDA0IC5lcnJvcl9fdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDUuNjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tZXJyb3I0MDQgLmVycm9yX190aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiA3LjVyZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zZWN0aW9uLWVycm9yNDA0IC5lcnJvcl9fdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTUuNjI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIC5zZWN0aW9uLWVycm9yNDA0IC5lcnJvcl9fY29udGVudCB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tZXJyb3I0MDQgLmVycm9yX19jb250ZW50IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tZXJyb3I0MDQgLmVycm9yX19jb250ZW50IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfSB9XG5cbi5zZWN0aW9uLW1lbnRpb25zIC5zZWN0aW9uX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLnNlY3Rpb24tbWVudGlvbnMgLnNlY3Rpb25fX2NvbnRlbnQgaDIge1xuICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnNlY3Rpb24tbWVudGlvbnMgLnNlY3Rpb25fX2NvbnRlbnQgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH0gfVxuXG4uc2VjdGlvbi1tZW50aW9ucyAuc2VjdGlvbl9fY29udGVudCBhIHtcbiAgY29sb3I6ICNGRjhFMDA7IH1cbiAgLnNlY3Rpb24tbWVudGlvbnMgLnNlY3Rpb25fX2NvbnRlbnQgYTpob3ZlciwgLnNlY3Rpb24tbWVudGlvbnMgLnNlY3Rpb25fX2NvbnRlbnQgYTpmb2N1cywgLnNlY3Rpb24tbWVudGlvbnMgLnNlY3Rpb25fX2NvbnRlbnQgYTphY3RpdmUge1xuICAgIGNvbG9yOiAjMzAzQTU2OyB9XG5cbi5zaXRlLWZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDNBNTY7XG4gIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaXRlLWZvb3RlciB7XG4gICAgICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgLnNpdGUtZm9vdGVyIC5zaXRlLWxvZ28ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zaXRlLWZvb3RlciAuc2l0ZS1sb2dvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zaXRlLWZvb3RlciAuc2l0ZS1sb2dvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNC4zNzVyZW07IH0gfVxuICAuc2l0ZS1mb290ZXIgYSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuICAgIC5zaXRlLWZvb3RlciBhOmhvdmVyLCAuc2l0ZS1mb290ZXIgYTpmb2N1cywgLnNpdGUtZm9vdGVyIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjRkY4RTAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zaXRlLWZvb3RlciBhIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyIGEge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgLnNpdGUtZm9vdGVyX190b3AsIC5zaXRlLWZvb3Rlcl9fbWlkZGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNpdGUtZm9vdGVyX19uYXYgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNpdGUtZm9vdGVyX19uYXYge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgICAgLnNpdGUtZm9vdGVyX19uYXYgYSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNpdGUtZm9vdGVyX19uYXYge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTdweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE3cHg7XG4gICAgICBtYXgtd2lkdGg6IDE5MHB4OyB9XG4gICAgICAuc2l0ZS1mb290ZXJfX25hdiBhIHtcbiAgICAgICAgcGFkZGluZzogMC4xODc1cmVtIDAgIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50OyB9IH1cbiAgLnNpdGUtZm9vdGVyX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2l0ZS1mb290ZXJfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgICAgIC5zaXRlLWZvb3Rlcl9fdGl0bGUgYSB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5zaXRlLWZvb3Rlcl9fYm90dG9tIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMy43NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2l0ZS1mb290ZXJfX2JvdHRvbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQuMzc1cmVtOyB9IH1cbiAgICAuc2l0ZS1mb290ZXJfX2JvdHRvbSB1bCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuc2l0ZS1mb290ZXJfX2JvdHRvbSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMC41NjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuc2l0ZS1mb290ZXJfX2JvdHRvbSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zaXRlLWZvb3Rlcl9fYm90dG9tIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50IHtcbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgLnNpdGUtaGVhZGVyLCAuYnV0dG9uLCAuc2VjdGlvbl9fYmctaW1hZ2UsIC5zaXRlLWZvb3RlciwgLmRlbGl2ZXJ5X19pbWcsICNtYXAsIGZvcm0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOyB9IH1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5cbkBpbXBvcnQgJ2JvdXJib24nO1xuJFpvbmFQcm8tZmlsZS1mb3JtYXRzOiBlb3Qgd29mZjIgd29mZiB0dGY7XG5cbi8qIEBpbXBvcnQgbXVzdCBiZSBhdCB0b3Agb2YgZmlsZSwgb3RoZXJ3aXNlIENTUyB3aWxsIG5vdCB3b3JrICovXG5AaW1wb3J0IHVybChcIi8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvMzM0NmY3XCIpO1xuLy8gQGluY2x1ZGUgZm9udC1mYWNlKFwiWm9uYSBQcm9cIiwgXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfMF8wXCIsIDgwMCwgbm9ybWFsLCAkZmlsZS1mb3JtYXRzOiAkWm9uYVByby1maWxlLWZvcm1hdHMpOy8vIEJsYWNrIG5vcm1hbFxuLy8gQGluY2x1ZGUgZm9udC1mYWNlKFwiWm9uYSBQcm9cIiwgXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfMV8wXCIsIDgwMCwgaXRhbGljLCAkZmlsZS1mb3JtYXRzOiAkWm9uYVByby1maWxlLWZvcm1hdHMpOy8vIEJsYWNrIGl0YWxpY1xuXG4vLyBAaW5jbHVkZSBmb250LWZhY2UoXCJab25hIFByb1wiLCBcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN18yXzBcIiwgNzAwLCBub3JtYWwsICRmaWxlLWZvcm1hdHM6ICRab25hUHJvLWZpbGUtZm9ybWF0cyk7Ly8gRXh0cmFCb2xkIG5vcm1hbFxuLy8gQGluY2x1ZGUgZm9udC1mYWNlKFwiWm9uYSBQcm9cIiwgXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfNF8wXCIsIDcwMCwgaXRhbGljLCAkZmlsZS1mb3JtYXRzOiAkWm9uYVByby1maWxlLWZvcm1hdHMpOy8vIEV4dHJhQm9sZCBpdGFsaWNcblxuQGluY2x1ZGUgZm9udC1mYWNlKFwiWm9uYSBQcm9cIiwgXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfM18wXCIsIDYwMCwgbm9ybWFsLCAkZmlsZS1mb3JtYXRzOiAkWm9uYVByby1maWxlLWZvcm1hdHMpOy8vIEJvbGQgbm9ybWFsXG5AaW5jbHVkZSBmb250LWZhY2UoXCJab25hIFByb1wiLCBcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN181XzBcIiwgNjAwLCBpdGFsaWMsICRmaWxlLWZvcm1hdHM6ICRab25hUHJvLWZpbGUtZm9ybWF0cyk7Ly8gQm9sZCBpdGFsaWNcblxuQGluY2x1ZGUgZm9udC1mYWNlKFwiWm9uYSBQcm9cIiwgXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfRl8wXCIsIDUwMCwgbm9ybWFsLCAkZmlsZS1mb3JtYXRzOiAkWm9uYVByby1maWxlLWZvcm1hdHMpOy8vIFNlbWlCb2xkIG5vcm1hbFxuQGluY2x1ZGUgZm9udC1mYWNlKFwiWm9uYSBQcm9cIiwgXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfQ18wXCIsIDUwMCwgaXRhbGljLCAkZmlsZS1mb3JtYXRzOiAkWm9uYVByby1maWxlLWZvcm1hdHMpOy8vIFNlbWlCb2xkIGl0YWxpY1xuXG5AaW5jbHVkZSBmb250LWZhY2UoXCJab25hIFByb1wiLCBcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN19BXzBcIiwgNDAwLCBub3JtYWwsICRmaWxlLWZvcm1hdHM6ICRab25hUHJvLWZpbGUtZm9ybWF0cyk7Ly8gUmVndWxhciBub3JtYWxcbkBpbmNsdWRlIGZvbnQtZmFjZShcIlpvbmEgUHJvXCIsIFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3X0JfMFwiLCA0MDAsIGl0YWxpYywgJGZpbGUtZm9ybWF0czogJFpvbmFQcm8tZmlsZS1mb3JtYXRzKTsvLyBSZWd1bGFyIGl0YWxpY1xuXG5AaW5jbHVkZSBmb250LWZhY2UoXCJab25hIFByb1wiLCBcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN184XzBcIiwgMzAwLCBub3JtYWwsICRmaWxlLWZvcm1hdHM6ICRab25hUHJvLWZpbGUtZm9ybWF0cyk7Ly8gTGlnaHQgbm9ybWFsXG5AaW5jbHVkZSBmb250LWZhY2UoXCJab25hIFByb1wiLCBcIi4uL2ZvbnRzL3pvbmEtcHJvLzMzNDZGN185XzBcIiwgMzAwLCBpdGFsaWMsICRmaWxlLWZvcm1hdHM6ICRab25hUHJvLWZpbGUtZm9ybWF0cyk7Ly8gTGlnaHQgaXRhbGljXG5cbkBpbmNsdWRlIGZvbnQtZmFjZShcIlpvbmEgUHJvXCIsIFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3X0RfMFwiLCAyMDAsIG5vcm1hbCwgJGZpbGUtZm9ybWF0czogJFpvbmFQcm8tZmlsZS1mb3JtYXRzKTsvLyBUaGluIG5vcm1hbFxuQGluY2x1ZGUgZm9udC1mYWNlKFwiWm9uYSBQcm9cIiwgXCIuLi9mb250cy96b25hLXByby8zMzQ2RjdfRV8wXCIsIDIwMCwgaXRhbGljLCAkZmlsZS1mb3JtYXRzOiAkWm9uYVByby1maWxlLWZvcm1hdHMpOy8vIFRoaW4gaXRhbGljXG5cbi8vIEBpbmNsdWRlIGZvbnQtZmFjZShcIlpvbmEgUHJvXCIsIFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3XzZfMFwiLCAxMDAsIG5vcm1hbCwgJGZpbGUtZm9ybWF0czogJFpvbmFQcm8tZmlsZS1mb3JtYXRzKTsvLyBIYWlybGluZSBub3JtYWxcbi8vIEBpbmNsdWRlIGZvbnQtZmFjZShcIlpvbmEgUHJvXCIsIFwiLi4vZm9udHMvem9uYS1wcm8vMzM0NkY3XzdfMFwiLCAxMDAsIGl0YWxpYywgJGZpbGUtZm9ybWF0czogJFpvbmFQcm8tZmlsZS1mb3JtYXRzKTsvLyBIYWlybGluZSBpdGFsaWNcblxuQGltcG9ydCAnYmFzZS9hcHAnO1xuQGltcG9ydCBcImJhc2UvbWl4aW5zXCI7XG5AaW1wb3J0IFwiYmFzZS9jb21tb25cIjtcbkBpbXBvcnQgXCJiYXNlL2ljb25zXCI7XG5AaW1wb3J0ICd2ZW5kb3IvY29va2llY3V0dHInO1xuQGltcG9ydCAncGx1Z2lucy9vd2wuY2Fyb3VzZWwnO1xuQGltcG9ydCAncGx1Z2lucy9oYW1idXJnZXInO1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFTEVNRU5UUyBHUkFQSElRVUVTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLmJ1dHRvbntcblx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblx0bWluLXdpZHRoOiByZW0tY2FsYygyNDApO1xuXHR3aWR0aDogYXV0bztcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwKTtcblx0cGFkZGluZzogcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDUwKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDE1KSByZW0tY2FsYyg3MCk7XG5cdH1cblx0QGluY2x1ZGUgaWNvbihhZnRlciwgYXJyb3ctcmlnaHQpO1xuXHRzcGFue1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcztcblx0fVxuXHQmOmFmdGVye1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMTAwJTtcblx0ICAgIGhlaWdodDogYXV0bztcblx0ICAgIHJpZ2h0OiAtNDAlO1xuXHQgICAgdG9wOiA1MCU7XG5cdCAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtcblx0ICAgIGxpbmUtaGVpZ2h0OiAzO1xuXHQgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cdCAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdCAgICBcdCBsaW5lLWhlaWdodDogMi42O1xuXHQgICAgfVxuXHR9XG5cdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZle1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0c3Bhbntcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAlKTtcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cdFx0JjphZnRlcntcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdH1cblx0XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdG1pbi13aWR0aDogcmVtLWNhbGMoMzYwKTtcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYyg4MCk7XG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApOyBcblx0XHQmOmFmdGVye1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdG1pbi13aWR0aDogcmVtLWNhbGMoNDgwKTtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxMTApO1xuXHR9XG59XG4uc21hbGwtcm93e1xuXHRtYXgtd2lkdGg6IHJlbS1jYWxjKDkzMCk7XG59XG5cbi5yZXZlYWx7XG5cdGhlaWdodDogYXV0bztcblx0bWluLWhlaWdodDogMDtcblx0Ly8gcGFkZGluZzogMDtcblx0d2lkdGg6IHJlbS1jYWxjKDg4NSk7XG5cdG1heC13aWR0aDogMTAwJTtcblx0Ly8gdHJhbnNpdGlvbjogYWxsIDAuM3M7XG59XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ0FST1VTRUwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG4ub3dsLW5hdntcblx0QGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBUWVBPR1JBUEhJRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbmgxe1xuXHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBMT0dPIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLnNpdGUtbG9nb3tcblx0YmFja2dyb3VuZDogdXJsKCcuLi9pbWcvbG9nby13aGl0ZS5zdmcnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiA5OXB4IDI0cHg7XG5cdGhlaWdodDogcmVtLWNhbGMoMjQpO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiByZW0tY2FsYyg5OSk7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDE0OCkgcmVtLWNhbGMoMzYpO1xuXHRcdGhlaWdodDogcmVtLWNhbGMoMzYpO1xuXHRcdHdpZHRoOiByZW0tY2FsYygxNDgpO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMjY3cHggNjVweDtcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDY1KTtcblx0XHR3aWR0aDogcmVtLWNhbGMoMjY3KTtcblx0fVxufVxuLnNpdGUtZm9vdGVye1xuXHQuc2l0ZS1sb2dve1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMTIwcHggMzBweDtcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcblx0XHR3aWR0aDogcmVtLWNhbGMoMTIwKTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDIwMCkgcmVtLWNhbGMoNDgpO1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg0OCk7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMjAwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDI2N3B4IDY1cHg7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDY1KTtcblx0XHRcdHdpZHRoOiByZW0tY2FsYygyNjcpO1xuXHRcdH1cblx0fVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gSEVBREVSIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLnNpdGUtaGVhZGVye1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcblx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDQwKTtcblx0fVxuXHQmX19sb2dve1xuXHRcdC5zaXRlLWxvZ297XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQudGl0bGUtYmFye1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0Ji1sZWZ0IHtcblx0XHRcdCAgICBmbG9hdDogbm9uZTtcblx0XHRcdCAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5tZW51e1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVx0XHRcblx0XHRsaXtcblx0XHRcdHVse1xuXHRcdFx0XHRsaS5hY3RpdmV7XG5cdFx0XHRcdFx0YS5pdGVtLW5pdi0ye1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXG5cdFx0XHRcdCY6bm90KDpsYXN0LW9mLXR5cGUpe1xuXHRcdFx0XHRcdGE6YWZ0ZXJ7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBub25lIWltcG9ydGFudDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Jjpub3QoLmlzLXN1Ym1lbnUtaXRlbSl7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xuXHRcdFx0XHRcdCY6bGFzdC1vZi10eXBle1xuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygzNikhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0YXtcblx0XHRcdFx0XHRcdFx0JjphZnRlcntcblx0XHRcdFx0XHRcdFx0XHRyaWdodDogLTEwcHghaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoMSk7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMzApO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0bGVmdDogcmVtLWNhbGMoMzApO1xuXHRcdFx0XHRcdFx0XHR0b3A6IHJlbS1jYWxjKDEwKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdC5zdWJtZW51e1xuXHRcdFx0XHRcdFx0XHRtaW4td2lkdGg6IHJlbS1jYWxjKDEwMCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ+YXtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCkhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRhe1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCYuaXRlbS1uaXYtMntcblx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDgpO1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4KTtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZle1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCYuaXRlbS1uaXYtMXtcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXHRcdFx0XHRcdHNwYW57XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDUpO1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoNSk7XG5cdFx0XHRcdFx0XHQmOmFmdGVye1xuXHRcdFx0XHRcdFx0XHRyaWdodDogLTE2cHg7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICR3aGl0ZSFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci10b3Atd2lkdGg6IHJlbS1jYWxjKDQpIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQtd2lkdGg6IHJlbS1jYWxjKDQpIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiByZW0tY2FsYyg0KSFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZle1xuXHRcdFx0XHRcdFx0c3BhbjphZnRlcntcblx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoNSk7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdGJvdHRvbTogLTEwcHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudHtcblx0XHRcdFx0Jjpub3QoOmxhc3Qtb2YtdHlwZSl7XG5cdFx0XHRcdFx0PiBhOmFmdGVye1xuXHRcdFx0XHRcdFx0Y29udGVudDogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0JjpsYXN0LW9mLXR5cGV7XG5cdFx0XHRcdFx0Ym9yZGVyLXRvcDogcmVtLWNhbGMoMSkgc29saWQgJHdoaXRlO1xuXHRcdFx0XHRcdD4gYTphZnRlcntcblx0XHRcdFx0XHRcdHJpZ2h0OiAtMTZweDtcblx0XHRcdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdGJvcmRlci10b3Atd2lkdGg6IHJlbS1jYWxjKDQpO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQtd2lkdGg6IHJlbS1jYWxjKDQpO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiByZW0tY2FsYyg0KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0YXtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuXHRcdFx0XHRcdFx0Ji5pdGVtLW5pdi0xe1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuc3VibWVudXtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0XHRcdFx0bGkuYWN0aXZle1xuXHRcdFx0XHRcdFx0XHRhe1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRhe1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0XHRcdFx0XHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZle1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiRzZWNvbmRhcnktY29sb3I7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYuYWN0aXZle1xuXHRcdFx0XHQ+IGF7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRhe1xuXHRcdFx0XHRcdCYuaXRlbS1uaXYtMXtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0c3BhbjphZnRlcntcblx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoNSk7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdGJvdHRvbTogLTEwcHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJde1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygxNSk7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG5cdFx0XHRcdCYuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50e1xuXHRcdFx0XHRcblx0XHRcdFx0XHQmOmxhc3Qtb2YtdHlwZXtcblxuXHRcdFx0XHRcdFx0PiBhOmFmdGVye1xuXHRcdFx0XHRcdFx0XHRib3JkZXItdG9wLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0YS5pdGVtLW5pdi0xe1xuXHRcdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpe1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuc3VibWVudXtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxNSk7XG5cdFx0XHRcdFx0YXtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTRUNUSU9OUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cbi5zZWN0aW9ue1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG5cdG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwKTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYwKTtcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYyg2MCk7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxMDApO1xuXHR9XG5cdCZfX2ludHJve1xuXHRcdHNwYW57XG5cdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblx0XHR9XG5cdH1cblx0Ji0tcHJpbWFyeS1iZ2NvbG9ye1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0MCk7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg0MCk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuXHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcblx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygxMDApO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0XHQuc2VjdGlvbl9fdGl0bGV7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0XHRzcGFue1xuXHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRib3JkZXItdG9wLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdH1cblx0XHRcdFx0JjphZnRlcntcblx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Jl9fdGl0bGV7XG5cdFx0Y29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC13ZWlnaHQ6IDEwMDtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoNTApO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoODApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwMCk7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxMDApO1xuXHRcdH1cblx0XHRzcGFue1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDE1KSA7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygxNSk7XG5cdFx0XHQmOmJlZm9yZSwgJjphZnRlcntcblx0XHRcdFx0Y29udGVudDpcIlwiO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdGJvcmRlci10b3A6IHNvbGlkIHJlbS1jYWxjKDUpICRib2R5LWZvbnQtY29sb3I7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IHNvbGlkIHJlbS1jYWxjKDUpICRib2R5LWZvbnQtY29sb3I7XG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcblx0XHR9XG5cdH1cbn1cbi5zZWN0aW9uLWFib3V0e1xuXHRtYXJnaW4tdG9wOiAwO1xuXHQuc2VjdGlvbl9fY29udGVudHtcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDApO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg2MCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDEwMCk7XG5cdFx0fVxuXHR9XG5cdC5zZWN0aW9uX19iZy1pbWFnZXtcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDE1MCk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9iYW5uZXItaG9tZS5qcGcnKTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGF7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRcdHdpZHRoOiByZW0tY2FsYyg0MCk7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHBhZGRpbmctdG9wOiA1cHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRib3R0b206IC0yMHB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0yMHB4O1xuXHRcdFx0aXtcblx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyOCk7XG5cdFx0XHRcdCAgICBjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoMjUwKTtcblx0XHRcdGF7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzVweDtcblx0XHRcdCAgICB3aWR0aDogcmVtLWNhbGMoNTApO1xuXHRcdFx0ICAgIGhlaWdodDogcmVtLWNhbGMoNTApO1xuXHRcdFx0ICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyKTtcblx0XHRcdCAgICBib3R0b206IC0yNXB4O1xuXHRcdFx0ICAgIG1hcmdpbi1sZWZ0OiAtMjVweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDM2MCk7XG5cdFx0fVxuXHR9XG59XG4uc2VjdGlvbl9fdmlkZW97XG5cdFx0YXtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWF4LXdpZHRoOiA3MTBweDtcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGl7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdHRvcDogNTAlO1xuICAgIFx0XHRcdG1hcmdpbi10b3A6IC0yNXB4O1xuXHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcblx0XHRcdFx0XHRoZWlnaHQ6IDUwcHg7XG5cdFx0XHRcdFx0d2lkdGg6IDUwcHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTMpO1xuICAgIFx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygzKTs7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZle1xuXHRcdFx0XHRpOmJlZm9yZXtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHR9XG5cdFx0aW1ne1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIHJlbS1jYWxjKDMwKSByZ2JhKCRibGFjaywgMC43KTtcblx0XHR9XG5cdFx0Ji1nYWJvbntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDQwKTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0MCk7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMwKTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDMwKTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtMTVweDtcblx0XHRcdG1hcmdpbi1yaWdodDogLTE1cHg7XG5cblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcwKTtcblx0XHR9XG5cdH1cbi5zZWN0aW9uLW9mZmVye1xuXHR1bHtcblx0XHRsaXtcblx0XHRcdGF7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRAaW5jbHVkZSBpY29uKGJlZm9yZSwgZ2xhc3MpO1xuXHRcdFx0XHQub2ZmZXJfX3Byb2R1Y3R7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHotaW5kZXg6IDEwO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjNzO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6YWZ0ZXIsICY6YmVmb3Jle1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcztcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDM1KTtcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IC00MHB4O1xuXHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0ei1pbmRleDogMjtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmFmdGVye1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0ei1pbmRleDogMTtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwgMC45KTtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmV7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdC5vZmZlcl9fcHJvZHVjdHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6YWZ0ZXIsICY6YmVmb3Jle1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRzcGFue1xuXHRcdFx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0aW1ne1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHQgICAgbWFyZ2luOiBhdXRvO1xuXHRcdFx0XHQgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG5cdFx0XHRcdCAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4uc2VjdGlvbi1zaXRlc3tcblx0ZmlndXJle1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0aW1ne1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0fVxuXHR9XG5cdGZpZ2NhcHRpb257XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIFx0XHRsZWZ0OiAtNjBweDtcbiAgICBcdFx0Ym90dG9tOiAzMHB4O1xuXHRcdH1cblx0XHR1bHtcblx0XHRcdGxpe1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiA0OSU7XG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuXHRcdFx0XHRmb250LXdlaWdodDogMTAwO1xuXHRcdFx0XHRjb2xvcjokbGVnZW5kO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuICAgIFx0XHRcdGZvbnQtc3R5bGU6IGluaXRpYWw7XG4gICAgXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgIFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG4gICAgXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBcdFx0XHRcdHdpZHRoOiAxMDAlO1xuICAgIFx0XHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBcdFx0XHRcdFxuICAgIFx0XHRcdH1cbiAgICBcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcbiAgICBcdFx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzUpO1xuICAgIFx0XHRcdH1cbiAgICBcdFx0XHQmOmZpcnN0LW9mLXR5cGU6YmVmb3JlLCAmOmxhc3Qtb2YtdHlwZTpiZWZvcmV7XG4gICAgXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMjQpO1xuXHRcdFx0XHRcdHdpZHRoOiByZW0tY2FsYygyNCk7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0XHRcdHRvcDogLTVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcblx0XHRcdFx0XHRcdHdpZHRoOiByZW0tY2FsYygzMCk7XG5cdFx0XHRcdFx0fVxuICAgIFx0XHRcdH1cblx0XHRcdFx0JjpmaXJzdC1vZi10eXBle1xuXHRcdFx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxlZ2VuZDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0JjpsYXN0LW9mLXR5cGV7XG5cdFx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0XHRib3JkZXI6IHNvbGlkIHJlbS1jYWxjKDEpICRsZWdlbmQ7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9iZy1sZWdlbmQucG5nJyk7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQubWFwe1xuXHRcdHdpZHRoOiByZW0tY2FsYyg3MDApO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDMwMCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpe1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDQ3Nyk7XG5cdFx0fVxuXHR9XG5cdC5sb2dve1xuXHRcdHdpZHRoOiByZW0tY2FsYyg5MCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgIFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDEyMik7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogLTYwcHg7XG4gICAgXHRcdHRvcDogNTVweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMTUwKTtcblx0XHRcdHJpZ2h0OiAtNjVweDtcblx0ICAgIFx0dG9wOiA5NXB4O1xuXHRcdH1cblx0fVxufVxuLnNlY3Rpb24tdGltZWxpbmV7XG5cdCZfX21vcmV7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgdG9wOiByZW0tY2FsYygyNSk7XG5cdCAgICBsZWZ0OiAwO1xuXHQgICAgei1pbmRleDogNjtcblx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0ICAgIFx0bGVmdDogNTAlO1xuXHQgICBcdCBcdG1hcmdpbi1sZWZ0OiAtMjBweDtcblx0ICAgIH1cblx0ICAgIGF7XG5cdCAgICBcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibHVlO1xuXHRcdCAgICB3aWR0aDogNDBweDtcblx0XHQgICAgaGVpZ2h0OiA0MHB4O1xuXHRcdCAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcblx0XHQgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdCAgICBwYWRkaW5nLXRvcDogOHB4O1xuXHRcdCAgICBkaXNwbGF5OiBibG9jaztcblx0XHQgICAgaTpiZWZvcmV7XG5cdFx0ICAgIFx0Y29sb3I6ICR3aGl0ZTtcblx0XHQgICAgXHRmb250LXNpemU6IHJlbS1jYWxjKDExKTtcblx0XHQgICAgfVxuXHQgICAgfVxuXHR9XG5cdCZfX3dyYXBwZXJ7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdC8vIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XG5cdFx0Ly8gcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcblx0XHQmOmJlZm9yZXtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ICAgIHRvcDogMDtcblx0XHQgICAgbGVmdDogMThweDtcblx0XHQgICAgaGVpZ2h0OiAxMDAlO1xuXHRcdCAgICB3aWR0aDogcmVtLWNhbGMoNSk7XG5cdFx0ICAgIGJhY2tncm91bmQ6ICRsaWdodC1ibHVlO1xuXHRcdCAgICB6LWluZGV4OiAzO1xuXHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHQgICAgbGVmdDogNTAlO1xuXHRcdFx0ICAgIG1hcmdpbi1sZWZ0OiAtMi41cHg7XG5cdFx0ICAgIH1cblx0XHR9XG5cdH1cblx0Jl9fY29udGVudHtcblx0XHRtYXJnaW4tbGVmdDogNjBweDtcblx0ICAgIC8vIHBhZGRpbmc6IDE1cHg7XG5cdCAgIFxuXHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHQgICAgcHtcblx0ICAgIFx0ZGlzcGxheTogbm9uZTtcblx0ICAgIFx0Zm9udC1zaXplOiByZW0tY2FsYygxMSk7XG5cdCAgICBcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHQgICAgXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXHQgICAgXHR9XG5cdCAgICB9XG5cdCAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdCAgICBcdG1hcmdpbi1sZWZ0OiAwO1xuXHQgICAgXHR3aWR0aDogNDIlO1xuXHQgICAgfVxuXHR9XG5cdCZfX2ltZ3tcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdC5pbWctY29udGFpbmVye1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDI0MCk7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDIzMCk7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYygyNTcpO1xuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDI0NSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0ICAgIFx0cG9zaXRpb246IGFic29sdXRlIWltcG9ydGFudDtcblx0XHRcdHJpZ2h0OiAxNXB4O1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtcblx0ICAgIFx0d2lkdGg6IDQyJSFpbXBvcnRhbnQ7XG5cdCAgICBcdHRleHQtYWxpZ246IGxlZnQ7XG5cdCAgICB9XG5cdH1cblx0Jl9fdGl0bGV7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblx0XHR9XG5cdFx0c3Bhbntcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCZfX2l0ZW17XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcztcblx0XHQmOmFmdGVye1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHQgICAgZGlzcGxheTogdGFibGU7XG5cdFx0ICAgIGNsZWFyOiBib3RoO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0MCk7XG5cdFx0XHQmOm50aC1jaGlsZChldmVuKXtcblx0XHRcdFx0LnNlY3Rpb24tdGltZWxpbmVfX2NvbnRlbnQge1xuXHRcdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5zZWN0aW9uLXRpbWVsaW5lX19pbWd7XG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0LmltZy1jb250YWluZXJ7XG5cdFx0XHRcdFx0XHQgICAgZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmlzLWFjdGl2ZXtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgIFx0XHRtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgXHRcdGNvbG9yOiAkd2hpdGU7XG4gICAgXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICBcdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICBcdFx0XHRwYWRkaW5nLXRvcDogNjBweDtcbiAgIFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgXHRcdH1cbiAgICBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG4gICAgXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG4gICAgXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuICAgIFx0XHR9XG4gICAgXHRcdC5zZWN0aW9uLXRpbWVsaW5lX19tb3Jle1xuICAgIFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG5cdFx0XHRcdFx0bGVmdDogMTBweDtcbiAgICBcdFx0XHR9XG4gICAgXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgIFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0yNXB4O1xuICAgIFx0XHRcdFx0dG9wOiA1MCU7XG4gICAgXHRcdFx0XHRtYXJnaW4tdG9wOiAtMjVweDtcbiAgICBcdFx0XHR9XG4gICAgXHRcdFx0XG4gICAgXHRcdFx0YXtcbiAgICBcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdFx0XHQgICAgd2lkdGg6IDUwcHg7XG5cdFx0XHRcdCAgICBoZWlnaHQ6IDUwcHg7XG5cdFx0XHRcdCAgICBwYWRkaW5nLXRvcDogMTZweDtcblx0XHRcdFx0ICAgIGk6YmVmb3Jle1xuXHRcdFx0XHQgICAgXHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRcdFx0ICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0XHRcdFx0XHQgICAgZm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHQgICAgfVxuICAgIFx0XHRcdH1cbiAgICBcdFx0XHRcbiAgICBcdFx0fVxuICAgIFx0XHQuc2VjdGlvbi10aW1lbGluZV9fY29udGVudHtcbiAgICBcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgXHRcdFx0fVxuICAgIFx0XHRcdFxuICAgIFx0XHRcdHB7XG4gICAgXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcbiAgICBcdFx0XHR9XG4gICAgXHRcdH1cbiAgICBcdFx0LnNlY3Rpb24tdGltZWxpbmVfX2ltZ3tcbiAgICBcdFx0XHRkaXNwbGF5OiBibG9jaztcbiAgICBcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgXHRcdFx0fVxuICAgIFx0XHRcdFxuICAgIFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5zZWN0aW9uLWV4cGVydGlzZXtcblx0LmV4cGVydGlzZXtcblx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDY2NSk7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcblx0XHR9XG5cdFx0Jjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmV7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHQvLyAuZXhwZXJ0aXNlX19hcnJvd3tcblx0XHQgLy8gICAgXHR3aWR0aDogOTQlO1xuXHRcdCAvLyAgICBcdCY6YWZ0ZXJ7XG5cdFx0IC8vICAgIFx0XHR0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7XG5cdFx0IC8vICAgIFx0fVxuXHRcdCAvLyAgICBcdH1cblx0XHQgLy8gICAgXHQuZXhwZXJ0aXNlX19jb250ZW50e1xuXHRcdCAvLyAgICBcdFx0b3BhY2l0eTogMTtcblx0XHQgLy8gICAgXHRcdEBpbmNsdWRlIHZlcnRpY2FsLWFsaWduO1xuXHRcdCAvLyAgICBcdH1cblx0XHQgICB9XG5cdFx0LmltZy1jb250YWluZXIgeyBcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoMzUwKTsgXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygzNzApO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmX19pbWd7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXHRcdCZfX2NvbnRlbnR7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDcwKTtcblx0XHRcdG9wYWNpdHk6IDA7XG4gICAgXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygzMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCZfX2Fycm93e1xuXHRcdFx0QGluY2x1ZGUgaWNvbihhZnRlciwgYXJyb3ctbGVmdCk7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdCAgICB0b3A6IDUlO1xuXHRcdCAgICByaWdodDogMyU7XG5cdFx0ICAgIGhlaWdodDogOTAlO1xuXHRcdCAgICB3aWR0aDogcmVtLWNhbGMoNjApO1xuXHRcdCAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0ICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuXHRcdCAgICBjb2xvcjogJHdoaXRlO1xuXHRcdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjk1KTtcblx0XHQgICAgJjphZnRlcntcblx0XHQgICAgXHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblx0XHQgICAgXHR0cmFuc2l0aW9uOiBhbGwgMC4zcztcblx0XHRcdCAgICBjb2xvcjogJHdoaXRlO1xuXHRcdFx0ICAgIHRvcDogNTAlO1xuXHRcdFx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdCAgICByaWdodDogMjBweDtcblx0XHRcdCAgICBtYXJnaW4tdG9wOiAtMTBweDtcblxuXHRcdCAgICB9XG5cdFx0ICAgICYuYWN0aXZle1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHQgICAgd2lkdGg6IDk0JTtcblx0XHRcdCAgICAmOmFmdGVye1xuXHRcdFx0ICAgIFx0dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO1xuXHRcdFx0ICAgIH1cblx0XHRcdCAgICAuZXhwZXJ0aXNlX19jb250ZW50e1xuXHRcdFx0ICAgIFx0b3BhY2l0eTogMTtcblx0XHRcdCAgICBcdEBpbmNsdWRlIHZlcnRpY2FsLWFsaWduO1xuXHRcdFx0ICAgIH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbi5zZWN0aW9uLWRhdGF7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xuXHQuc2VjdGlvbl9fdGl0bGV7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXHQuZGF0YS1pdGVte1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0ICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcblx0ICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblx0ICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzNSk7XG5cdCAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDM1KTtcblx0ICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcblx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0ICAgIFx0bWFyZ2luLWxlZnQ6IDA7XG5cdCAgICBcdG1hcmdpbi1yaWdodDogMDtcblx0ICAgIFx0cGFkZGluZzogcmVtLWNhbGMoMzApO1xuXHQgICAgfVxuXHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdCAgICBcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG5cdCAgICBcdHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcblx0ICAgIFx0cGFkZGluZy10b3A6IDA7XG5cdCAgICB9XG5cdCAgICBpe1xuXHQgICAgXHRkaXNwbGF5OiBibG9jaztcblx0XHQgICAgbWFyZ2luOiBhdXRvO1xuXHRcdCAgICBtYXJnaW4tYm90dG9tOiAtMTBweDtcblx0ICAgIFx0JjpiZWZvcmV7XG5cdCAgICBcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg4MCk7XG5cdCAgICBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdCAgICBcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyMCk7XG5cdCAgICBcdFx0fVxuXHQgICAgXHR9XG5cdCAgICB9XG5cdCAgICBwe1xuXHQgICAgXHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0ICAgIFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0ICAgIFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdCAgICBcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdCAgICBcdH1cblx0ICAgIFx0c3Bhbntcblx0ICAgIFx0XHRkaXNwbGF5OiBibG9jaztcblx0ICAgIFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcblx0ICAgIFx0XHRmb250LXdlaWdodDogNTAwO1xuXHQgICAgXHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHQgICAgXHRcdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdCAgICBcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuXHQgICAgXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdCAgICBcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG5cdFx0ICAgIFx0fVxuXHQgICAgXHR9XG5cdCAgICB9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdC5kYXRhLXdyYXBwZXJ7XG5cdFx0XHRAaW5jbHVkZSB2ZXJ0aWNhbC1hbGlnbjtcblx0XHR9XG5cdFx0XG5cdH1cbn1cbi5pbWctY29udGFpbmVye1xuXHRpbWd7XG5cdFx0bWF4LXdpZHRoOiBub25lO1xuXHR9XG59XG4uc2VjdGlvbi1lbmdhZ2VtZW50c3tcblx0LnNlY3Rpb25fX3RpdGxle1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cblx0LmVuZ2FnZW1lbnR7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHRcdC5pbWctY29udGFpbmVyIHsgXG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDE4MCk7IFxuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdGhlaWdodDogMTAwJTsgXG5cdFx0XHR9XG5cdFx0fVxuXHRcdCZfX2NvbnRlbnR7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdHdpZHRoOiA0MCU7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMiU7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDElO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmX19pbWd7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdHdpZHRoOiA1NyU7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHR3aWR0aDogNTglO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmX19oZWFkZXJ7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcblx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDUwKTtcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xuXHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xuXHRcdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IHNvbGlkIHJlbS1jYWxjKDIpICRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdCAgICBkaXNwbGF5OiBibG9jaztcblx0XHRcdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHQgICAgbGVmdDogMDtcblx0XHRcdCAgICBib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDgwKTtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg4MCk7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTApO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoMTEwKTtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygxMTApO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xuXHRcdFx0fVxuXHRcdFx0aXtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDUwJTtcbiAgICBcdFx0XHRtYXJnaW4tdG9wOiAtMjBweDtcbiAgICBcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcbiAgICBcdFx0XHRcdG1hcmdpbi10b3A6IC0zMHB4O1xuICAgIFx0XHRcdH1cblx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG5cdFx0XHRcdFx0Y29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDUwKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Jl9fdHh0e1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMzApIHJlbS1jYWxjKDIwKTtcblx0XHRcdGNvbG9yOiAkZGFyay1ibHVlO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG4gICAgXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgXHRcdH1cblx0XHRcdHVse1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdFx0aW1ne1xuXHRcdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0XHQgICAgZGlzcGxheTogYmxvY2s7XG5cdFx0XHQgICAgbWFyZ2luLXRvcDogMTVweDtcblx0XHRcdCAgICBtYXJnaW4tYm90dG9tOiAtMTVweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Jl9fdGl0bGV7XG5cdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDQ1KTtcblx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICBcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICBcdFx0XHRsaW5lLWhlaWdodDogMS4xO1xuICAgIFx0XHR9XG4gICAgXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuICAgIFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgIFx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNTUpO1xuICAgIFx0XHR9XG5cdFx0fVxuXHR9XG59XG4uc2VjdGlvbi1yZXNwb25zaWJsaXR5e1xuXHQuc2VjdGlvbl9fY29udGVudHtcblx0XHRpbWd7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHR9XG5cdFx0LnJlc3BvbnNpYmxpdHktbG9nb3tcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRwe1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg3MCk7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHR9XG5cdFx0YXtcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHQmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZXtcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcbn1cblxuLnNlY3Rpb24tdmFsdWV7XG5cdC5zZWN0aW9uX190aXRsZXtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XG5cdH1cblx0LnNlY3Rpb25fX2hlYWRlcntcblx0XHRwe1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMDApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQudmFsdWVfX2l0ZW17XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ei1pbmRleDogMjtcblx0XHQmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZXtcblx0ICAgIFx0Y3Vyc29yOiBwb2ludGVyO1xuXHQgICAgXHQudmFsdWVfX2hlYWRlcntcblx0XHRcdFx0aGVpZ2h0OiA5NiU7XG5cdFx0ICAgIFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcblx0XHQgICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRkYXJrLWJsdWUsIDAuOTUpO1xuXHRcdCAgICBcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdCAgICBcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDQwKTtcblx0XHQgICAgXHR9XG5cdFx0ICAgIFx0JjpiZWZvcmUge1xuXHRcdCAgICBcdFx0Y29udGVudDogbm9uZTtcblx0XHQgICAgXHR9XG5cdFx0ICAgIH1cblx0ICAgIFx0LnZhbHVlX190aXRsZXtcblx0ICAgIFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblx0ICAgIFx0fVxuXHQgICAgXHQudmFsdWVfX3R4dHtcblx0ICAgIFx0XHRkaXNwbGF5OiBibG9jaztcblx0ICAgIFx0XHRjb2xvcjogJHdoaXRlO1xuXHQgICAgXHRcdHotaW5kZXg6IDEwO1xuXHQgICAgXHRcdHBhZGRpbmctbGVmdDogMjBweDtcblx0XHRcdCAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXHRcdFx0ICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXHRcdFx0ICAgIHBhZGRpbmctdG9wOiA2MHB4O1x0ICAgIFx0XHRcblx0ICAgIFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCAgICBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoNDApO1xuXHQgICAgXHQgXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg5MCk7XG5cdCAgICBcdCBcdFx0IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHQgICAgXHRcdH1cblx0ICAgIFx0fVxuXHQgICAgXHQuaWNvbi1nbGFzc3tcblx0ICAgIFx0XHRkaXNwbGF5OiBub25lO1xuXHQgICAgXHR9XG5cdCAgICBcdFxuXHQgICAgfVxuXHR9XG5cdC52YWx1ZV9fY29udGVudHtcblx0XHQvLyB6LWluZGV4OiAxO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgIGxlZnQ6IDElO1xuXHQgICAgYm90dG9tOiAwO1xuXHQgICAgd2lkdGg6IDk4JTtcblx0ICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblx0ICAgIGhlaWdodDogMTAwJTtcblx0ICAgIFxuXHR9XG5cdC52YWx1ZV9faGVhZGVye1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLCAwLjk1KTtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygxMCkgcmVtLWNhbGMoMjApO1xuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cdFx0bWluLWhlaWdodDogNDNweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0Ym90dG9tOiAyJTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0bWluLWhlaWdodDogNjVweDtcblx0XHR9XG5cdFx0XG5cdFx0JjpiZWZvcmV7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcztcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRoZWlnaHQ6cmVtLWNhbGMoMzMpO1xuXHRcdFx0d2lkdGg6cmVtLWNhbGMoNjYpO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czo1MHB4IDUwcHggMCAwO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIDAuOTUpO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAtMzNweDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6LTMzcHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0aGVpZ2h0OnJlbS1jYWxjKDUwKTtcblx0XHRcdFx0d2lkdGg6cmVtLWNhbGMoMTAwKTtcblx0XHRcdFx0dG9wOiAtNTBweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6LTUwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5pY29uLWdsYXNze1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG4gICAgXHRcdGxlZnQ6IDA7XG4gICAgXHRcdHRvcDogLTIwcHg7XG4gICAgXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuICAgIFx0XHRcdHRvcDogLTM2cHg7XG4gICAgXHRcdH1cblx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblx0XHRcdFx0Y29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHR9XG5cdC52YWx1ZV9fdGl0bGV7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0Y29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuXHRcdH1cblx0fVxuXHQudmFsdWVfX3R4dHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdC52YWx1ZV9faW1ne1xuXHRcdC5pbWctY29udGFpbmVye1xuXHRcdFx0aGVpZ2h0OiAxODBweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0aGVpZ2h0OiAyMDBweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRoZWlnaHQ6IDI4MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLnNlY3Rpb24tcHJvZHVjdHN7XG5cdC5zZWN0aW9uX190aXRsZXtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXHQuc2VjdGlvbl9faGVhZGVye1xuXHRcdHB7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5hY2NvcmRpb24sIC50YWJze1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdDpsYXN0LWNoaWxkPi5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcblx0XHQgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHR9XG5cdFx0XG5cdFx0Ji1pdGVte1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0QGluY2x1ZGUgaWNvbihiZWZvcmUsIGdsYXNzKTtcblx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjkpO1xuXHRcdFx0XHR6LWluZGV4OiAxMDt0cmFuc2l0aW9uOiBhbGwgMC4zcztcblx0XHRcdH1cblx0XHRcdC5wcm9kdWN0cy10YWJfX3RpdGxle1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0fVxuXHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHotaW5kZXg6IDIwO1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0bWFyZ2luLXRvcDogLTU4cHg7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMThweDt0cmFuc2l0aW9uOiBhbGwgMC4zcztcblx0XHRcdH1cblx0XHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZle1xuXHRcdFx0XHQmOmFmdGVye1xuXHRcdFx0XHRcdGNvbnRlbnQ6bm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmLmlzLWFjdGl2ZXtcblx0XHRcdFx0LnByb2R1Y3RzLXRhYl9fdGl0bGV7XG5cdFx0XHRcdGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXHRcdFx0fVxuXHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdFx0Y29udGVudDogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQmLXRpdGxle1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuXHRcdFx0Ym9yZGVyOm5vbmU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0Y29udGVudDogbm9uZTtcblx0XHRcdH1cblx0XHRcdC5wcm9kdWN0cy10YWJfX3RpdGxle1xuXHRcdFx0XHQvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdFx0XHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgXHRcdFx0XHQgei1pbmRleDogMjA7XG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHNwYW57XG5cdFx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnRhYnN7XG5cdFx0Ym9yZGVyOm5vbmU7XG5cdFx0Ji10aXRsZXtcblx0XHRcdHdpZHRoOiAzMS4zJTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdEBpbmNsdWRlIGljb24oYmVmb3JlLCBnbGFzcyk7XG5cdFx0XHQmOm5vdCg6bGFzdC1vZi10eXBlKXtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAzJTtcblx0XHRcdH1cblx0XHRcdC5wcm9kdWN0cy10YWJfX3RpdGxle1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcztcblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjkpO1xuXHRcdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cdFx0XHR9XG5cdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzNik7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0ei1pbmRleDogMjA7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0bWFyZ2luLXRvcDogLTU4cHg7XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjNzO1xuXHRcdFx0fVxuXHRcdFx0Ji5pcy1hY3RpdmUsICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZle1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0JjphZnRlcntcblx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5wcm9kdWN0cy10YWJfX3RpdGxle1xuXHRcdFx0XHRcdGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRhe1xuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxMCk7XG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHR9XG5cdH1cblx0LmFjY29yZGlvbi1jb250ZW50LCAudGFicy1jb250ZW50e1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG5cdFx0LnByb2R1Y3RzLWl0ZW17XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0Jl9faW1nLCAmX19jb250ZW50e1xuXHRcdFx0XHR3aWR0aDogNDklO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR9XG5cdFx0XHQmX19pbWd7XG5cdFx0XHRcdC5pbWctY29udGFpbmVye1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHR9XG5cdFx0XHQmX19jb250ZW50e1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdHBhZGRpbmc6IDQwcHggMjBweDtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDMwKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg1MCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cHtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNSk7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0dWx7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMCk7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC50YWJzLWNvbnRlbnR7XG5cdFx0LnRhYnMtcGFuZWx7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0LmNvbHVtbjpudGgtY2hpbGQoMm4rMSl7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cdFx0XHR9XG5cdFx0XHQuY29sdW1uOm50aC1jaGlsZCgybiswKXtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQucHJvZHVjdC1pdGVte1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG5cdFx0fVxuXHR9XG59XG4uc2VjdGlvbi1icmFuZHN7XG5cdC5zZWN0aW9uX190aXRsZXtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG5cdHVse1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRsaXtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0MCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzApO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0fVxuXHR9XG59XG5cbi5zZWN0aW9uLXByb2Nlc3N7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xuXHQucHJvZ3Jlc3NiYXJ7XG5cdFx0Jl9fd3JhcHBlcntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwgMC43KTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDgpIHJlbS1jYWxjKDE1KSByZW0tY2FsYygzKSByZW0tY2FsYygxNSk7XG5cdFx0XHQuYXJyb3ctbGVmdCwgLmFycm93LXJpZ2h0e1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYyg0Mik7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRpe1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdHRvcDogNnB4O1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdFx0dG9wOiAxMnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5hcnJvdy1sZWZ0e1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdFx0LmFycm93LXJpZ2h0e1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Jl9fY29udGVudHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRsaXtcblx0XHRcdFx0Ly8gZGlzcGxheTogbm9uZTtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji5pcy1hY3RpdmV7dHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Jl9fcHJvZ3Jlc3N7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDgpO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMTApO1xuXHRcdFx0fVxuXHRcdFx0c3Bhbntcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblx0XHRcdFx0d2lkdGg6IDMzLjMzJTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCZfX2NvdW50e1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtjb2xvcjogJHdoaXRlO1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5wcm9jZXNze1xuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygxMDApO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMDApO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDMwMCk7XG5cdFx0bWFyZ2luOiBhdXRvO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0bWF4LXdpZHRoOiByZW0tY2FsYyg2MTApO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE1MCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0bWF4LXdpZHRoOiByZW0tY2FsYyg5OTQpO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwMCk7XG5cdFx0fVxuXHRcdCZfX2ltZ3tcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cdFx0ICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdCAgICB3aWR0aDogOTBweDtcblx0XHQgICAgaGVpZ2h0OiA4MHB4O1xuXHRcdCAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRoZWlnaHQ6IDExOXB4O1xuXHRcdCAgICBcdHdpZHRoOiAxMzNweDtcblx0XHQgICAgXHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHQgICAgfVxuXHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHQgICAgXHRoZWlnaHQ6IDE3MHB4O1xuXHRcdCAgICBcdHdpZHRoOiAxOTBweDtcblx0XHQgICAgXHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHQgICAgfVxuXHRcdCAgICBAaW5jbHVkZSBpY29uKGJlZm9yZSwgYmlnLWFycm93KTtcbiAgICBcdFx0XHRAaW5jbHVkZSBpY29uKGFmdGVyLCBiaWctYXJyb3cpO1xuICAgIFx0XHRcdCY6YWZ0ZXJ7XG4gICAgXHRcdFx0XHR0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7XG4gICAgXHRcdFx0fVxuICAgIFx0XHRcdCY6YmVmb3JlLCAmOmFmdGVye1xuICAgIFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMDApO1xuICAgIFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcbiAgICBcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICBcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOTApO1xuICAgIFx0XHRcdFx0fVxuICAgIFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG4gICAgXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjcwKTtcbiAgICBcdFx0XHRcdH1cbiAgICBcdFx0XHR9XG5cdFx0ICAgIGltZ3tcblx0XHQgICAgXHRkaXNwbGF5OiBibG9jaztcblx0XHRcdCAgICBtYXJnaW46IGF1dG87XG5cdFx0XHQgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcblx0XHRcdCAgICBcdHdpZHRoOiByZW0tY2FsYyg0MCk7XG5cdFx0XHQgICAgfVxuXHRcdCAgICB9XG5cdFx0ICAgICYtLWNsaWVudHtcblx0XHQgICAgXHRtYXJnaW46IGF1dG87XG5cdFx0ICAgIFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODUpO1xuXHRcdCAgICBcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdCAgICBcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEzMCk7XG5cdFx0XHQgICAgfVxuXHRcdCAgICBcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0ICAgIFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTgwKTtcblx0XHRcdCAgICB9XG5cdFx0ICAgIFx0JjpiZWZvcmV7XG5cdFx0ICAgIFx0XHRsZWZ0OiAtODZweDtcblx0XHRcdFx0ICAgIHRyYW5zZm9ybTogcm90YXRlKC02MGRlZyk7XG5cdFx0XHRcdCAgICB0b3A6IDY2cHg7XG5cdFx0XHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdFx0XHRsZWZ0OiAtMTYwcHg7XG5cdFx0XHRcdCAgICB9XG5cdFx0XHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0XHRcdGxlZnQ6IC0yMjVweDtcblx0XHRcdFx0XHRcdHRvcDogODBweDtcblx0XHRcdFx0ICAgIH1cblx0XHQgICAgXHR9XG5cdFx0ICAgIFx0JjphZnRlcntcblx0XHQgICAgXHRcdGxlZnQ6IC05OHB4O1xuXHRcdFx0XHQgICAgdHJhbnNmb3JtOiByb3RhdGUoMTIwZGVnKTtcblx0XHRcdFx0ICAgIHRvcDogNTFweDtcblx0XHRcdFx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0XHRcdHRvcDogNDVweDtcblx0XHRcdFx0XHRcdGxlZnQ6IC0xOTVweDtcblx0XHRcdFx0ICAgIH1cblx0XHRcdFx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdFx0dG9wOiA2MHB4O1xuXHRcdFx0XHRcdFx0bGVmdDogLTI3MHB4O1xuXHRcdFx0XHQgICAgfVxuXHRcdCAgICBcdH1cblx0XHQgICAgfVxuXHRcdCAgICAmLS1zaGlwe1xuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDUwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxNTBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdCAgIFx0bGVmdDogLTExMHB4O1xuXHRcdFx0XHQgICAgdG9wOiA2cHg7XG5cdFx0XHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdFx0XHRsZWZ0OiAtMjIwcHg7XG5cdFx0XHRcdCAgICBcdHRvcDogLTE0cHg7XG5cdFx0XHRcdCAgICB9XG5cdFx0XHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0XHRcdGxlZnQ6IC0yOTBweDtcblx0XHRcdFx0XHRcdHRvcDogLTE1cHg7XG5cdFx0XHRcdCAgICB9XG5cdFx0XHRcdH1cblx0XHRcdFx0JjphZnRlcntcblx0XHRcdFx0XHRsZWZ0OiAtMTEwcHg7XG4gICAgXHRcdFx0XHR0b3A6IC0yMHB4O1xuICAgIFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgIFx0XHRcdFx0XHRsZWZ0OiAtMjIwcHg7XG4gICAgXHRcdFx0XHRcdHRvcDogLTUycHg7XG4gICAgXHRcdFx0XHR9XG4gICAgXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0XHRcdGxlZnQ6IC0yOTBweDtcblx0XHRcdFx0XHRcdHRvcDogLTY1cHg7XG4gICAgXHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdCAgICB9XG5cdFx0ICAgICYtLWRhcm9ue1xuXHRcdCAgICBcdGZsb2F0OiBsZWZ0O1xuXHRcdCAgICBcdCYubm8tb3BhY2l0eXtcblx0XHQgICAgXHRcdCY6YmVmb3JlLCAmOmFmdGVye1xuXHRcdCAgICBcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdCAgICBcdFx0fVxuXHRcdCAgICBcdH1cblx0XHQgICAgXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0ICAgIFx0XHRtYXJnaW4tbGVmdDogNTBweDtcblx0XHQgICAgXHR9XG5cdFx0ICAgIFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDE1MHB4O1xuXHRcdFx0XHR9XG5cdFx0ICAgIFx0JjpiZWZvcmV7XG5cdFx0ICAgIFx0XHRyaWdodDogLTI5cHg7XG5cdFx0XHRcdCAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNjBkZWcpO1xuXHRcdFx0XHQgICBcdHRvcDogLTk5cHg7XG5cdFx0XHRcdCAgIFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRcdFx0cmlnaHQ6IC04NnB4O1xuXHRcdFx0XHRcdFx0dG9wOiAtMTgzcHg7XG4gICAgXHRcdFx0XHR9XG5cdFx0XHRcdCAgIFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdFx0XHRyaWdodDogLTEwN3B4O1xuXHRcdFx0XHRcdFx0dG9wOiAtMjcwcHg7XG4gICAgXHRcdFx0XHR9XG5cdFx0ICAgIFx0fVxuXHRcdCAgICBcdCY6YWZ0ZXJ7XG5cdFx0ICAgIFx0XHRyaWdodDogLTE3cHg7XG5cdFx0XHRcdCAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMjBkZWcpO1xuXHRcdFx0XHQgICAgdG9wOiAtMTE0cHg7XG5cdFx0XHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdFx0XHRyaWdodDogLTUycHg7XG5cdFx0XHRcdFx0XHR0b3A6IC0yMDVweDtcbiAgICBcdFx0XHRcdH1cblx0XHRcdFx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdFx0cmlnaHQ6IC02MnB4O1xuXHRcdFx0XHRcdFx0dG9wOiAtMjkwcHg7XG4gICAgXHRcdFx0XHR9XG5cdFx0ICAgIFx0fVxuXHRcdCAgICBcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuXHRcdCAgICBcdFx0aW1ne1xuXHRcdCAgICBcdFx0XHR3aWR0aDogcmVtLWNhbGMoODApO1xuXHRcdCAgICBcdFx0fVxuXHRcdFx0ICAgIFx0XG5cdFx0XHQgICAgfVxuXHRcdCAgICB9XG5cdFx0ICAgICYtd3JhcHBlcntcblx0XHQgICAgXHRAaW5jbHVkZSB2ZXJ0aWNhbC1hbGlnbjtcblx0XHQgICAgfVxuXHRcdCAgICAmLmlzLWluYWN0aXZle1xuXHRcdCAgICBcdG9wYWNpdHk6IDAuMjt0cmFuc2l0aW9uOiBhbGwgMC4zcztcblx0XHQgICAgfVxuXHRcdH1cblx0XHQmX19jb250ZW50e1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0cHtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdG9wYWNpdHk6IDAuMjtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMCk7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ji5pcy1hY3RpdmV7XG5cdFx0XHRcdHB7XG5cdFx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ji0tMntcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG4gICAgXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuICAgIFx0XHRcdHA6Zmlyc3QtY2hpbGR7XG4gICAgXHRcdFx0XHRtYXgtd2lkdGg6IDk5cHg7XG5cdFx0XHRcdCAgICBtYXJnaW46IGF1dG87XG5cdFx0XHRcdCAgICBtYXJnaW4tYm90dG9tOiA1M3B4O1xuXHRcdFx0XHQgICAgbWFyZ2luLXRvcDogLTIzcHg7XG4gICAgXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgXHRcdFx0XHRcdG1heC13aWR0aDogbm9uZTtcbiAgICBcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICBcdFx0XHRcdFx0bWFyZ2luLXRvcDogLTNweDtcbiAgICBcdFx0XHRcdH1cbiAgICBcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuICAgIFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiA5NXB4O1xuICAgIFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuICAgIFx0XHRcdFx0fVxuICAgIFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYtLTF7XG5cdFx0XHRcdHRvcDogMTAwcHg7XG5cdFx0XHQgICAgbGVmdDogLTVweDtcblx0XHRcdCAgICB0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHQgICAgXHR0b3A6IDE2OXB4O1xuXHRcdFx0ICAgIFx0bGVmdDogLTE0cHg7XG5cdFx0XHQgICAgfVxuXHRcdFx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0ICAgIFx0dG9wOiAyMjBweDtcblx0XHRcdCAgICBcdGxlZnQ6IDZweDtcblx0XHRcdCAgICB9XG5cdFx0XHQgICAgcDpsYXN0LWNoaWxke1xuICAgIFx0XHRcdFx0bWFyZ2luLXRvcDogMjBweDtcbiAgICBcdFx0XHRcdG1hcmdpbi1yaWdodDogLTE0MHB4O1xuICAgIFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgIFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAyNXB4O1xuICAgIFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IC0xOTBweDtcbiAgICBcdFx0XHRcdH1cbiAgICBcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuICAgIFx0XHRcdFx0XHRtYXJnaW4tdG9wOiA0NXB4O1xuICAgIFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IC0yNjBweDtcbiAgICBcdFx0XHRcdH1cbiAgICBcdFx0XHR9XG4gICAgXHRcdFx0cDpmaXJzdC1jaGlsZHtcbiAgICBcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuICAgIFx0XHRcdFx0XHRtYXgtd2lkdGg6IDE1MHB4O1xuICAgIFx0XHRcdFx0fVxuICAgIFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICBcdFx0XHRcdFx0bWF4LXdpZHRoOiA3MHB4O1xuICAgIFx0XHRcdFx0fVxuICAgIFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYtLTN7XG5cdFx0XHRcdHRvcDogMTgzcHg7XG5cdFx0XHRcdGxlZnQ6IC0xN3B4O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRcdHRvcDogMjQ0cHg7XG5cdFx0XHRcdFx0bGVmdDogLTQ1cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdFx0dG9wOiAzMDBweDtcblx0XHRcdFx0XHRsZWZ0OiAxNXB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdHA6bGFzdC1jaGlsZHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IC0xMzdweDtcbiAgICBcdFx0XHRcdG1hcmdpbi10b3A6IC0zMHB4O1xuICAgIFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAtMTg3cHg7XG4gICAgXHRcdFx0XHRcdG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIFx0XHRcdFx0fVxuICAgIFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IC0yNDdweDtcbiAgICBcdFx0XHRcdFx0bWFyZ2luLXRvcDogNDBweDtcbiAgICBcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRwOmZpcnN0LWNoaWxke1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAxNTBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcblx0XHRcdFx0XHRcdG1heC13aWR0aDogNjBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5kZWxpdmVyeXtcblx0XHQmX190aXRsZXtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMS40O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdGhlaWdodDogMXB4O1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuXHRcdFx0fVxuXG5cdFx0fVxuXHRcdCZfX2hlYWRlcntcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcblx0XHR9XG5cdFx0Jl9faGVhZGVyLCAmX19jb250ZW50e1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDogMTA7XG5cdFx0fVxuXHRcdCZfX2NvbnRlbnR7XG5cdFx0XHQuY29sdW1ue1xuXHRcdFx0XHQmOm50aC1jaGlsZCgybisxKXtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg1KTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOm50aC1jaGlsZCgybiswKXtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDUpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0XHQmOm50aC1jaGlsZCgybisxKSwgJjpudGgtY2hpbGQoMm4rMCl7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDcpO1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoNyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6Zmlyc3Qtb2YtdHlwZXtcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOmxhc3Qtb2YtdHlwZXtcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE1KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHR9XG5cdFx0Jl9faXRlbXtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDI1KSByZW0tY2FsYygxMCk7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMzApO1xuXHRcdFx0fVxuXHRcdFx0aXtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuXHRcdFx0XHRcblx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMCk7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0NSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg2MCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCZfX3R4dHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdGNvbG9yOiAkZGFyay1ibHVlO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS42O1xuXHRcdFx0fVxuXHRcdFx0YXtcblx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdFx0XHQmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZXtcblx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Jl9faW1ne1xuXHRcdFx0ei1pbmRleDogMTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHRvcDogLTYwcHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAtNjBweDtcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoMjE1KTtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ltZy1ib3R0b21fb2ZmZXJzLmpwZycpO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoNTE1KTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDc2MCk7XG5cdFx0XHRcdHRvcDogLTEyMHB4O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAtMTIwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5zZWN0aW9uLWNvbmdve1xuXHQuc2VjdGlvbl9faW50cm97XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQwKTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHR9XG5cdFx0c3Bhbntcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXHRcdH1cblx0fVxufVxuXG5cdC5wZXJmb3JtYW5jZV9faW1nLWdhYm9ue1xuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDcwKTtcblx0XHQuaW1nLWNvbnRhaW5lcntcblx0XHRcdGhlaWdodDogMzAwcHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdGhlaWdodDogMzIwcHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0aGVpZ2h0OiAzODhweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuLnNpdGVzLXNhbXtcblx0Jl9faW1nLXRvcHtcblx0XHRtYXJnaW4tbGVmdDogLTE1cHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtMTVweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHR9XG5cdFx0LmltZy1jb250YWluZXJ7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDE1MCk7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMzAzKTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDQ2MCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCZfX2ltZy1ib3R0b217XG5cdFx0bWFyZ2luLWxlZnQ6IC0xNXB4O1xuXHRcdG1hcmdpbi1yaWdodDogLTE1cHg7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRcdG1heC13aWR0aDogcmVtLWNhbGMoMTEyMCk7XG5cblx0XHR9XG5cdFx0I21hcHtcblx0XHRcdGhlaWdodDogNDAwcHg7XG5cdFx0fVxuXHRcdC5pbWctY29udGFpbmVye1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYygxNTApO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDI4MCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg0MDApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmX19sb2dve1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQmOmJlZm9yZXtcblx0XHQgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcblx0XHQgICAgY29udGVudDogXCJcIjtcblx0XHQgICAgaGVpZ2h0OiByZW0tY2FsYygxNjUpO1xuXHRcdCAgICB3aWR0aDogcmVtLWNhbGMoMTY1KTtcblx0XHQgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcblx0XHQgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ICAgIHRvcDogLTUwcHg7XG5cdFx0ICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdCAgICBsZWZ0OiA1MCU7XG5cdFx0ICAgIG1hcmdpbi1sZWZ0OiAtODIuNXB4O1xuXHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdGhlaWdodDogMjcwcHg7XG5cdFx0XHRcdHdpZHRoOiAyNzBweDtcblx0XHRcdFx0dG9wOiAtODBweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0xMzVweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0aW1ne1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYygzMCk7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdHRvcDogLTE1cHg7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDE2MCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCZfX3R4dHtcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0bWFyZ2luOiBhdXRvO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgIFx0XHRwYWRkaW5nLXRvcDogNTBweDtcblx0XHR9XG5cdH1cblx0Jl9faW50cm97XG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDApO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cdFx0ei1pbmRleDogMTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0fVxuXHR9XG5cdCZfX2NvbnRlbnR7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRcdH1cblx0XHRzcGFue1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdFx0XHRcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbi5zZWN0aW9uLWdhYm9ue1xuXHQuc2VjdGlvbl9fdGl0bGV7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXHQuc2l0ZXMtc2Fte1xuXHRcdCZfX3R4dHtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0fVxuXHRcdCZfX2NvbnRlbnR7XG5cdFx0XHRwOmxhc3Qtb2YtdHlwZXtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCZfX2NvbnRlbnRCaXN7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHRcdGZpZ3VyZXtcblx0XHRcdFx0bWF4LXdpZHRoOiA0NTBweDtcblx0XHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHRcdGZpZ2NhcHRpb257XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuXHRcdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdFx0fVxuXG5cdFx0fVxuXHRcdCZfX2ltZy1ib3R0b217XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDcwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbi5zZWN0aW9uLXJlc3NvdXJjZXN7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xuXHQuc2VjdGlvbl9fdGl0bGV7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXHQucmVzc291cmNlc3tcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHQuY29sdW1ue1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMik7XG5cblx0XHRcdFx0JjpudGgtY2hpbGQoMm4rMSl7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0JjpudGgtY2hpbGQoMm4rMCl7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygxKTtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0JjpsYXN0LW9mLXR5cGV7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0fVxuXHRcdH1cblx0XHQmX190aXRsZXtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Y29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0ei1pbmRleDogMjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmX19oZWFkZXJ7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygyMCkgMDtcblx0XHRcdC5pY29uLWdsYXNze1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdC8vIG1hcmdpbi1sZWZ0OiAtMThweDtcblx0XHRcdFx0dG9wOiAtMzZweDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzNik7XG5cdFx0XHRcdFx0Y29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdGhlaWdodDogMTAwcHg7XG5cdFx0XHRcdHdpZHRoOiAxMDBweDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IC01MHB4O1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTUwcHg7XG5cdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Jl9faXRlbXtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHQmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZXtcblx0XHRcdFx0XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0LnJlc3NvdXJjZXNfX2NvbnRlbnR7XG5cdFx0XHRcdFx0aGVpZ2h0OiA5NiU7XG5cdFx0XHRcdFx0d2lkdGg6IDk2JTtcblx0XHRcdFx0XHRsZWZ0OiAyJTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgLjk1KTtcblx0XHRcdFx0XHQvLyBwYWRkaW5nOiByZW0tY2FsYygyMCkgcmVtLWNhbGMoMTApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5yZXNzb3VyY2VzX190eHR7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHQvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0Ly8gd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0QGluY2x1ZGUgdmVydGljYWwtYWxpZ247XG5cblx0XHRcdFx0fVxuXHRcdFx0XHQucmVzc291cmNlc19faGVhZGVye1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Jl9fY29udGVudHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3M7XG5cdFx0XHR3aWR0aDogOTYlO1xuXHRcdFx0bGVmdDogMiU7XG5cdFx0XHRib3R0b206IDIlO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0ei1pbmRleDogMTA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcblxuXHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xuXHRcdFx0Ly8gcGFkZGluZzogcmVtLWNhbGMoMjApIHJlbS1jYWxjKDEwKTtcblx0XHR9XG5cdFx0Jl9fdHh0e1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0Ly8gQGluY2x1ZGUgdmVydGljYWwtYWxpZ247XG5cdFx0XHRwe1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg1MCk7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDYwKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDgwKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0c3Bhbntcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNSk7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHQmOmZpcnN0LW9mLXR5cGV7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogLTIwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg4MCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCZfX2ltZ3tcblx0XHRcdC5pbWctY29udGFpbmVye1xuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDI1MCk7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygzMTApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMzgwKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLnNlY3Rpb24tdGVhbXtcblx0cGFkZGluZy10b3A6IDA7XG5cdC50ZWFte1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblxuXHRcdFx0LnJvd3tcblx0XHRcdFx0LmNvbHVtbntcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMik7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoMyk7XG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoM24rMSl7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoM24rMCl7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOmxhc3QtY2hpbGR7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdH1cblx0XHRcdFxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuXHRcdFx0bWF4LXdpZHRoOiByZW0tY2FsYygzMzApO1xuXHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdH1cblx0XHQmX19pbWd7XG5cdFx0XHQuaW1nLWNvbnRhaW5lcntcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygyNDUpO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygzMDApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCZfX3R4dHtcblx0XHRcdC8vIGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZGFyay1ibHVlLCAwLjkpO1xuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMjApO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMSk7XG5cdFx0XHR3aWR0aDogOTYlO1xuXHRcdFx0bGVmdDogMiU7XG5cdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDk2JTtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3M7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0ei1pbmRleDogMTA7XG5cdFx0XHRwe1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwXG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9XG5cblx0XHR9XG5cdFx0Jl9faXRlbXtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3M7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0Jjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmV7XG5cdFx0XHRcdC50ZWFtX190aXRsZXtcblx0XHRcdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblx0XHRcdFx0fVxuXHRcdFx0XHQudGVhbV9fdHh0e1xuXHRcdFx0XHRcdHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDIlKTtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC50ZWFtX19oZWFkZXJ7XG5cdFx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQuaWNvbi1nbGFzc3tcblx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCZfX2NvbnRlbnR7XG5cdFx0XHRcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdH1cblx0XHQmX19oZWFkZXJ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR6LWluZGV4OiAyMDtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwKTtcblx0XHRcdH1cblx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3M7XG5cdFx0XHRcdGhlaWdodDogMTAwcHg7XG5cdFx0XHRcdHdpZHRoOiAxMDBweDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IC01MHB4O1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTUwcHg7XG5cdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdH1cblx0XHRcdC5pY29uLWdsYXNze1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3M7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR0b3A6IC0zMnB4O1xuXHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcblx0XHRcdFx0XHRjb2xvcjogJGRhcmstYmx1ZTtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQmX190aXRsZXtcblx0XHRcdGNvbG9yOiAkZGFyay1ibHVlO1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIC4zcztcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdHotaW5kZXg6IDEwO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5zZWN0aW9uLXBlcmZvcm1hbmNle1xuXHQuc2VjdGlvbl9fdGl0bGV7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXHQuc2VjdGlvbl9fY29udGVudHtcblx0XHRcblx0XHRoM3tcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDExKTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAxMDA7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLnJlZmVyZW5jZXMtbGlzdHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogLTI1cHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogLTMwcHg7XG5cdFx0fVxuXHRcdGltZ3tcblx0XHRcdG1heC1oZWlnaHQ6IHJlbS1jYWxjKDUwKTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0bWF4LWhlaWdodDogcmVtLWNhbGMoOTApO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdG1heC1oZWlnaHQ6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGxpe1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdCY6Zmlyc3Qtb2YtdHlwZXtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMwKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbi5zZWN0aW9uLXJlZmVyZW5jZXN7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdC5zZWN0aW9uX190aXRsZXtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG5cdC5zZWN0aW9uX19jb250ZW50e1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdH1cblx0XHRcblx0fVxuXHRcblx0LndyYXBwZXItcGhvdG9ze1xuXHRcdG1hcmdpbi1sZWZ0OiAtMTVweDtcblx0XHRtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHRvcDogcmVtLWNhbGMoNTUpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHR0b3A6IHJlbS1jYWxjKDcwKTtcblx0XHR9XG5cblx0fVxufVxuLnNlY3Rpb24tdGVzdGltb25pYWxze1xuXHRcblx0cGFkZGluZy1ib3R0b206IDA7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cblx0LndyYXBwZXItcGhvdG9ze1xuXHRcdG1hcmdpbi1sZWZ0OiAtMTVweDtcblx0XHRtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdH1cblx0LnNlY3Rpb25fX2NvbnRlbnR7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0fVxuXHRcdFxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpe1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuXHRcdFx0XG5cdFx0fVxuXHRcdHVse1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0NSk7XHRcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg3MCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHR9XG5cdGxpOmZpcnN0LW9mLXR5cGV7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE1KTtcblx0fVxuXHQudGVzdGltb25pYWxze1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygzMCk7XG5cdFx0Y29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg0MCk7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoODApO1xuXHRcdH1cblx0XHQmX2NvbnRlbnR7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDExKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjc7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCZfX2F1dGhvcntcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLnNlY3Rpb24tY29udGFjdHtcblx0XG5cdC5zZWN0aW9uX190aXRsZXtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG5cdC5zZWN0aW9uX19jb250ZW50e1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHR9XG5cdCYtY29uZ297XG5cdFx0LnNlY3Rpb25fX2NvbnRlbnR7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9iZy1jb250YWN0X2NvbmdvLmpwZycpO1xuXHRcdH1cblx0fVxuXHQmLWZvcm17XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxMzApO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTMwKTtcblx0XHR9XG5cdH1cblx0Ji1nYWJvbiwgJi1hbmdvbGF7XG5cdFx0LnNlY3Rpb25fX2NvbnRlbnR7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9iZy1jb250YWN0X2dhYm9uLmpwZycpO1xuXHRcdH1cblx0XHQuY29udGFjdF9fd3JhcHBlcntcblx0XHRcdC5jb250YWN0X19pdGVte1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxOCk7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDgwKTtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcwKTtcblx0XHRcdFx0XHRzcGFue1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cdFxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTE3KTtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoOTApO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDkwKTtcblx0XHRcdFx0XHRzcGFue1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdC5jb2x1bW57XG5cdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoNSk7XG5cdFx0XHRcdFx0JjpmaXJzdC1vZi10eXBle1xuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6bGFzdC1vZi10eXBle1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LmNvbHVtbjpub3QoOmZpcnN0LWNoaWxkKXtcblx0XHRcdFx0LmNvbnRhY3RfX2l0ZW17XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5jb250YWN0e1xuXHRcdC5pY29uLWNvbnRhY3Rze1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg2MCk7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoNjApO1xuXHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTQpO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0dG9wOiByZW0tY2FsYygzMCk7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMTA1KTtcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDEwNSk7XG5cdFx0XHRcdHRvcDogNTIuNXB4O1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjQpO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMTQwKTtcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDE0MCk7XG5cdFx0XHRcdHRvcDogNzBweDtcblx0XHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDQwKTtcblx0XHRcdH1cblx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI3KTtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNDcpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApO1xuXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Jl9faXRlbXtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIDAuOTUpO1xuXHRcdFx0cGFkZGluZzogMTVweDtcbiAgICBcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDUwKTtcbiAgICBcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEpO1xuICAgIFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNSk7XG4gICAgXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDMwKTtcblx0XHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDEwMCk7XG5cdFx0XHQgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcblx0XHRcdCAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDUwKTtcblx0XHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDEzMCk7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcwKTtcblx0XHRcdH1cblx0XHRcdHNwYW57XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRjb2xvcjogJGRhcmstYmx1ZTtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRhe1xuXHRcdFx0XHRjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblx0XHRcdFx0Jjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmV7XG5cdFx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHB7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjc7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCZfX2VtYWlse1xuXHRcdFx0YXtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCZfX3RpdGxle1xuXHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblx0XHRcdFx0fVxuXHRcdH1cblx0fVxufVxuZm9ybXtcblx0Ji5oaWRkZW4tbGFiZWx7XG5cdFx0bGFiZWx7XG5cdFx0XHRAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcblx0XHR9XG5cdFx0aW5wdXQ6bm90KC5idXR0b24pLCBzZWxlY3QsIHRleHRhcmVhe1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTEpO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoNDApO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApOyBcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0dGV4dGFyZWF7XG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjIpO1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYygxNDApO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMjcwKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0aW5wdXQsIHRleHRhcmVhe1xuXHRcdFx0Jjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi9cblx0XHRcdCAgY29sb3I6ICRwbGFjZWhvbGRlci1jb2xvcjtcblx0XHRcdCAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdCAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0XHQgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0ICBcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHRcdFx0ICB9XG5cdFx0XHR9XG5cdFx0XHQmOjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOSsgKi9cblx0XHRcdCAgY29sb3I6ICRwbGFjZWhvbGRlci1jb2xvcjtcblx0XHRcdCAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdCAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0XHQgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0ICBcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHRcdFx0ICB9XG5cdFx0XHR9XG5cdFx0XHQmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIElFIDEwKyAqL1xuXHRcdFx0ICBjb2xvcjogJHBsYWNlaG9sZGVyLWNvbG9yO1xuXHRcdFx0ICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0ICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHRcdCAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHQgIFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdFx0XHQgIH1cblx0XHRcdH1cblx0XHRcdCY6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXG5cdFx0XHQgIGNvbG9yOiAkcGxhY2Vob2xkZXItY29sb3I7XG5cdFx0XHQgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHQgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdFx0ICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdCAgXHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblx0XHRcdCAgfVxuXHRcdFx0fVxuXHRcdH1cblx0XHRzZWxlY3QsIC5yZXF1aXJlZC1maWVsZHN7XG5cdFx0XHRjb2xvcjogJHBsYWNlaG9sZGVyLWNvbG9yO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpbnB1dC5idXR0b257XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0XHRtaW4td2lkdGg6IDA7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcblx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygxMSk7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoNjApO1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblx0XHRcdH1cblx0XHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZle1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQucmVxdWlyZWQtZmllbGRze1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg5KTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLnNlY3Rpb24tZXJyb3I0MDR7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1MCk7XG5cdG1hcmdpbi10b3A6IHJlbS1jYWxjKDgwKTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwMCk7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMjAwKTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNTApO1xuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDI1MCk7XG5cdH1cblx0LmVycm9ye1xuXHRcdGNvbG9yOiAkZGFyay1ibHVlO1xuXHRcdCZfX3RpdGxle1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDkwKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIwKTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUwKTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Jl9fY29udGVudHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbi5zZWN0aW9uLW1lbnRpb25ze1xuXHQuc2VjdGlvbl9fdGl0bGV7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXHQuc2VjdGlvbl9fY29udGVudHtcblx0XHRoMntcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRhe1xuXHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0XHQmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZXtcblx0XHRcdFx0Y29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRk9PVEVSIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLnNpdGUtZm9vdGVye1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDQwKTtcblx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg4MCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcblx0fVxuXHQuc2l0ZS1sb2dve1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuXHRcdH1cblx0fVxuXHRhe1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDExKTtcblx0XHQmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZXtcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHR9XG5cdH1cblx0Jl9fdG9wLCAmX19taWRkbGV7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cdCZfX25hdntcblx0XHRhe1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg1KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdGF7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDgpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdHRleHQtYWxpZ246bGVmdDtcblx0XHRcdHBhZGRpbmctbGVmdDogMTdweDtcblx0XHQgICAgcGFkZGluZy1yaWdodDogMTdweDtcblx0XHQgICAgbWF4LXdpZHRoOiAxOTBweDtcblx0XHRcdGF7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDMpIDAhaW1wb3J0YW50O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4yIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Jl9fdGl0bGV7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcblx0XHRcdGF7XG5cdFx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Jl9fYm90dG9te1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYyg2MCk7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoNzApO1xuXHRcdH1cblx0XHR1bHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cdFx0YXtcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoOSk7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQUklOVCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5AbWVkaWEgcHJpbnR7XG4gICAgYVtocmVmXTphZnRlciB7IFxuICAgICAgICBjb250ZW50OiAnJzsgXG4gICAgfVxuICAgIC5zaXRlLWhlYWRlciwgLmJ1dHRvbiwgLnNlY3Rpb25fX2JnLWltYWdlLCAuc2l0ZS1mb290ZXIsIC5kZWxpdmVyeV9faW1nLCAjbWFwLCBmb3Jte1xuICAgIFx0QGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gICAgfVxufVxuXG5cblxuXG5cblxuIiwiQG1peGluIGZvbnQtZmFjZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Zykge1xuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBzcmM6IGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAgICAgJGZvbnQtZmFtaWx5LFxuICAgICAgJGZpbGUtcGF0aCxcbiAgICAgICRhc3NldC1waXBlbGluZSxcbiAgICAgICRmaWxlLWZvcm1hdHMsXG4gICAgICAkZm9udC11cmwtcHJlZml4XG4gICAgKTtcbiAgfVxuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xufVxuIiwiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2Vcbi8vIFJlZmVyZW5jZTogaHR0cDovL2dvby5nbC9SdTFiS1BcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGZvbnQtdXJsLXByZWZpeGVyYCBpcyBkZXByZWNhdGVkIGFuZCBcIiArXG4gICAgXCJ3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgZm9udC1zb3VyY2UtZGVjbGFyYXRpb25gIGlzIGRlcHJlY2F0ZWQgXCIgK1xuICAgIFwiYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gICRzcmM6ICgpO1xuXG4gICRmb3JtYXRzLW1hcDogKFxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHdvZmYyOiBcIiN7JGZpbGUtcGF0aH0ud29mZjJcIiBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgc3ZnOiAgIFwiI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9XCIgZm9ybWF0KFwic3ZnXCIpXG4gICk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcblxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMy4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJy4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyBTZXR0aW5nc1xuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGZsZXg6IGZhbHNlKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gICAgcGFkZGluZzogMDtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGb3Jtc1xuLy8gIDIwLiBMYWJlbFxuLy8gIDIxLiBNZWRpYSBPYmplY3Rcbi8vICAyMi4gTWVudVxuLy8gIDIzLiBNZXRlclxuLy8gIDI0LiBPZmYtY2FudmFzXG4vLyAgMjUuIE9yYml0XG4vLyAgMjYuIFBhZ2luYXRpb25cbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjguIFJlc3BvbnNpdmUgRW1iZWRcbi8vICAyOS4gUmV2ZWFsXG4vLyAgMzAuIFNsaWRlclxuLy8gIDMxLiBTd2l0Y2hcbi8vICAzMi4gVGFibGVcbi8vICAzMy4gVGFic1xuLy8gIDM0LiBUaHVtYm5haWxcbi8vICAzNS4gVGl0bGUgQmFyXG4vLyAgMzYuIFRvb2x0aXBcbi8vICAzNy4gVG9wIEJhclxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDExNTApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMzMDNBNTYsXG4gIHNlY29uZGFyeTogI0ZGOEUwMCxcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGRhcmstYmx1ZTojMzAzQTU2O1xuJGxpZ2h0LWJsdWU6IzdFOEFBMztcbiRwbGFjZWhvbGRlci1jb2xvcjogI0FDQjlCRTtcbiRsZWdlbmQ6IzAxMzM0RDtcbiRibGFjazogIzAwMDAwMDtcbiR3aGl0ZTogI2ZmZmZmZjtcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICM1RjcxOEI7XG4kYm9keS1mb250LWZhbWlseTogJ1pvbmEgUHJvJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogNDAwO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogNjAwO1xuJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ6IDUwMDtcbiRnbG9iYWwtd2VpZ2h0LXRoaW46IDIwMDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDIyKSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDMwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS40O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogbm9uZTtcblxuLy8gMTkuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIwLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjIuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW07XG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1ib3JkZXI6ICRsaWdodC1ncmF5O1xuXG4vLyAyMy4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI0LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4O1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTA7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDE7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI1LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjYuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI4LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gMjkuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyAzMC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzEuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAzMi4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMy4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDM0LiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNS4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gMzYuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM3LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+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+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG4gIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBmb3IgYm9yZGVyZWQgbWVudVxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBtYXJnaW46ICRtZW51LW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXMgYXJlIHRhYmxlIGNlbGwgdG8gYWxsb3cgZm9yIHZlcnRpY2FsIGFsaWdubWVudFxuICA+IGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBsaW5lIGhlaWdodCB0byBtYWtlIHRoZSBoZWlnaHQgb2YgdGhlIG92ZXJhbGwgaXRlbSBlYXNpZXIgdG8gY2FsY3VsYXRlXG4gID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgID4gbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cblxuICA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgPiBsaSAgPiBhIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFNldCB0byBgbnVsbGAgdG8gZG8gbm90IGdlbmVyYXRlIHN0eWxlcyBmb3IgZGlyZWN0aW9uLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCkge1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgQGlmICRkaXIgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVudS1zaW1wbGUtZGlyZWN0aW9uKCRkaXIpO1xuICB9XG59XG5cbi8vLyBEaXJlY3Rpb24gbW9kaWZpZXIgZm9yIGEgc2ltcGxlIE1lbnVcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnVcbkBtaXhpbiBtZW51LXNpbXBsZS1kaXJlY3Rpb24oJGRpcjogJGdsb2JhbC1sZWZ0KSB7XG4gICRuby1tYXJnaW4tZGlyOiAkZGlyO1xuICAkbWFyZ2luLWRpcjogZGlyZWN0aW9uLW9wcG9zaXRlKCRkaXIpO1xuXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skbm8tbWFyZ2luLWRpcn06IDA7XG4gICAgbWFyZ2luLSN7JG1hcmdpbi1kaXJ9OiBnZXQtc2lkZSgkbWVudS1pdGVtLXBhZGRpbmcsICRtYXJnaW4tZGlyKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRwYWRkaW5nIFthdXRvXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuQG1peGluIG1lbnUtbmVzdGVkKCRtYXJnaW46ICRtZW51LW1hcmdpbi1uZXN0ZWQpIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbn1cblxuLy8vIEFkZHMgc3VwcG9ydCBmb3IgaWNvbnMgdG8gTWVudSBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbc2lkZV0gLSBQb3NpdGlvbmluZyBmb3IgaWNvbnMuIENhbiBiZSBgc2lkZWAgKGxlZnQsIG9yIHJpZ2h0IG9uIFJUTCkgb3IgYHRvcGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHRoZSBzaGFyZWQgQ1NTIGJldHdlZW4gc2lkZS0gYW5kIHRvcC1hbGlnbmVkIGljb25zIGZyb20gYmVpbmcgcHJpbnRlZC4gU2V0IHRoaXMgdG8gYGZhbHNlYCBpZiB5b3UncmUgY2FsbGluZyB0aGUgbWl4aW4gbXVsdGlwbGUgdGltZXMgb24gdGhlIHNhbWUgZWxlbWVudC5cbkBtaXhpbiBtZW51LWljb25zKCRwb3NpdGlvbjogc2lkZSwgJGJhc2U6IHRydWUpIHtcbiAgQGlmICRiYXNlIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICsgc3BhbiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gc2lkZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWVudS1pY29uLXNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuXG4gICAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZS1kaXJlY3Rpb24oJGdsb2JhbC1yaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgaWNvbnNcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnModG9wLCAkYmFzZTogZmFsc2UpO1xuICAgICAgLy8gTWFrZSB2ZXJ0aWNhbCBtZW51IHdpdGggaWNvbnMgb24gdG9wIHdvcmtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICBhID4gc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gTWVudSB3aXRoIGJvcmRlclxuICAgICYubWVudS1ib3JkZXJlZCB7XG4gICAgICBsaSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZW51LWJvcmRlcjtcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgd2l0aCBiYWNrZ3JvdW5kIGhvdmVyXG4gICAgJi5tZW51LWhvdmVyIHtcbiAgICAgIGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZW51LXRleHQge1xuICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgfVxuXG4gIC8vIEFsaWduIGNlbnRlclxuICAubWVudS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgPiAubWVudSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogdG9wKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbkBtaXhpbiBsZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogMS41cmVtO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSBsZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSBsZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbiAgICAvLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICVyZXZlYWwtY2VudGVyZWQge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtZWxlbWVudC1uZXN0aW5nLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogMCkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJlthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZBUklBQkxFU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRsb2dvLXJiLXZlcnNpb246IGRhcmsgIWRlZmF1bHQ7Ly8gRm9uZCBmb25jw6kgPSBsaWdodCAvIEZvbmQgY2xhaXIgPSBkYXJrXG4kaW5jbHVkZS1odG1sLXRleHQtY29sb3ItY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDsgLy8gdmFyaWFudGUgZGUgY291bGV1cnMgZGUgdGV4dGVcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdFTkVSQUxcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5ib2R5IHtcblx0bGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbn1cblxuLmNocm9tZWZyYW1lIHtcbiAgIGJhY2tncm91bmQ6ICNGREYyQUI7XG4gICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjQTI5MzMwO1xuICAgY29sb3I6ICMwMDA7XG4gICBmb250LXNpemU6MTJweDtcbiAgIG1hcmdpbjogMDtcbiAgIHBhZGRpbmc6IDVweCAzNnB4IDVweCA0MHB4O1xuICAgdGV4dC1hbGlnbjpjZW50ZXI7XG5cdGEge2NvbG9yOiNlMjU2MDA7IHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fVxufVxuXG4vLyBJTUcgKyBmaWd1cmVcbi8vIC0tLS0tLS0tLS0tLVxuaW1nLFxuZmlndXJlIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0Ji5hbGlnbmxlZnQsXG5cdFx0Ji5hbGlnbmNlbnRlcixcblx0XHQmLmFsaWducmlnaHQge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW46IDAgYXV0byAxcmVtO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdCYuYWxpZ25sZWZ0IHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWFyZ2luOiAwIDFyZW0gMXJlbSAwO1xuXHRcdH1cblx0XHQmLmFsaWducmlnaHQge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0bWFyZ2luOiAwIDAgMXJlbSAxcmVtO1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcblx0XHR9XG5cdFx0Ji5hbGlnbmNlbnRlciB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbjogMCBhdXRvIDFyZW07XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHR9XG59XG5cbi8vIEZpZ3VyZVxuLy8gLS0tLS0tLS0tLS0tXG5maWd1cmUge1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRpbWcge1xuXHRcdCYuYWxpZ25sZWZ0LFxuXHRcdCYuYWxpZ25yaWdodCxcblx0XHQmLmFsaWduY2VudGVyIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdH1cblx0fVxuXHRmaWdjYXB0aW9uIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRwYWRkaW5nLXRvcDogNXB4O1xuXHRcdGNvbG9yOiBzY2FsZS1jb2xvcigkYm9keS1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzMCUpXG5cdH1cbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRZUE9HUkFQSFlcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5hLCAudHJhbnNpdGlvbi1hbGwge3RyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlLWluLW91dDt9XG5cbi5oMS1zaXplLCBcbi5oMi1zaXplLCBcbi5oMy1zaXplLCBcbi5oNC1zaXplLCBcbi5oNS1zaXplLCBcbi5oNi1zaXplIHtcblx0Y29sb3I6ICRibGFjaztcblx0Zm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG5cdGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuXHRmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG59XG5cbi8vIEhlYWRpbmcgc3R5bGVzXG5AZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICRsaW5lLWhlaWdodC1iYXNlOiAxcmVtICogJGhlYWRlci1saW5laGVpZ2h0O1xuICAgICAgJG1hcmdpbi10b3A6IDA7XG4gICAgICAkbWFyZ2luLWJvdHRvbTogdW5pdGxlc3MtY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgI3skaGVhZGVyfSxcbiAgICAgIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgIH1cbiAgXHRcdFx0XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgXHRsaW5lLWhlaWdodDogY2VpbCgkZm9udC1zaXplLXRlbXAgLyAkbGluZS1oZWlnaHQtYmFzZSArIHJlbS1jYWxjKDEwKSk7XG4gICAgICAgIH1cbiAgICAgICAgXG5cdFx0XHQkbWFyZ2luLWJvdHRvbTogJGhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgJG1hcmdpbi10b3A6IG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKTtcbiAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgJG1hcmdpbi10b3A6IG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCk7XG4gICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICRtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgIG1hcmdpbi10b3A6ICRsaW5lLWhlaWdodC1iYXNlICogJG1hcmdpbi10b3A7XG5cdFx0XHRcblxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgJG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKTtcblx0XG4gICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICRtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpO1xuICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAkbWFyZ2luLWJvdHRvbTogJGhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtYmFzZSAqIHVuaXRsZXNzLWNhbGMoJG1hcmdpbi1ib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcblx0c21hbGwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuXHRcdH1cblx0fVxufVxuXG5cbnVsLCBvbCB7XG5cdG1hcmdpbi1sZWZ0OiAkbGlzdC1zaWRlLW1hcmdpbjtcblx0bGkge3BhZGRpbmctYm90dG9tOiAzcHg7fVxufVxuXG5wICsgdWwsIFxucCArIG9sIHtcblx0bWFyZ2luLXRvcDogLSgkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gLyAxLjIpO1xufVxuXG4udGV4dC11cHBlciB7dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTt9XG4vLyB2YXJpYW50ZSBkZSBjb3VsZXVycyBkZSB0ZXh0ZVxuQGlmICRpbmNsdWRlLWh0bWwtdGV4dC1jb2xvci1jbGFzc2VzID09IHRydWUge1xuXHRAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgICAmLnRleHQtI3skbmFtZX0tY29sb3Ige1xuICAgICAgICAgICBcdGNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFRleHRlIGxhcmdlXG4ubGVhZCB7XG5cdCRsZWFkLXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuXHRAaWYgJGdsb2JhbC1mb250LXNpemUgPT0gMTAwJSB7XG5cdFx0JGxlYWQtc2l6ZTogMTZweDtcblx0fSBcblx0XG5cdCYsIHAsIHVsLCBvbCB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygkbGVhZC1zaXplICsgNSk7XG5cdH1cbn1cblxuXG4vLyBtZXNzYWdlIChhbGVydC1ib3gpXG4uY2FsbG91dCB7XG5cdHVsLHAge1xuXHRcdCY6bGFzdC1jaGlsZCB7bWFyZ2luLWJvdHRvbTogMDt9XG5cdH1cbn1cblxuXG4vLyBsb2dvIHJhaW5ib3dcbiNyYWluYm93IHtcblx0QGluY2x1ZGUgcmV0aW5hLWltYWdlKCcuLi9pbWcvc2lnbmF0dXJlLXJhaW5ib3ctI3skbG9nby1yYi12ZXJzaW9ufScsIDE0MXB4IDQ2cHgpO1xuXHRAaW5jbHVkZSBzaXplKDE0MXB4LCAyM3B4KTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IGF1dG87XG5cdG1hcmdpbjogNXB4IGF1dG87XG5cdHRleHQtaW5kZW50OiAtOTAwMGVtO1xuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTtcblx0fVxufSIsIkBtaXhpbiB2ZXJ0aWNhbC1hbGlnbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbiV2ZXJ0aWNhbC1hbGlnbiB7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWFsaWduKClcbn1cblxuXG5AbWl4aW4gdmVydGljYWwtcmh5dGhtKCRmb250LXNpemUsICR0b3Atcm93czogMCwgJGJvdHRvbS1yb3dzOiAxLCAkdXNlLWhlaWdodDogZmFsc2UsICRib3JkZXI6IDByZW0pIHtcbiAgLy8gSSB1c2UgYSByZW0gZnVuY3Rpb24gdGhhdCBlbmFibGVzIG1lIHRvIHBhc3MgaW4gdGhlICRmb250LXNpemUgYW5kICRib3JkZXJcbiAgLy8gYXMgcmVtcyBvciBweCwgYW5kIHRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uIHdpbGwgZ2l2ZSBtZSByZW1zXG4gICRsaW5lLWhlaWdodC1iYXNlOiAxcmVtICogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAkZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAkYm9yZGVyOiByZW0tY2FsYygkYm9yZGVyKTtcbiAgJG11bHRpcGxpZXI6IGNlaWwoJGZvbnQtc2l6ZSAvICRsaW5lLWhlaWdodC1iYXNlICsgcmVtLWNhbGMoMTApKTtcblxuICAvLyBjaGVjayBpZiBoZWlnaHQtYmFzZWQgZWxlbWVudFxuICAvLyBpZiBzbyB1c2UgaGVpZ2h0IHByb3BlcnR5IGZvciBoZWlnaHQsIG90aGVyd2lzZSB1c2UgbGluZS1oZWlnaHQgcHJvcGVydHlcbiAgQGlmICR1c2UtaGVpZ2h0IHtcbiAgICAkbGVmdG92ZXI6ICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgKiAkbXVsdGlwbGllciAtICRmb250LXNpemU7XG4gICAgaGVpZ2h0OiAgICAgICAgICRmb250LXNpemU7XG4gICAgbWFyZ2luLXRvcDogICAgICRsaW5lLWhlaWdodC1iYXNlICogJHRvcC1yb3dzICsgJGxlZnRvdmVyIC8gMjtcbiAgICBtYXJnaW4tYm90dG9tOiAgJGxpbmUtaGVpZ2h0LWJhc2UgKiAkYm90dG9tLXJvd3MgKyAkbGVmdG92ZXIgLyAyO1xuICB9XG4gIEBlbHNlIHsgLy8gdGV4dCBiYXNlZCBlbGVtZW50ICh1c2VzIGxpbmUtaGVpZ2h0KVxuICAgIGZvbnQtc2l6ZTogICAgICAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAgICAkbXVsdGlwbGllcjtcbiAgICBtYXJnaW4tdG9wOiAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgKiAkdG9wLXJvd3M7XG4gICAgbWFyZ2luLWJvdHRvbTogICRsaW5lLWhlaWdodC1iYXNlICogJGJvdHRvbS1yb3dzIC0gJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gcmV0aW5hLWltYWdlKCRmaWxlbmFtZSwgJGJhY2tncm91bmQtc2l6ZSwgJGV4dGVuc2lvbjogJ3BuZycpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlbmFtZSArICcuJyArICRleHRlbnNpb24pO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHJldGluYSkge1xuICAgICYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlbmFtZSArICdfMnguJyArICRleHRlbnNpb24pO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAkYmFja2dyb3VuZC1zaXplO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG4iLCIvLyBHZW5lcmF0ZWQgYnkgZ3VscC1pY29uZm9udCBcbi8vIEJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9lbmR0d2lzdC9mb250Y3VzdG9tL2Jsb2IvbWFzdGVyL2xpYi9mb250Y3VzdG9tL3RlbXBsYXRlcy9mb250Y3VzdG9tLmNzc1xuLy8gaHR0cDovL2pheWRlbnNlcmljLmNvbS9ibG9nL2ZvbnQtaWNvbnMtbGlrZS1hLWJvc3Mtd2l0aC1zYXNzLWFuZC1mb250LWN1c3RvbSBcblxuXG4vLyBEZWNsYXJlIGljb24gZm9udFxuQGluY2x1ZGUgZm9udC1mYWNlKCdpY29uZm9udCcsICcuLi9mb250cy9pY29uZm9udCcsICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmIHR0ZiBzdmcpO1xuXG5cbi8vIExpc3QgaWNvbnNcblxuJGljb25zOiAoXG4gICAgXG4gICAgICAgIGNyb3NzOiBcIlxcRUEwMVwiLFxuICAgICAgICBwbHVzOiBcIlxcRUEwMlwiLFxuICAgICAgICBzdG9ja2FnZTogXCJcXEVBMDNcIixcbiAgICAgICAgc3RvY2thZ2UtYWx0OiBcIlxcRUEwNFwiLFxuICAgICAgICBzbm93Zmxha2U6IFwiXFxFQTA1XCIsXG4gICAgICAgIHRydWNrOiBcIlxcRUEwNlwiLFxuICAgICAgICBwZW9wbGU6IFwiXFxFQTA3XCIsXG4gICAgICAgIGNoZWNrbWFyazogXCJcXEVBMDhcIixcbiAgICAgICAgdGh1bWItdXA6IFwiXFxFQTA5XCIsXG4gICAgICAgIHRyZWU6IFwiXFxFQTBBXCIsXG4gICAgICAgIGdsYXNzOiBcIlxcRUEwQlwiLFxuICAgICAgICBhcnJvdy1yaWdodDogXCJcXEVBMENcIixcbiAgICAgICAgYXJyb3ctbGVmdDogXCJcXEVBMERcIixcbiAgICAgICAgY29udGFjdDogXCJcXEVBMEVcIixcbiAgICAgICAgaG91cnM6IFwiXFxFQTBGXCIsXG4gICAgICAgIHJhdGU6IFwiXFxFQTEwXCIsXG4gICAgICAgIGRlbGl2ZXJ5OiBcIlxcRUExMVwiLFxuICAgICAgICBjb250YWN0czogXCJcXEVBMTJcIixcbiAgICAgICAgYXJyb3ctZG93bjogXCJcXEVBMTNcIixcbiAgICAgICAgcGxheTogXCJcXEVBMTRcIixcbiAgICAgICAgYmlnLWFycm93OiBcIlxcRUExNVwiLCBcbik7XG5cbi8vIFVzZSB0byBhcHBseSBpY29uc1xuQG1peGluIGljb24oJHBvc2l0aW9uOiBiZWZvcmUsICRpY29uOiBmYWxzZSwgJHN0eWxlczogdHJ1ZSkge1xuICAgIEBpZiAkcG9zaXRpb24gPT0gYm90aCB7XG4gICAgICAgICRwb3NpdGlvbjogJ2JlZm9yZSwgJjphZnRlcic7XG4gICAgfVxuICAgICY6I3skcG9zaXRpb259IHtcbiAgICAgICAgQGlmICRpY29uIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3ttYXAtZ2V0KCRpY29ucywgJGljb24pfVwiO1xuICAgICAgICB9XG4gICAgICAgIC8vIEVpdGhlciBhIDpiZWZvcmUgb3IgOmFmdGVyIHBzZXVkby1lbGVtZW50LCBvciBib3RoLCBkZWZhdWx0aW5nIHRvIDpiZWZvcmVcbiAgICAgICAgQGlmICRzdHlsZXMge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29uZm9udCc7XG4gICAgICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB0ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLyBTZXQgdGhlIHJlcXVpcmVkIHN0eWxlcyBvbiBhbGwgaWNvbnNcbltjbGFzc149XCJpY29uLVwiXSxcbltjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgIEBpbmNsdWRlIGljb247XG59XG5cbi8vIFNldHVwIGEgY2xhc3MgbmFtZSBmb3IgZWFjaCBpY29uXG5AZWFjaCAkbmFtZSwgJGNoYXIgaW4gJGljb25zIHtcbiAgICAuaWNvbi0jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24oYmVmb3JlLCAkbmFtZSwgZmFsc2UpO1xuICAgICAgICAvLyBjb250ZW50OiAkY2hhcjtcbiAgICB9XG59IiwiLyogVG8gYmUgdXNlZCB3aXRoIGNvb2tpZUN1dHRyIGJ5IENocmlzIFdoYXJ0b24gKGh0dHA6Ly9jb29raWVjdXR0ci5jb20pICovXG5cbi5jYy1jb29raWVzIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwgMC44NSk7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk5OTk7XG4gIGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmNjLW92ZXJsYXkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAyNSU7XG59XG5cbi5jYy1jb29raWVzLWVycm9yIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA5MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAxZW0gMCAyZW0gMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMmVtIDUlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uY2MtY29va2llcyBhLmNjLWNvb2tpZS1hY2NlcHQsIFxuLmNjLWNvb2tpZXMtZXJyb3IgYS5jYy1jb29raWUtYWNjZXB0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIEBpbmNsdWRlIGJ1dHRvbigkYmFja2dyb3VuZDokc3VjY2Vzcy1jb2xvcik7XG4gIC8vIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDAgMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmNjLWNvb2tpZXMgYSB7XG4gICYuY2MtY29va2llLXJlc2V0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICM3REFGM0I7XG4gICAgcGFkZGluZzogMC41ZW0gMC43NWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjVzIGVhc2UtaW47XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzIGVhc2UtaW47XG4gICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzIGVhc2UtaW47XG4gIH1cbiAgJi5jYy1jb29raWUtcmVzZXQge1xuICAgIGJhY2tncm91bmQ6ICNmMTViMDA7XG4gIH1cbn1cblxuLmNjLWNvb2tpZXMtZXJyb3IgYS5jYy1jb29raWUtZGVjbGluZSB7XG4gIGJhY2tncm91bmQ6ICNhZjNiM2I7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbn1cblxuLmNjLWNvb2tpZXMtZXJyb3IgYSB7XG4gICYuY2MtY29va2llLWFjY2VwdCwgXG4gICYuY2MtY29va2llLWRlY2xpbmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgfVxufVxuXG4uY2MtY29va2llcy5jYy1kaXNjcmVldCB7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gIGxlZnQ6IGF1dG87XG4gIHRvcDogYXV0bztcbiAgYSB7XG4gICAgJi5jYy1jb29raWUtcmVzZXQge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgICAmOmhvdmVyLmNjLWNvb2tpZS1yZXNldCB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgLmNjLWNvb2tpZXMgYS5jYy1jb29raWUtYWNjZXB0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxufVxuIiwiLyogXG4qICBPd2wgQ2Fyb3VzZWwgLSBBbmltYXRlIFBsdWdpblxuKi9cbi5vd2wtY2Fyb3VzZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC5hbmltYXRlZCB7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgfVxuXG4gICAgLm93bC1hbmltYXRlZC1pbiB7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuICAgIC5vd2wtYW5pbWF0ZWQtb3V0IHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgLmZhZGVJbiB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gICAgfVxuICAgIC5mYWRlT3V0IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gICAgfVxuICAgIC56b29tSW4ge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogem9vbUluO1xuICAgIH1cbiAgICAuem9vbU91dCB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xuICAgIH1cbiAgICAuZmFkZU91dExlZnQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gICAgfVxufVxuQGtleWZyYW1lcyB6b29tSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06c2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06c2NhbGUzZCguMywgLjMsIC4zKTtcblxuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfVxufVxuXG5cbi5vd2wtY2Fyb3VzZWwgZmlndXJlIGZpZ2NhcHRpb24sXG4ub3dsLWNhcm91c2VsIGZpZ3VyZSBmaWdjYXB0aW9uID4gYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcblxufVxuXG4vKiBBbmNob3Igd2lsbCBjb3ZlciB0aGUgd2hvbGUgaXRlbSBieSBkZWZhdWx0ICovXG4vKiBGb3Igc29tZSBlZmZlY3RzIGl0IHdpbGwgc2hvdyBhcyBhIGJ1dHRvbiAqL1xuLm93bC1jYXJvdXNlbCBmaWd1cmUgZmlnY2FwdGlvbiA+IGEge1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgdGV4dC1pbmRlbnQ6IDIwMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6MTAwJTtcblxufVxuXG4vKiBcbiogIENvcmUgT3dsIENhcm91c2VsIENTUyBGaWxlXG4qL1xuXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTtcbn1cbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZTphZnRlciB7XG4gICAgY29udGVudDogXCIuXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGhlaWdodDogMDtcbn1cbi5vd2wtY2Fyb3VzZWwgLm93bC1jb250cm9scyAub3dsLW5hdiAub3dsLXByZXYsXG4ub3dsLWNhcm91c2VsIC5vd2wtY29udHJvbHMgLm93bC1uYXYgLm93bC1uZXh0LFxuLm93bC1jYXJvdXNlbCAub3dsLWNvbnRyb2xzIC5vd2wtZG90IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG59XG4ub3dsLWNhcm91c2VsLm93bC1sb2FkZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLm93bC1jYXJvdXNlbC5vd2wtbG9hZGluZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5vd2wtY2Fyb3VzZWwub3dsLWhpZGRlbiB7XG4gICAgb3BhY2l0eTogMDtcbn1cbi5vd2wtY2Fyb3VzZWwgLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuLm93bC1jYXJvdXNlbC5vd2wtdGV4dC1zZWxlY3Qtb24gLm93bC1pdGVtIHtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBhdXRvO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IGF1dG87XG4gICAgLW1zLXVzZXItc2VsZWN0OiBhdXRvO1xuICAgIHVzZXItc2VsZWN0OiBhdXRvO1xufVxuLm93bC1jYXJvdXNlbCAub3dsLWdyYWIge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgICBjdXJzb3I6IC1vLWdyYWI7XG4gICAgY3Vyc29yOiAtbXMtZ3JhYjtcbiAgICBjdXJzb3I6IGdyYWI7XG59XG4ub3dsLWNhcm91c2VsLm93bC1ydGwge1xuICAgIGRpcmVjdGlvbjogcnRsO1xufVxuLm93bC1jYXJvdXNlbC5vd2wtcnRsIC5vd2wtaXRlbSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vKiBObyBKcyAqL1xuLm5vLWpzIC5vd2wtY2Fyb3VzZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4iLCIuaGFtYnVyZ2VyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIC5oYW1idXJnZXI6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgIC5oYW1idXJnZXI6Zm9jdXN7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuLmhhbWJ1cmdlci1ib3gge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogMTNweDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgIG1hcmdpbi10b3A6IDlweDtcbiAgfVxufVxuXG4uaGFtYnVyZ2VyLWlubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsgfVxuICAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAtMTBweDsgfVxuICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAtMTBweDsgfVxuLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXIge1xuICB0b3A6IDJweDsgfVxuICAuaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDhweDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IDE2cHg7IH1cblxuLmhhbWJ1cmdlci0tc2xpZGVyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSByb3RhdGUoNDVkZWcpOyB9XG4gIC5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKC01LjcxNDI5cHgsIC02cHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgcm90YXRlKC05MGRlZyk7IFxuICAgIHRvcDogMjBweH0iXX0= */
